]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
d: Add C++23 to CppStdRevision enum
authorIain Buclaw <ibuclaw@gdcproject.org>
Sat, 22 Mar 2025 09:42:21 +0000 (10:42 +0100)
committerIain Buclaw <ibuclaw@gdcproject.org>
Sat, 22 Mar 2025 09:55:13 +0000 (10:55 +0100)
D front-end changes:

- The compiler now accepts `-fextern-std=c++23'

gcc/d/ChangeLog:

* dmd/MERGE: Merge upstream dmd 94950cae58.
* d-lang.cc (d_handle_option): Add case for CppStdRevisionCpp23.
* gdc.texi: Document -fextern-std=c++23.
* lang.opt (fextern-std=): Add c++23.

libphobos/ChangeLog:

* libdruntime/MERGE: Merge upstream druntime 94950cae58.

Reviewed-on: https://github.com/dlang/dmd/pull/21043

gcc/d/d-lang.cc
gcc/d/dmd/MERGE
gcc/d/dmd/globals.d
gcc/d/dmd/globals.h
gcc/d/gdc.texi
gcc/d/lang.opt
libphobos/libdruntime/MERGE
libphobos/libdruntime/core/stdcpp/xutility.d

index 21f46ffb6aa8f078285267428d183e54d4f49957..b3786be3c90531f98032f76fb0a17cf3483d637f 100644 (file)
@@ -510,6 +510,7 @@ d_handle_option (size_t scode, const char *arg, HOST_WIDE_INT value,
        case CppStdRevisionCpp14:
        case CppStdRevisionCpp17:
        case CppStdRevisionCpp20:
+       case CppStdRevisionCpp23:
          global.params.cplusplus = (CppStdRevision) value;
          break;
 
index f274580f2d60a8b6fdbccbb4475de05425db06e6..9982d0dd83ef50b3f19118aab4bedcb6454d8aea 100644 (file)
@@ -1,4 +1,4 @@
-8db14cf8467ca25256904d51169b176c9c89afb1
+94950cae582d89f5ba2720786522f669f620f9d1
 
 The first line of this file holds the git revision number of the last
 merge done from the dlang/dmd repository.
index 4a637b519c9a46b879372e4d9655365782c893c9..900c554e5f45b6f1f4779657b11c4b148e61ba4f 100644 (file)
@@ -62,6 +62,7 @@ enum CppStdRevision : uint
     cpp14 = 2014_02,
     cpp17 = 2017_03,
     cpp20 = 2020_02,
+    cpp23 = 2023_02,
 }
 
 /// Trivalent boolean to represent the state of a `revert`able change
index cdb0663b18d1baea9e94fb138ff305eeb9fb2a47..69fe709f4b0af664334e5a9a4e686bd142fc7b65 100644 (file)
@@ -73,7 +73,8 @@ enum CppStdRevision
     CppStdRevisionCpp11 = 201103,
     CppStdRevisionCpp14 = 201402,
     CppStdRevisionCpp17 = 201703,
-    CppStdRevisionCpp20 = 202002
+    CppStdRevisionCpp20 = 202002,
+    CppStdRevisionCpp23 = 202302,
 };
 
 /// Trivalent boolean to represent the state of a `revert`able change
index 1a84d6dc4517eb0adc821b87f5d294ba9a2fc9b3..2cb0c4a62676a7535fc42ddbd4546fdb74f19ccb 100644 (file)
@@ -273,6 +273,8 @@ Sets @code{__traits(getTargetInfo, "cppStd")} to @code{201703}.
 This is the default.
 @item c++20
 Sets @code{__traits(getTargetInfo, "cppStd")} to @code{202002}.
+@item c++23
+Sets @code{__traits(getTargetInfo, "cppStd")} to @code{202302}.
 @end table
 
 @opindex finvariants
index f769a71aee81deff9bebdfc03824adcca68d2131..50c6f2f4da4d9c8b81cb421ee4a526f0f53b74a5 100644 (file)
@@ -320,6 +320,9 @@ Enum(extern_stdcpp) String(c++17) Value(201703)
 EnumValue
 Enum(extern_stdcpp) String(c++20) Value(202002)
 
+EnumValue
+Enum(extern_stdcpp) String(c++23) Value(202302)
+
 fignore-unknown-pragmas
 D
 Ignore unsupported pragmas.
index 18c9d1190cedadcc8cfe4c735e580db16e5e2e0a..9982d0dd83ef50b3f19118aab4bedcb6454d8aea 100644 (file)
@@ -1,4 +1,4 @@
-d2ee11364c25ca8865eb0acb9596a6147532ef41
+94950cae582d89f5ba2720786522f669f620f9d1
 
 The first line of this file holds the git revision number of the last
 merge done from the dlang/dmd repository.
index 5e2e711ba67bf8dff123989779fe83eced2b728d..f93df68debafedeac2e02b771e19af0dd4012677 100644 (file)
@@ -35,6 +35,7 @@ enum CppStdRevision : uint
     cpp14 = 201402,
     cpp17 = 201703,
     cpp20 = 202002,
+    cpp23 = 202302,
 }
 
 /**