srctree

Robin Linden parent 79beaaa0 8489504a
build: Target C++23

inlinesplit
.bazelrc added: 13, removed: 6, total 7
@@ -20,7 +20,7 @@ build --incompatible_enable_cc_toolchain_resolution
# not relying on transitive dependencies, so let's enable that!
build:linux --features=layering_check
 
build:linux --cxxopt='-std=c++20'
build:linux --cxxopt='-std=c++2b'
build:linux --cxxopt='-fno-rtti'
 
# Force DWARF-4 format for debug symbols for compatibility with valgrind.
@@ -28,7 +28,7 @@ build:linux --cxxopt='-fno-rtti'
build:linux --copt='-gdwarf-4'
 
build:windows --enable_runfiles
build:windows --cxxopt='/std:c++20'
build:windows --cxxopt='/std:c++latest'
build:windows --cxxopt='/GR-' # Disable rtti.
build:windows --copt='/permissive-' # Conform to the standard.
build:windows --copt='/Zc:__cplusplus' # Report the real supported C++ version, not just C++98.
 
.clang-tidy added: 13, removed: 6, total 7
@@ -1,4 +1,10 @@
---
# -clang-analyzer-cplusplus.NewDeleteLeaks: Lots of false positives w/
# -std=c++2b when calling std::make_shared in the JS AST.
# js/ast_executor_test.cpp:176:5: error: Potential leak of memory pointed to by
# field '_M_pi' [clang-analyzer-cplusplus.NewDeleteLeaks,-warnings-as-errors]
# Very similar call stack to https://github.com/llvm/llvm-project/issues/55219
#
# -clang-analyzer-optin.cplusplus.UninitializedObject: Triggered by libfmt
# format strings on the line we instantiate them.
#
@@ -10,6 +16,7 @@
# -misc-non-private-member-variables-in-classes: TODO(robinlinden): Fix.
Checks: >
misc-*,
-clang-analyzer-cplusplus.NewDeleteLeaks,
-clang-analyzer-optin.cplusplus.UninitializedObject,
-clang-diagnostic-builtin-macro-redefined,
-misc-no-recursion,
 
README.md added: 13, removed: 6, total 7
@@ -9,7 +9,7 @@
#### Compiler
 
Right now GCC 11, Clang 14, and MSVC are tested against. The project makes use
of C++20 features, so a reasonably recent compiler is required.
of C++23 features, so a reasonably recent compiler is required.
 
#### Build system