https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111287
sandra at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sandra at gcc dot gnu.org --- Comment #2 from sandra at gcc dot gnu.org --- I think the problem here goes beyond this one line of documentation. E.g, there's a reference to "strict ISO C90 mode" later in the same paragraph that probably ought to refer to any later C standard as well, and it's not clear whether "Outside strict ISO C mode" means that these builtins are always available in C++. (IOW, does strict ISO C mode disable things that are otherwise normally supported by C-family dialects, or do non-strict ISO C mode enable things that are normally are *not* supported?) Re __STRICT_ANSI__, invoke.texi only says that is defined when -ansi is used, so either defining it for all those later standards is wrong or the documentation is wrong (and it needs to be moved out of the description of the -ansi option). I think we at least need a formal definition in the manual of what "strict ISO mode" means, for both C and C++, and to implement/document additional #defines for different dialects. It's probably too late to fix __STRICT_ANSI__, though. In any case, I think the standards compliance section, the -std= options documentation, and the builtins section all need to be made consistent.