https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111287
--- Comment #3 from Joseph S. Myers <jsm28 at gcc dot gnu.org> --- "even in strict ISO C90 mode" is used, correctly, when referring to C90 mode as the one with the fewest built-in functions; it's talking about __builtin_*, which are valid in all standards modes. "except in strict ISO C90 mode" is used, correctly, when talking about built-in versions of C99 functions (accepted in all modes other than strict C90). __STRICT_ANSI__ is properly defined for strict ISO C modes (any version). The "Outside strict ISO C mode" paragraph mostly lists functions not in any version of the C standard, but a few of them (exp10, roundeven, strdup, etc.) are in C23 and thus defined using DEF_C23_BUILTIN, and arguably should be moved to a separate paragraph to reflect that they are defined in strict ISO C23 mode.