diff --git a/gcc/testsuite/gcc.dg/c23-version-1.c b/gcc/testsuite/gcc.dg/c23-version-1.c
new file mode 100644
index 0000000000000000000000000000000000000000..2145f97429737e53fd618ac90bdd13f54717fac7
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/c23-version-1.c
@@ -0,0 +1,9 @@
+/* Test __STDC_VERSION__ for C23.  Test -std=c23.  */
+/* { dg-do compile } */
+/* { dg-options "-std=c23 -pedantic-errors" } */
+
+#if __STDC_VERSION__ == 202311L
+int i;
+#else
+#error "Bad __STDC_VERSION__."
+#endif
diff --git a/gcc/testsuite/gcc.dg/c23-version-2.c b/gcc/testsuite/gcc.dg/c23-version-2.c
new file mode 100644
index 0000000000000000000000000000000000000000..3d44b7324c9bdd6b42e3cece8723c39c70c75fe3
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/c23-version-2.c
@@ -0,0 +1,9 @@
+/* Test __STDC_VERSION__ for C23.  Test -std=iso9899:2024.  */
+/* { dg-do compile } */
+/* { dg-options "-std=iso9899:2024 -pedantic-errors" } */
+
+#if __STDC_VERSION__ == 202311L
+int i;
+#else
+#error "Bad __STDC_VERSION__."
+#endif
diff --git a/gcc/testsuite/gcc.dg/gnu23-version-1.c b/gcc/testsuite/gcc.dg/gnu23-version-1.c
new file mode 100644
index 0000000000000000000000000000000000000000..649f13b54ec5986a6235be468347900fc0512e53
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/gnu23-version-1.c
@@ -0,0 +1,9 @@
+/* Test __STDC_VERSION__ for C23 with GNU extensions.  Test -std=gnu23.  */
+/* { dg-do compile } */
+/* { dg-options "-std=gnu23 -pedantic-errors" } */
+
+#if __STDC_VERSION__ == 202311L
+int i;
+#else
+#error "Bad __STDC_VERSION__."
+#endif