// PR c++/91476 // Test that hidden and internal visibility propagates to reference temps. // { dg-require-visibility "" } #define HIDDEN __attribute((visibility("hidden"))) // { dg-final { scan-hidden "_ZGRZ1fvE3foo_" } } HIDDEN inline const int* f() { static const int &foo = 1; return &foo; } // { dg-final { scan-assembler-not "(weak|globl)\[^\n\]*_ZGRN12_GLOBAL__N_13fooE_" } } namespace { const int &foo = 1; } const void *volatile p; int main() { p = f(); p = &foo; }