Age | Commit message (Collapse) | Author |
|
Was missed in #36393 because no `callable_mp()` calls were actually
compiled with `tools=no` in that PR.
Also work around GCC warning that also affects the
`call_with_variant_args_ret_helper` variant.
|
|
|
|
Store arrays inside of Variant as shared.
|
|
Arrays inside of Variant are unique and use reference counting.
When you assign a variant containing a packed array to another, or
when you call non const functions to arrays, this will work even
if the array is inside a dictionary, so they will from now pass
as reference.
The difference with regular variant arrays is that, once passed
to a function in the C++ API, they are no longer shared. This is
required for security and thread safety, as those arrays are
mainly used to pass data back and forth even between threads.
|
|
Fix: auto brace complete for quoted strings
|
|
Fix crash after closing a GDScript LSP session
|
|
SCons: Add GCC/Clang minimum version check
|
|
Prevent using GCC 8 as it does not properly support C++17's
guaranteed copy elision which we now need.
(Upstream bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86521)
Follow-up to #36457 and #36436.
|
|
|
|
Fix Breakpoint compare in new Debugger.
|
|
Only used to keep the hashmap, but clearly bogus.
|
|
Fix suspicious | and + operators
|
|
|
|
Added tween support for Rect2
|
|
Replace FALLTHROUGH macro by C++17 [[fallthrough]]
|
|
Fixes #34575
|
|
Add support for Vector2i, Rect2i and Vector3i to Variant
|
|
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.
Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.
Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
|
|
WARNING: Requires C++17 'guaranteed copy elision' to fix ambiguous
operator problems in Variant.
This was added for this commit (and future C++17 uses) in #36457.
|
|
Remove extra margin in the top of the debugger
|
|
SCons: Ensure that MSVC gets /std:c++17 in CCFLAGS
|
|
Travis: Use Xcode 11.3 for macOS/iOS
|
|
|
|
Xcode 10+ is needed for exhaustive C++17 support (gnu++17).
11.3 is the latest available version on Travis, and we don't have a
specific reason not to use it.
Follow-up to #36457.
|
|
We were running this logic too early, so `env.msvc` was not initialized
yet and MSVC used the same branch as GCC/Clang.
|
|
SCons: Bump required C++ standard to C++17
|
|
It's now available and allows us to have a better default environment,
with GCC 7.4.0 and Clang 7.
We now need GCC 7+ for C++17 support so it's more efficient to upgrade
the image than to install it on Ubuntu 16.04 (xenial).
Also fixes a couple -Wdeprecated-declarations warnings on macOS now
that we build against macOS 10.12.
|
|
As per #36436, we now need C++17's guaranteed copy elision feature to
solve ambiguities in Variant.
Core developers discussed the idea to move from C++14 to C++17 as our
minimum required C++ standard, and all agreed. Note that this doesn't
mean that Godot is going to be written in "modern C++", but we'll use
modern features where they make sense to simplify our "C with classes"
codebase. Apart from new code written recently, most of the codebase
still has to be ported to use newer features where relevant.
Proper support for C++17 means that we need recent compiler versions:
- GCC 7+
- Clang 6+
- VS 2017 15.7+
Additionally, C++17's `std::shared_mutex` (conditionally used by
`vk_mem_alloc.h` when C++17 support is enabled) is only available in
macOS 10.12+, so we increase our minimum supported version.
|
|
Fix visuals of the new debugger editor
|
|
|
|
Vulkan: Work around false positive on 64-bit Linux w/ 32-bit ICDs
|
|
Correct condition wrongly converted to ERR_FAIL_COND_MSG
|
|
Fixes debugging of giprobes not working, likely other stuff
|
|
doc: Sync classref with apparent Variant return type changes
|
|
In the vast majority of cases, this will be a false positive error
thrown by Vulkan-Loader when a Linux system has Vulkan ICDs for both
32-bit and 64-bit. The error is of the form:
```
ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
```
The loader dlopen's the 32-bit ICDs first, raises this error, and then
happily goes on to try and use the 64-bit ICDs.
Upstream report: https://github.com/KhronosGroup/Vulkan-Loader/issues/262
Fixes #36185.
|
|
Part of those seem bogus, methods like Array.back()/front()
should return a Variant and not void.
|
|
|
|
Remove unused theme constants in Tab(Container)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes #36002
|
|
Refactor node processing in visual shader member dialog
|
|
Added StringName as a variant type.
|
|
|
|
New callable_mp macro, for signals to call method pointers directly.
|