On Tue, Aug 26, 2025 at 04:09:11PM +0200, Anna (navi) Figueiredo Gomes wrote:
> --- a/gcc/c-family/c-common.h
> +++ b/gcc/c-family/c-common.h
> @@ -97,11 +97,11 @@ enum rid
>    RID_IMAGINARY,
>  
>    /* C */
> -  RID_INT,     RID_CHAR,   RID_FLOAT,    RID_DOUBLE, RID_VOID,
> -  RID_ENUM,    RID_STRUCT, RID_UNION,    RID_IF,     RID_ELSE,
> -  RID_WHILE,   RID_DO,     RID_FOR,      RID_SWITCH, RID_CASE,
> -  RID_DEFAULT, RID_BREAK,  RID_CONTINUE, RID_RETURN, RID_GOTO,
> -  RID_SIZEOF,  RID_BITINT,
> +  RID_INT,     RID_CHAR,   RID_FLOAT, RID_DOUBLE, RID_VOID,
> +  RID_ENUM,    RID_STRUCT, RID_UNION, RID_IF,     RID_ELSE,
> +  RID_WHILE,   RID_DO,     RID_FOR,   RID_SWITCH, RID_CASE,
> +  RID_DEFAULT, RID_DEFER,  RID_BREAK, RID_CONTINUE, RID_RETURN,
> +  RID_GOTO,    RID_SIZEOF, RID_BITINT,

Why do you reformat everything?
The enumerators aren't sorted alphabetically, just add the new one
after RID_BITINT.

> @@ -434,20 +434,21 @@ extern machine_mode c_default_pointer_mode;
>  #define D_CXXONLY    0x0002  /* C++ only (not in C).  */
>  #define D_C99                0x0004  /* In C, C99 only.  */
>  #define D_C23                0x0008  /* In C, C23 only.  */
> -#define D_CXX11         0x0010       /* In C++, C++11 only.  */
> -#define D_EXT                0x0020  /* GCC extension.  */
> -#define D_EXT89              0x0040  /* GCC extension incorporated in C99.  
> */
> -#define D_EXT11              0x0080  /* GCC extension incorporated in C23.  
> */
> -#define D_ASM                0x0100  /* Disabled by -fno-asm.  */
> -#define D_OBJC               0x0200  /* In Objective C and neither C nor 
> C++.  */
> -#define D_CXX_OBJC   0x0400  /* In Objective C, and C++, but not C.  */
> -#define D_CXXWARN    0x0800  /* In C warn with -Wcxx-compat.  */
> -#define D_CXX_CONCEPTS  0x1000       /* In C++, only with concepts.  */
> -#define D_TRANSMEM   0x2000  /* C++ transactional memory TS.  */
> -#define D_CXX_CHAR8_T        0x4000  /* In C++, only with -fchar8_t.  */
> -#define D_CXX20              0x8000  /* In C++, C++20 only.  */
> -#define D_CXX_COROUTINES 0x10000  /* In C++, only with coroutines.  */
> -#define D_CXX_MODULES        0x20000  /* In C++, only with modules.  */
> +#define D_DEFER              0x0010  /* C defer statements TS.  */
> +#define D_CXX11              0x0020  /* In C++, C++11 only.  */
> +#define D_EXT                0x0040  /* GCC extension.  */
> +#define D_EXT89              0x0080  /* GCC extension incorporated in C99.  
> */
> +#define D_EXT11              0x0100  /* GCC extension incorporated in C23.  
> */
> +#define D_ASM                0x0200  /* Disabled by -fno-asm.  */
> +#define D_OBJC               0x0400  /* In Objective C and neither C nor 
> C++.  */
> +#define D_CXX_OBJC   0x0800  /* In Objective C, and C++, but not C.  */
> +#define D_CXXWARN    0x1000  /* In C warn with -Wcxx-compat.  */
> +#define D_CXX_CONCEPTS  0x2000       /* In C++, only with concepts.  */
> +#define D_TRANSMEM           0x4000  /* C++ transactional memory TS.  */
> +#define D_CXX_CHAR8_T        0x8000  /* In C++, only with -fchar8_t.  */
> +#define D_CXX20              0x10000  /* In C++, C++20 only.  */
> +#define D_CXX_COROUTINES 0x20000  /* In C++, only with coroutines.  */
> +#define D_CXX_MODULES        0x40000  /* In C++, only with modules.  */

Again, why?  Just add it to the end.

> --- a/gcc/c-family/c.opt
> +++ b/gcc/c-family/c.opt
> @@ -1931,6 +1931,10 @@ fdefault-inline
>  C++ ObjC++ Ignore
>  Does nothing.  Preserved for backward compatibility.
>  
> +fdefer-ts
> +C Var(flag_defer_ts)
> +Enables support for defer statements from ISO/DIS TS 25755 for ISO C2Y

Shouldn't that be C ObjC ?

        Jakub

Reply via email to