Commit 02b7a8e
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 f9956fa commit 02b7a8e
9 files changed
Lines changed: 4454 additions & 0 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
28 | 44 | | |
29 | 45 | | |
30 | 46 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1110 | 1110 | | |
1111 | 1111 | | |
1112 | 1112 | | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
1113 | 1131 | | |
1114 | 1132 | | |
1115 | 1133 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1100 | 1100 | | |
1101 | 1101 | | |
1102 | 1102 | | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
1103 | 1121 | | |
1104 | 1122 | | |
1105 | 1123 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1106 | 1106 | | |
1107 | 1107 | | |
1108 | 1108 | | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
1109 | 1115 | | |
1110 | 1116 | | |
1111 | 1117 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1100 | 1100 | | |
1101 | 1101 | | |
1102 | 1102 | | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
1103 | 1109 | | |
1104 | 1110 | | |
1105 | 1111 | | |
| |||
0 commit comments