1 /* PR preprocessor/34692 */ 2 /* { dg-do compile } */ 3 /* { dg-options "" } */ 4 /* { dg-require-visibility "" } */ 5 /* { dg-final { scan-hidden "vara" } } */ 6 /* { dg-final { scan-hidden "varb" } } */ 7 /* { dg-final { scan-hidden "varc" } } */ 8 /* { dg-final { scan-hidden "vard" } } */ 9 /* { dg-final { scan-assembler "a b cde f g h" } } */ 10 11 #define FOO(y, x) y #x 12 #define BAR(x) x 13 #define BAZ(x) x 14 FOO (const char *vara =, 15 a 16 #pragma GCC visibility push(hidden) 17 b 18 #pragma GCC visibility push(hidden) 19 cde f g h); 20 int varb = 6; 21 #pragma GCC visibility pop 22 #pragma GCC visibility pop 23 FOO ( 24 BAR ( 25 #pragma GCC visibility push(hidden) 26 const) char *varc =,); 27 #pragma GCC visibility pop 28 FOO ( 29 BAR ( 30 BAZ ( 31 #pragma GCC visibility push(hidden) 32 #pragma GCC visibility push(hidden) 33 const) char) *vard =,); 34 #pragma GCC visibility pop 35 #pragma GCC visibility pop 36