From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) by sourceware.org (Postfix) with ESMTPS id 856A83858436 for ; Sun, 13 Nov 2022 12:22:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 856A83858436 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-x52b.google.com with SMTP id a13so13626203edj.0 for ; Sun, 13 Nov 2022 04:22:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:from:to:cc:subject:date:message-id :reply-to; bh=qog68OvacuG8KPEhkjL5q5rlnnfo2iKq2eCvRZWnadU=; b=Q+EH1G+Ej6kObG00/SGF4MpdVOi/hNst7RP5645lp61bY6kq0HIrQ+C/gbw95XCGtc 4QC9UiXVGoJBxclsAUDMd9Qu+6+YrTdqFBwtC2h243Su+WTi+oO2nvb+QWQuAYvWIjzm 0ZPd0qfYRNFAXEloAoY4dg63fWTy2dvlfF1dHq2QAsUEEuxki+6pRDOad1OssHPHZyuk D9sTFIQP1TD0cmS6sOpgQ9VwBGHxaM4/OZdlK5jaq/1wDZfdMuVbj8XoIjBCuLVbB9l3 r+jQsLD1POY/+Xy+VhvPqO/DyKLRaM9qUZaXIxXOPQr8jnL1PrmVQTDYB4rY2L3Ume6z cWvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qog68OvacuG8KPEhkjL5q5rlnnfo2iKq2eCvRZWnadU=; b=6Y+wxZmhNFT+LY2148QQdPl3feV9vQn/NnniQW+iv2Z7Yg/tHMwsPz9GAHMtu7jqP4 drVHm5cO/xDu7U9YspY2tRguJK9yd48xdd5g9zDjc4mkoAG1JYg38vlNUSIKhFmoQjDf nqDU5D3Cpey/Ndk1XqAYh1TvVZM4jnfLI37Gulc/j8AZ0IXllSyWmSH4PxhVq0wEWs1z FQKXQCZOrgN0QfWEcp5cRazGmymiD3uGggZeoSsbuXIhDgefnc25lyuHrL9xZatwt1OY 3qxC2PksrL9dsTR8hNFa1JtCV+uTNncbf3+8n95iygEGTKEIaVwlMLM9Pw5lTPDd63YA OSSw== X-Gm-Message-State: ANoB5pmy8KT++oG2SMdSVpt6dUrAd6MkNZ1nXnaPcn8+UP8CNnOVD1PH pjEUc4sxISw0LSeEK0gpHoqu62h67Fk= X-Google-Smtp-Source: AA0mqf7ZHlYOUsUvyGrseAq/kIZNYst1vNeZpR7u0IFveD48Yt1tl/XGa8eSuRSzghLG0cuct3UR3w== X-Received: by 2002:a50:e615:0:b0:461:ea0c:e151 with SMTP id y21-20020a50e615000000b00461ea0ce151mr7765623edm.376.1668342173293; Sun, 13 Nov 2022 04:22:53 -0800 (PST) Received: from smtpclient.apple (dynamic-092-225-152-117.92.225.pool.telefonica.de. [92.225.152.117]) by smtp.gmail.com with ESMTPSA id p9-20020a05640243c900b0046447e4e903sm3441985edc.32.2022.11.13.04.22.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 13 Nov 2022 04:22:52 -0800 (PST) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: Richard Biener Mime-Version: 1.0 (1.0) Subject: Re: ginclude: C2x header version macros Date: Sun, 13 Nov 2022 13:22:41 +0100 Message-Id: References: <77db8c82-5856-2c9c-7583-8534e0c92ee4@codesourcery.com> Cc: gcc-patches@gcc.gnu.org In-Reply-To: <77db8c82-5856-2c9c-7583-8534e0c92ee4@codesourcery.com> To: Joseph Myers X-Mailer: iPhone Mail (20B101) X-Spam-Status: No, score=-10.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: > Am 12.11.2022 um 19:18 schrieb Joseph Myers : >=20 > =EF=BB=BFC2x adds __STDC_VERSION_*_H__ macros to individual headers with > interface changes compared to C17. All the new header features in > headers provided by GCC have now been implemented, so define those > macros to the value given in the current working draft. >=20 > Bootstrapped with no regressions for x86_64-pc-linux-gnu. OK to > commit? Ok. Richard=20 > gcc/ > * ginclude/float.h [__STDC_VERSION__ > 201710L] > (__STDC_VERSION_FLOAT_H__): New macro. > * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] > (__STDC_VERSION_STDARG_H__): New macro. > * ginclude/stdatomic.h [__STDC_VERSION__ > 201710L] > (__STDC_VERSION_STDATOMIC_H__): New macro. > * ginclude/stddef.h [__STDC_VERSION__ > 201710L] > (__STDC_VERSION_STDDEF_H__): New macro. > * ginclude/stdint-gcc.h [__STDC_VERSION__ > 201710L] > (__STDC_VERSION_STDINT_H__): New macro. > * glimits.h [__STDC_VERSION__ > 201710L] > (__STDC_VERSION_LIMITS_H__): New macro. >=20 > gcc/testsuite/ > * gcc.dg/c11-float-8.c, gcc.dg/c11-limits-1.c, > gcc.dg/c11-stdarg-4.c, gcc.dg/c11-stdatomic-3.c, > gcc.dg/c11-stddef-1.c, gcc.dg/c11-stdint-1.c, > gcc.dg/c2x-float-13.c, gcc.dg/c2x-limits-1.c, > gcc.dg/c2x-stdarg-5.c, gcc.dg/c2x-stdatomic-1.c, > gcc.dg/c2x-stddef-1.c, gcc.dg/c2x-stdint-1.c: New tests. >=20 > 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 respectivel= y. If not, see >=20 > #endif /* __DEC32_MANT_DIG__ */ >=20 > +#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; >=20 > #endif /* not __svr4__ */ >=20 > +#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L > +#define __STDC_VERSION_STDARG_H__ 202311L > +#endif > + > #endif /* _STDARG_H */ >=20 > #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_ord= er); > #define atomic_flag_clear_explicit(PTR, MO) __atomic_clear ((PTR), (MO))= >=20 > +#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 { >=20 > #if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L > #define unreachable() (__builtin_unreachable ()) > +#define __STDC_VERSION_STDDEF_H__ 202311L > #endif >=20 > #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; >=20 > #endif >=20 > +#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 respectivel= y. If not, see > # define BOOL_MAX 1 > # undef BOOL_WIDTH > # define BOOL_WIDTH 1 > + > +# define __STDC_VERSION_LIMITS_H__ 202311L > #endif >=20 > #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=3Dc11 -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/c1= 1-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=3Dc11 -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/c1= 1-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=3Dc11 -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=3Dc11 -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/c1= 1-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=3Dc11 -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/c1= 1-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=3Dc11 -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/c2= x-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=3Dc2x -pedantic-errors" } */ > + > +#include > + > +#ifndef __STDC_VERSION_FLOAT_H__ > +#error "__STDC_VERSION_FLOAT_H__ not defined" > +#endif > + > +#if __STDC_VERSION_FLOAT_H__ !=3D 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/c2= x-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=3Dc2x -pedantic-errors" } */ > + > +#include > + > +#ifndef __STDC_VERSION_LIMITS_H__ > +#error "__STDC_VERSION_LIMITS_H__ not defined" > +#endif > + > +#if __STDC_VERSION_LIMITS_H__ !=3D 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/c2= x-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=3Dc2x -pedantic-errors" } */ > + > +#include > + > +#ifndef __STDC_VERSION_STDARG_H__ > +#error "__STDC_VERSION_STDARG_H__ not defined" > +#endif > + > +#if __STDC_VERSION_STDARG_H__ !=3D 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=3Dc2x -pedantic-errors" } */ > + > +#include > + > +#ifndef __STDC_VERSION_STDATOMIC_H__ > +#error "__STDC_VERSION_STDATOMIC_H__ not defined" > +#endif > + > +#if __STDC_VERSION_STDATOMIC_H__ !=3D 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/c2= x-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=3Dc2x -pedantic-errors" } */ > + > +#include > + > +#ifndef __STDC_VERSION_STDDEF_H__ > +#error "__STDC_VERSION_STDDEF_H__ not defined" > +#endif > + > +#if __STDC_VERSION_STDDEF_H__ !=3D 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/c2= x-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=3Dc2x -pedantic-errors -ffreestanding" } */ > + > +#include > + > +#ifndef __STDC_VERSION_STDINT_H__ > +#error "__STDC_VERSION_STDINT_H__ not defined" > +#endif > + > +#if __STDC_VERSION_STDINT_H__ !=3D 202311L > +#error "bad value of __STDC_VERSION_STDINT_H__" > +#endif >=20 > --=20 > Joseph S. Myers > joseph@codesourcery.com