Commit f9956fa
committed
C++26 support: build flags, headers, parser features
Build:
- CppBuild.java: -std=c++20 -> -std=c++2c (GCC C++26 draft flag)
- generate_plugandplay.py: -std=c++17 -> -std=c++2c throughout
- generate_cmake.py: CMAKE_CXX_STANDARD 17 -> 26
Processing.h:
- C++23 headers: <expected>, <flat_map>, <flat_set>, <generator>,
<print>, <spanstream>, <stacktrace> guarded by __cplusplus >= 202302L
- C++26 headers: <inplace_vector>, <function_ref>, <hazard_pointer>
guarded by __has_include and __cplusplus > 202302L
Parser:
- if consteval: C++23 immediate-function context check now parsed;
emitted as if constexpr(true) for runtime compatibility
- = delete("reason"): C++26 optional string message on deleted
functions now consumed
CppBuild:
- C++23/26 using declarations added to generated preamble:
std::expected, std::unexpected, std::print, std::println,
std::inplace_vector (all guarded by __cplusplus version checks)1 parent f761fcb commit f9956fa
25 files changed
Lines changed: 18747 additions & 30333 deletions
File tree
- dist
- mode
- scripts
- src
- java
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file was deleted.
Binary file not shown.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
297 | 297 | | |
298 | 298 | | |
299 | 299 | | |
300 | | - | |
| 300 | + | |
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
| |||
321 | 321 | | |
322 | 322 | | |
323 | 323 | | |
324 | | - | |
| 324 | + | |
325 | 325 | | |
326 | 326 | | |
327 | 327 | | |
| |||
0 commit comments