https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89009
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work|6.5.0 |4.9.4 Known to fail| |5.5.0, 6.4.0 --- Comment #10 from Martin Liška <marxin at gcc dot gnu.org> --- Ok, so it's as old as ICF. There's a minimal test-case: $ cat test.cc #pragma GCC visibility push(default) void foo1() { __builtin_printf ("foo\n"); } #pragma GCC visibility pop void foo2() { __builtin_printf ("foo\n"); } int main() { foo2(); } (for older revisions than r244273 one needs: $ cat test.cc void foo2() { __builtin_printf ("foo\n"); } #pragma GCC visibility push(default) void foo1() { __builtin_printf ("foo\n"); } #pragma GCC visibility pop int main() { foo2(); }