diff --git a/gcc/ginclude/float.h b/gcc/ginclude/float.h index bc5439d664f..172b9de477f 100644 --- a/gcc/ginclude/float.h +++ b/gcc/ginclude/float.h @@ -624,4 +624,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #endif /* __DEC32_MANT_DIG__ */ +#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L +#define __STDC_VERSION_FLOAT_H__ 202311L +#endif + #endif /* _FLOAT_H___ */ diff --git a/gcc/ginclude/stdarg.h b/gcc/ginclude/stdarg.h index c704c9ffcf2..5149f7b3f4f 100644 --- a/gcc/ginclude/stdarg.h +++ b/gcc/ginclude/stdarg.h @@ -125,6 +125,10 @@ typedef __gnuc_va_list va_list; #endif /* not __svr4__ */ +#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L +#define __STDC_VERSION_STDARG_H__ 202311L +#endif + #endif /* _STDARG_H */ #endif /* not _ANSI_STDARG_H_ */ diff --git a/gcc/ginclude/stdatomic.h b/gcc/ginclude/stdatomic.h index a56ba5d9639..e16b072ccde 100644 --- a/gcc/ginclude/stdatomic.h +++ b/gcc/ginclude/stdatomic.h @@ -248,4 +248,8 @@ extern void atomic_flag_clear (volatile atomic_flag *); extern void atomic_flag_clear_explicit (volatile atomic_flag *, memory_order); #define atomic_flag_clear_explicit(PTR, MO) __atomic_clear ((PTR), (MO)) +#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L +#define __STDC_VERSION_STDATOMIC_H__ 202311L +#endif + #endif /* _STDATOMIC_H */ diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h index 2767edf51de..7980045e712 100644 --- a/gcc/ginclude/stddef.h +++ b/gcc/ginclude/stddef.h @@ -454,6 +454,7 @@ typedef struct { #if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L #define unreachable() (__builtin_unreachable ()) +#define __STDC_VERSION_STDDEF_H__ 202311L #endif #endif /* _STDDEF_H was defined this time */ diff --git a/gcc/ginclude/stdint-gcc.h b/gcc/ginclude/stdint-gcc.h index 6be01ae28b8..eab651d968a 100644 --- a/gcc/ginclude/stdint-gcc.h +++ b/gcc/ginclude/stdint-gcc.h @@ -362,4 +362,8 @@ typedef __UINTMAX_TYPE__ uintmax_t; #endif +#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L +#define __STDC_VERSION_STDINT_H__ 202311L +#endif + #endif /* _GCC_STDINT_H */ diff --git a/gcc/glimits.h b/gcc/glimits.h index 8d74c8b88d6..994f7e33bbe 100644 --- a/gcc/glimits.h +++ b/gcc/glimits.h @@ -156,6 +156,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # define BOOL_MAX 1 # undef BOOL_WIDTH # define BOOL_WIDTH 1 + +# define __STDC_VERSION_LIMITS_H__ 202311L #endif #endif /* _LIMITS_H___ */ diff --git a/gcc/testsuite/gcc.dg/c11-float-8.c b/gcc/testsuite/gcc.dg/c11-float-8.c new file mode 100644 index 00000000000..7fb1e0a5683 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c11-float-8.c @@ -0,0 +1,9 @@ +/* Test __STDC_VERSION_FLOAT_H__ not in C11. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c11 -pedantic-errors" } */ + +#include + +#ifdef __STDC_VERSION_FLOAT_H__ +#error "__STDC_VERSION_FLOAT_H__ defined" +#endif diff --git a/gcc/testsuite/gcc.dg/c11-limits-1.c b/gcc/testsuite/gcc.dg/c11-limits-1.c new file mode 100644 index 00000000000..6dc5737024d --- /dev/null +++ b/gcc/testsuite/gcc.dg/c11-limits-1.c @@ -0,0 +1,9 @@ +/* Test __STDC_VERSION_LIMITS_H__ not in C11. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c11 -pedantic-errors" } */ + +#include + +#ifdef __STDC_VERSION_LIMITS_H__ +#error "__STDC_VERSION_LIMITS_H__ defined" +#endif diff --git a/gcc/testsuite/gcc.dg/c11-stdarg-4.c b/gcc/testsuite/gcc.dg/c11-stdarg-4.c new file mode 100644 index 00000000000..06bff1f0445 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c11-stdarg-4.c @@ -0,0 +1,9 @@ +/* Test __STDC_VERSION_STDARG_H__ not in C11. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c11 -pedantic-errors" } */ + +#include + +#ifdef __STDC_VERSION_STDARG_H__ +#error "__STDC_VERSION_STDARG_H__ defined" +#endif diff --git a/gcc/testsuite/gcc.dg/c11-stdatomic-3.c b/gcc/testsuite/gcc.dg/c11-stdatomic-3.c new file mode 100644 index 00000000000..1f5a71b6219 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c11-stdatomic-3.c @@ -0,0 +1,9 @@ +/* Test __STDC_VERSION_STDATOMIC_H__ not in C11. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c11 -pedantic-errors" } */ + +#include + +#ifdef __STDC_VERSION_STDATOMIC_H__ +#error "__STDC_VERSION_STDATOMIC_H__ defined" +#endif diff --git a/gcc/testsuite/gcc.dg/c11-stddef-1.c b/gcc/testsuite/gcc.dg/c11-stddef-1.c new file mode 100644 index 00000000000..9918d9478c4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c11-stddef-1.c @@ -0,0 +1,9 @@ +/* Test __STDC_VERSION_STDDEF_H__ not in C11. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c11 -pedantic-errors" } */ + +#include + +#ifdef __STDC_VERSION_STDDEF_H__ +#error "__STDC_VERSION_STDDEF_H__ defined" +#endif diff --git a/gcc/testsuite/gcc.dg/c11-stdint-1.c b/gcc/testsuite/gcc.dg/c11-stdint-1.c new file mode 100644 index 00000000000..43fe681c7a5 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c11-stdint-1.c @@ -0,0 +1,9 @@ +/* Test __STDC_VERSION_STDINT_H__ not in C11. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c11 -pedantic-errors -ffreestanding" } */ + +#include + +#ifdef __STDC_VERSION_STDINT_H__ +#error "__STDC_VERSION_STDINT_H__ defined" +#endif diff --git a/gcc/testsuite/gcc.dg/c2x-float-13.c b/gcc/testsuite/gcc.dg/c2x-float-13.c new file mode 100644 index 00000000000..dc54bc734b3 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c2x-float-13.c @@ -0,0 +1,13 @@ +/* Test __STDC_VERSION_FLOAT_H__ in C2x. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c2x -pedantic-errors" } */ + +#include + +#ifndef __STDC_VERSION_FLOAT_H__ +#error "__STDC_VERSION_FLOAT_H__ not defined" +#endif + +#if __STDC_VERSION_FLOAT_H__ != 202311L +#error "bad value of __STDC_VERSION_FLOAT_H__" +#endif diff --git a/gcc/testsuite/gcc.dg/c2x-limits-1.c b/gcc/testsuite/gcc.dg/c2x-limits-1.c new file mode 100644 index 00000000000..4977faf47b4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c2x-limits-1.c @@ -0,0 +1,13 @@ +/* Test __STDC_VERSION_LIMITS_H__ in C2x. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c2x -pedantic-errors" } */ + +#include + +#ifndef __STDC_VERSION_LIMITS_H__ +#error "__STDC_VERSION_LIMITS_H__ not defined" +#endif + +#if __STDC_VERSION_LIMITS_H__ != 202311L +#error "bad value of __STDC_VERSION_LIMITS_H__" +#endif diff --git a/gcc/testsuite/gcc.dg/c2x-stdarg-5.c b/gcc/testsuite/gcc.dg/c2x-stdarg-5.c new file mode 100644 index 00000000000..134244357bb --- /dev/null +++ b/gcc/testsuite/gcc.dg/c2x-stdarg-5.c @@ -0,0 +1,13 @@ +/* Test __STDC_VERSION_STDARG_H__ in C2x. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c2x -pedantic-errors" } */ + +#include + +#ifndef __STDC_VERSION_STDARG_H__ +#error "__STDC_VERSION_STDARG_H__ not defined" +#endif + +#if __STDC_VERSION_STDARG_H__ != 202311L +#error "bad value of __STDC_VERSION_STDARG_H__" +#endif diff --git a/gcc/testsuite/gcc.dg/c2x-stdatomic-1.c b/gcc/testsuite/gcc.dg/c2x-stdatomic-1.c new file mode 100644 index 00000000000..3a9ceb0ea39 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c2x-stdatomic-1.c @@ -0,0 +1,13 @@ +/* Test __STDC_VERSION_STDATOMIC_H__ in C2x. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c2x -pedantic-errors" } */ + +#include + +#ifndef __STDC_VERSION_STDATOMIC_H__ +#error "__STDC_VERSION_STDATOMIC_H__ not defined" +#endif + +#if __STDC_VERSION_STDATOMIC_H__ != 202311L +#error "bad value of __STDC_VERSION_STDATOMIC_H__" +#endif diff --git a/gcc/testsuite/gcc.dg/c2x-stddef-1.c b/gcc/testsuite/gcc.dg/c2x-stddef-1.c new file mode 100644 index 00000000000..1ebdf2037ee --- /dev/null +++ b/gcc/testsuite/gcc.dg/c2x-stddef-1.c @@ -0,0 +1,13 @@ +/* Test __STDC_VERSION_STDDEF_H__ in C2x. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c2x -pedantic-errors" } */ + +#include + +#ifndef __STDC_VERSION_STDDEF_H__ +#error "__STDC_VERSION_STDDEF_H__ not defined" +#endif + +#if __STDC_VERSION_STDDEF_H__ != 202311L +#error "bad value of __STDC_VERSION_STDDEF_H__" +#endif diff --git a/gcc/testsuite/gcc.dg/c2x-stdint-1.c b/gcc/testsuite/gcc.dg/c2x-stdint-1.c new file mode 100644 index 00000000000..3ba6ce56a7a --- /dev/null +++ b/gcc/testsuite/gcc.dg/c2x-stdint-1.c @@ -0,0 +1,13 @@ +/* Test __STDC_VERSION_STDINT_H__ in C2x. */ +/* { dg-do preprocess } */ +/* { dg-options "-std=c2x -pedantic-errors -ffreestanding" } */ + +#include + +#ifndef __STDC_VERSION_STDINT_H__ +#error "__STDC_VERSION_STDINT_H__ not defined" +#endif + +#if __STDC_VERSION_STDINT_H__ != 202311L +#error "bad value of __STDC_VERSION_STDINT_H__" +#endif