On 28/11/2019 20:42, Luc Van Oostenryck wrote: > Currently, the definition of __STRICT_ANSI__ is done in the same > switch statement used for __STDC_VERSION__. However, this lead to > some repetions that can be avoided if moved outside of the switch. > > Move the definition of __STRICT_ANSI__ out of the switch statement > and guard it by testing the absence of STANDARD_GNU. > > Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> > --- > lib.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/lib.c b/lib.c > index 02f6231e2..d232b8cee 100644 > --- a/lib.c > +++ b/lib.c > @@ -1408,24 +1408,16 @@ static void predefined_macros(void) > default: > break; > > - case STANDARD_C89: > - predefine("__STRICT_ANSI__", 1, "1"); > - case STANDARD_GNU89: > - break; > - > case STANDARD_C94: > - predefine("__STRICT_ANSI__", 1, "1"); > predefine("__STDC_VERSION__", 1, "199409L"); > break; > > case STANDARD_C99: > - predefine("__STRICT_ANSI__", 1, "1"); > case STANDARD_GNU99: > predefine("__STDC_VERSION__", 1, "199901L"); > break; > > case STANDARD_C11: > - predefine("__STRICT_ANSI__", 1, "1"); > case STANDARD_GNU11: > predefine("__STDC_NO_ATOMICS__", 1, "1"); > predefine("__STDC_NO_COMPLEX__", 1, "1"); > @@ -1433,6 +1425,8 @@ static void predefined_macros(void) > predefine("__STDC_VERSION__", 1, "201112L"); > break; > } > + if (!(standard & STANDARD_GNU) & (standard != STANDARD_NONE)) s/) & (/) && (/ ATB, Ramsay Jones > + predefine("__STRICT_ANSI__", 1, "1"); > > predefine("__CHAR_BIT__", 1, "%d", bits_in_char); > if (funsigned_char) >