206 lines
5.8 KiB
C
206 lines
5.8 KiB
C
/* PR middle-end/20303 */
|
|
/* Test nesting of #pragma GCC visibility. */
|
|
/* { dg-do compile } */
|
|
/* { dg-require-visibility "" } */
|
|
/* { dg-final { scan-not-hidden "foo00" } } */
|
|
/* { dg-final { scan-hidden "foo01" } } */
|
|
/* { dg-final { scan-not-hidden "foo02" } } */
|
|
/* { dg-final { scan-hidden "foo03" } } */
|
|
/* { dg-final { scan-not-hidden "foo04" } } */
|
|
/* { dg-final { scan-not-hidden "foo05" } } */
|
|
/* { dg-final { scan-not-hidden "foo06" } } */
|
|
/* { dg-final { scan-hidden "foo07" } } */
|
|
/* { dg-final { scan-not-hidden "foo08" } } */
|
|
/* { dg-final { scan-hidden "foo09" } } */
|
|
/* { dg-final { scan-not-hidden "foo10" } } */
|
|
/* { dg-final { scan-hidden "foo11" } } */
|
|
/* { dg-final { scan-hidden "foo12" } } */
|
|
/* { dg-final { scan-hidden "foo13" } } */
|
|
/* { dg-final { scan-not-hidden "foo14" } } */
|
|
/* { dg-final { scan-hidden "foo15" } } */
|
|
/* { dg-final { scan-not-hidden "foo16" } } */
|
|
/* { dg-final { scan-hidden "foo17" } } */
|
|
/* { dg-final { scan-not-hidden "foo18" } } */
|
|
/* { dg-final { scan-hidden "foo19" } } */
|
|
/* { dg-final { scan-not-hidden "foo20" } } */
|
|
/* { dg-final { scan-hidden "foo21" } } */
|
|
/* { dg-final { scan-not-hidden "foo22" } } */
|
|
/* { dg-final { scan-hidden "foo23" } } */
|
|
/* { dg-final { scan-not-hidden "foo24" } } */
|
|
/* { dg-final { scan-hidden "foo25" } } */
|
|
/* { dg-final { scan-not-hidden "foo26" } } */
|
|
/* { dg-final { scan-hidden "foo27" } } */
|
|
/* { dg-final { scan-not-hidden "foo28" } } */
|
|
/* { dg-final { scan-hidden "foo29" } } */
|
|
/* { dg-final { scan-not-hidden "foo30" } } */
|
|
/* { dg-final { scan-hidden "foo31" } } */
|
|
/* { dg-final { scan-not-hidden "foo32" } } */
|
|
/* { dg-final { scan-hidden "foo33" } } */
|
|
/* { dg-final { scan-not-hidden "foo34" } } */
|
|
/* { dg-final { scan-hidden "foo35" } } */
|
|
/* { dg-final { scan-not-hidden "foo36" } } */
|
|
/* { dg-final { scan-hidden "foo37" } } */
|
|
/* { dg-final { scan-not-hidden "foo38" } } */
|
|
/* { dg-final { scan-hidden "foo39" } } */
|
|
/* { dg-final { scan-not-hidden "foo40" } } */
|
|
/* { dg-final { scan-hidden "foo41" } } */
|
|
/* { dg-final { scan-not-hidden "foo42" } } */
|
|
/* { dg-final { scan-hidden "foo43" } } */
|
|
/* { dg-final { scan-not-hidden "foo44" } } */
|
|
/* { dg-final { scan-hidden "foo45" } } */
|
|
/* { dg-final { scan-hidden "foo46" } } */
|
|
/* { dg-final { scan-hidden "foo47" } } */
|
|
/* { dg-final { scan-not-hidden "foo48" } } */
|
|
/* { dg-final { scan-hidden "foo49" } } */
|
|
/* { dg-final { scan-not-hidden "foo50" } } */
|
|
/* { dg-final { scan-hidden "foo51" } } */
|
|
/* { dg-final { scan-not-hidden "foo52" } } */
|
|
/* { dg-final { scan-not-hidden "foo53" } } */
|
|
/* { dg-final { scan-not-hidden "foo54" } } */
|
|
/* { dg-final { scan-hidden "foo55" } } */
|
|
/* { dg-final { scan-not-hidden "foo56" } } */
|
|
/* { dg-final { scan-hidden "foo57" } } */
|
|
/* { dg-final { scan-not-hidden "foo58" } } */
|
|
/* { dg-final { scan-hidden "foo59" } } */
|
|
|
|
#pragma GCC visibility push(default)
|
|
void foo00();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo01();
|
|
#pragma GCC visibility push(default)
|
|
void foo02();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo03();
|
|
#pragma GCC visibility push(default)
|
|
void foo04();
|
|
#pragma GCC visibility push(default)
|
|
void foo05();
|
|
#pragma GCC visibility push(default)
|
|
void foo06();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo07();
|
|
#pragma GCC visibility push(default)
|
|
void foo08();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo09();
|
|
#pragma GCC visibility push(default)
|
|
void foo10();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo11();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo12();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo13();
|
|
#pragma GCC visibility push(default)
|
|
void foo14();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo15();
|
|
#pragma GCC visibility push(default)
|
|
void foo16();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo17();
|
|
#pragma GCC visibility push(default)
|
|
void foo18();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo19();
|
|
#pragma GCC visibility push(default)
|
|
void foo20();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo21();
|
|
#pragma GCC visibility push(default)
|
|
void foo22();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo23();
|
|
#pragma GCC visibility push(default)
|
|
void foo24();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo25();
|
|
#pragma GCC visibility push(default)
|
|
void foo26();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo27();
|
|
#pragma GCC visibility push(default)
|
|
void foo28();
|
|
#pragma GCC visibility push(hidden)
|
|
void foo29();
|
|
#pragma GCC visibility pop
|
|
void foo30();
|
|
#pragma GCC visibility pop
|
|
void foo31();
|
|
#pragma GCC visibility pop
|
|
void foo32();
|
|
#pragma GCC visibility pop
|
|
void foo33();
|
|
#pragma GCC visibility pop
|
|
void foo34();
|
|
#pragma GCC visibility pop
|
|
void foo35();
|
|
#pragma GCC visibility pop
|
|
void foo36();
|
|
#pragma GCC visibility pop
|
|
void foo37();
|
|
#pragma GCC visibility pop
|
|
void foo38();
|
|
#pragma GCC visibility pop
|
|
void foo39();
|
|
#pragma GCC visibility pop
|
|
void foo40();
|
|
#pragma GCC visibility pop
|
|
void foo41();
|
|
#pragma GCC visibility pop
|
|
void foo42();
|
|
#pragma GCC visibility pop
|
|
void foo43();
|
|
#pragma GCC visibility pop
|
|
void foo44();
|
|
#pragma GCC visibility pop
|
|
void foo45();
|
|
#pragma GCC visibility pop
|
|
void foo46();
|
|
#pragma GCC visibility pop
|
|
void foo47();
|
|
#pragma GCC visibility pop
|
|
void foo48();
|
|
#pragma GCC visibility pop
|
|
void foo49();
|
|
#pragma GCC visibility pop
|
|
void foo50();
|
|
#pragma GCC visibility pop
|
|
void foo51();
|
|
#pragma GCC visibility pop
|
|
void foo52();
|
|
#pragma GCC visibility pop
|
|
void foo53();
|
|
#pragma GCC visibility pop
|
|
void foo54();
|
|
#pragma GCC visibility pop
|
|
void foo55();
|
|
#pragma GCC visibility pop
|
|
void foo56();
|
|
#pragma GCC visibility pop
|
|
void foo57();
|
|
#pragma GCC visibility pop
|
|
void foo58();
|
|
#pragma GCC visibility push (hidden)
|
|
void foo59();
|
|
#pragma GCC visibility pop
|
|
#pragma GCC visibility pop
|
|
|
|
#define D(N) \
|
|
void foo##N##0() { } \
|
|
void foo##N##1() { } \
|
|
void foo##N##2() { } \
|
|
void foo##N##3() { } \
|
|
void foo##N##4() { } \
|
|
void foo##N##5() { } \
|
|
void foo##N##6() { } \
|
|
void foo##N##7() { } \
|
|
void foo##N##8() { } \
|
|
void foo##N##9() { }
|
|
D(0)
|
|
D(1)
|
|
D(2)
|
|
D(3)
|
|
D(4)
|
|
D(5)
|