https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92855
Alexander Monakov <amonakov at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amonakov at gcc dot gnu.org --- Comment #4 from Alexander Monakov <amonakov at gcc dot gnu.org> --- (FWIW, making 'f' a template in your example makes it non-hidden) Can you explain why you expect the command-line option to override the attribute on the namespace? GCC usually implements the opposite, i.e. attributes prevail over the defaults specified on the command line. In your sample on Godbolt, Clang also appears to honour the attribute rather than the option.