https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30811
Eric Gallager <egallager at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|__FUNCTION__ allowed in |__FUNCTION__ allowed in |function declaration |function declaration (i.e. | |add | |-Wpredefined-identifier-out | |side-function) Blocks| |87403 --- Comment #10 from Eric Gallager <egallager at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #9) > Note clang warns but its warning is not so clear: > <source>:4:27: warning: predefined identifier is only valid inside function > [-Wpredefined-identifier-outside-function] > void bar (const char *s = __FUNCTION__) { puts (s); } > ^ > <source>:5:27: warning: predefined identifier is only valid inside function > [-Wpredefined-identifier-outside-function] > void baz (const char *s = __PRETTY_FUNCTION__) { puts (s); } > ^ > > At least MSVC is clear on what is going on: > <source>(4): error C2457: '__FUNCTION__': predefined macro cannot appear > outside of a function body adding clang's name for the warning to the title, so that this can block the "new warning" meta-bug Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87403 [Bug 87403] [Meta-bug] Issues that suggest a new warning