Home | History | Annotate | Download | only in CodeGenCXX

Lines Matching refs:HIDDEN

2 // RUN: %clang_cc1 %s -std=c++11 -triple=x86_64-apple-darwin10 -fvisibility hidden -emit-llvm -o - | FileCheck %s -check-prefix=CHECK-HIDDEN
4 #define HIDDEN __attribute__((visibility("hidden")))
9 // When H is hidden, it should make X hidden, even if the template argument
19 // CHECK-HIDDEN: _ZN6test301bE = hidden global
34 // CHECK-HIDDEN: @_ZN6test251aE = hidden global
42 // CHECK-HIDDEN: @_ZN6test285myvecE = hidden global
46 #pragma GCC visibility push(hidden)
54 // CHECK-HIDDEN: @_ZN6test299data_rectE = global
66 // CHECK-HIDDEN: _ZN6test403fooIiE3barE = weak_odr global
70 // Unlike gcc we propagate the information that foo not only is hidden, but
71 // has been explicitly marked as so. This lets us produce a hidden undefined
73 struct HIDDEN foo {};
78 // CHECK: @_ZN6test413barE = external hidden global
79 // CHECK-HIDDEN: @_ZN6test413barE = external hidden global
86 struct HIDDEN foo {
97 // CHECK: _ZN6test481yE = hidden global
98 // CHECK-HIDDEN: _ZN6test481yE = hidden global
101 // CHECK: @_ZN5Test425VariableInHiddenNamespaceE = hidden global i32 10
102 // CHECK: @_ZN5Test71aE = hidden global
105 // CHECK-HIDDEN: @test9_var = global
106 // CHECK: @_ZN6Test121A6hiddenE = external hidden global
108 // CHECK-HIDDEN: @_ZN6Test121A6hiddenE = external hidden global
109 // CHECK-HIDDEN: @_ZN6Test121A7visibleE = external global
110 // CHECK: @_ZN6Test131B1aE = hidden global
112 // CHECK-HIDDEN: @_ZN6Test131B1aE = hidden global
113 // CHECK-HIDDEN: @_ZN6Test131C1aE = global
115 // CHECK-HIDDEN: @_ZN6Test143varE = external global
117 // CHECK-HIDDEN: @_ZN6Test154TempINS_1AEE5Inner6bufferE = external global [0 x i8]
135 // CHECK-HIDDEN: _ZTVN6test271CIiE1DE = unnamed_addr constant
140 // CHECK-HIDDEN: @_ZZN6Test193fooIiEEvvE1a = linkonce_odr hidden global
141 // CHECK-HIDDEN: @_ZGVZN6Test193fooIiEEvvE1a = linkonce_odr hidden global i64
144 // CHECK-HIDDEN: @_ZZN6test681fC1EvE4test = linkonce_odr hidden global
145 // CHECK-HIDDEN: @_ZGVZN6test681fC1EvE4test = linkonce_odr hidden global
146 // CHECK-HIDDEN: @_ZTVN6Test161AIcEE = external unnamed_addr constant
147 // CHECK-HIDDEN: @_ZTTN6Test161AIcEE = external unnamed_addr constant
148 // CHECK: @_ZTVN5Test63fooE = linkonce_odr hidden unnamed_addr constant
151 // CHECK: define hidden void @_ZN5Test11fEv
152 void HIDDEN f() { }
157 struct HIDDEN A {
161 // A::f is a member function of a hidden class.
162 // CHECK: define hidden void @_ZN5Test21A1fEv
167 struct HIDDEN A {
173 // B is a nested class where its parent class is hidden.
174 // CHECK: define hidden void @_ZN5Test31A1B1fEv
178 namespace Test4 HIDDEN {
181 // Test4::g is in a hidden namespace.
182 // CHECK: define hidden void @_ZN5Test41gEv
196 namespace NS HIDDEN {
197 // f is in NS which is hidden.
198 // CHECK: define hidden void @_ZN5Test52NS1fEv()
203 // g is in NS, but this NS decl is not hidden.
211 struct HIDDEN foo {
228 class HIDDEN A {};
238 // CHECK: define linkonce_odr hidden void @_ZN5Test74ArefILZNS_1aEEE3fooEv()
247 // CHECK-HIDDEN: define hidden void @_ZN5Test83barEv()
248 // CHECK-HIDDEN: declare void @_ZN5Test83fooEv()
264 // CHECK-HIDDEN: define void @test9_fun(
281 // CHECK-HIDDEN: define void @_ZN6Test101B3fooEPNS_1AE(
300 // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6Test111A3fooEv(
301 // CHECK-HIDDEN: define linkonce_odr void @_ZN6Test111A3barEv(
307 // This is hidden in all cases: the explicit attribute takes
309 static int hidden HIDDEN;
316 A::hidden = 0;
323 struct HIDDEN A {};
325 // Should be hidden in all cases.
340 // Neither the visibility of the type nor -fvisibility=hidden should
376 struct HIDDEN A {
379 static void HIDDEN baz();
384 static void HIDDEN baz();
396 // CHECK: declare hidden void @_ZN6Test171A3fooEv()
398 // CHECK: declare hidden void @_ZN6Test171A3bazEv()
401 // CHECK: declare hidden void @_ZN6Test171A1B3bazEv()
402 // CHECK-HIDDEN: declare hidden void @_ZN6Test171A3fooEv()
403 // CHECK-HIDDEN: declare void @_ZN6Test171A3barEv()
404 // CHECK-HIDDEN: declare hidden void @_ZN6Test171A3bazEv()
405 // CHECK-HIDDEN: declare void @_ZN6Test171A1B3fooEv()
406 // CHECK-HIDDEN: declare void @_ZN6Test171A1B3barEv()
407 // CHECK-HIDDEN: declare hidden void @_ZN6Test171A1B3bazEv()
411 template <class T> struct HIDDEN A {
414 static void HIDDEN baz();
419 static void HIDDEN baz();
422 struct HIDDEN H;
438 // CHECK: declare hidden void @_ZN6Test181AIiE3fooEv()
440 // CHECK: declare hidden void @_ZN6Test181AIiE3bazEv()
443 // CHECK: declare hidden void @_ZN6Test181AIiE1B3bazEv()
444 // CHECK: declare hidden void @_ZN6Test181AINS_1HEE3fooEv()
445 // CHECK: declare hidden void @_ZN6Test181AINS_1HEE3barEv()
446 // CHECK: declare hidden void @_ZN6Test181AINS_1HEE3bazEv()
447 // CHECK: declare hidden void @_ZN6Test181AINS_1HEE1B3fooEv()
448 // CHECK: declare hidden void @_ZN6Test181AINS_1HEE1B3barEv()
449 // CHECK: declare hidden void @_ZN6Test181AINS_1HEE1B3bazEv()
450 // CHECK-HIDDEN: declare hidden void @_ZN6Test181AIiE3fooEv()
451 // CHECK-HIDDEN: declare void @_ZN6Test181AIiE3barEv()
452 // CHECK-HIDDEN: declare hidden void @_ZN6Test181AIiE3bazEv()
453 // CHECK-HIDDEN: declare void @_ZN6Test181AIiE1B3fooEv()
454 // CHECK-HIDDEN: declare void @_ZN6Test181AIiE1B3barEv()
455 // CHECK-HIDDEN: declare hidden void @_ZN6Test181AIiE1B3bazEv()
456 // CHECK-HIDDEN: declare hidden void @_ZN6Test181AINS_1HEE3fooEv()
457 // CHECK-HIDDEN: declare hidden void @_ZN6Test181AINS_1HEE3barEv()
458 // CHECK-HIDDEN: declare hidden void @_ZN6Test181AINS_1HEE3bazEv()
459 // CHECK-HIDDEN: declare hidden void @_ZN6Test181AINS_1HEE1B3fooEv()
460 // CHECK-HIDDEN: declare hidden void @_ZN6Test181AINS_1HEE1B3barEv()
461 // CHECK-HIDDEN: declare hidden void @_ZN6Test181AINS_1HEE1B3bazEv()
479 template <unsigned> struct HIDDEN A {};
488 // CHECK: define hidden void @_ZN6Test201AILj0EE5test0Ev()
491 // CHECK: declare hidden void @_ZN6Test201AILj0EE5test1Ev()
518 // CHECK: define linkonce_odr hidden void @_ZN6Test201BINS_1AILj2EEEE5test4Ev()
523 // CHECK: declare hidden void @_ZN6Test201BINS_1AILj2EEEE5test5Ev()
566 // CHECK-HIDDEN: declare void @_ZN6test221BINS_2A1EE3fooEv()
567 // CHECK-HIDDEN: define linkonce_odr void @_ZN6test221BINS_2A1EE3barEv()
568 // CHECK-HIDDEN: declare void @_ZN6test221BINS_2A2EE3fooEv()
569 // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test221BINS_2A2EE3barEv()
581 // CHECK-HIDDEN: define weak_odr void @_ZN7PR101133foo3barIcE3zedEv
587 // CHECK-HIDDEN: define weak_odr hidden void @_ZN7PR101133foo3barINS_3zedEE3zedEv
597 // CHECK-HIDDEN: define weak_odr void @_ZNK7PR116905ClassIcE4sizeEv
602 // CHECK-HIDDEN: define weak_odr void @_ZN7PR116906MethodIcEEvv
618 // CHECK-HIDDEN: define weak_odr hidden void @_ZN9PR11690_23foo3zedINS_3bazENS0_3barEE3barEv
637 // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test231XINS_1AEE1fEv
651 // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN7PR120014BindINS_7VersionEEEvRKT_
667 // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test241S3memINS_1AEEEvv
680 // CHECK-HIDDEN: define void @_ZN6test261CIiE1fEv
685 struct HIDDEN B {
693 // CHECK-HIDDEN: declare void @_ZN6test311A1B3bazEv()
697 struct HIDDEN A {
705 // CHECK-HIDDEN: define void @_ZN6test321A1B3bazEv
713 struct HIDDEN zed {
717 // CHECK-HIDDEN: define weak_odr void @_ZN6test333fooINS_3zedEE3barEv
727 // CHECK-HIDDEN: define weak_odr void @_ZN6test343barINS_3fooEEEvv
745 // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test353fooINS_3zedEE3barEv
754 struct HIDDEN S2 {};
756 // CHECK: define weak_odr hidden void @_ZN6test363fooINS_2S1ENS_2S2EE3barEv
757 // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test363fooINS_2S1ENS_2S2EE3barEv
761 struct HIDDEN foo {
767 // CHECK-HIDDEN: define weak_odr void @_ZN6test373barINS_3fooEEEvv
775 struct HIDDEN zed {
778 // CHECK: define weak_odr hidden void @_ZN6test383fooINS_3zedEE3barEv
779 // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test383fooINS_3zedEE3barEv
784 class HIDDEN hidden_t;
787 HIDDEN void hidden() {}
797 // CHECK: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E6hiddenEv
802 // CHECK: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E4tempIS1_EEvv
804 // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E6hiddenEv
805 // CHECK-HIDDEN: define weak_odr void @_ZN6test391AINS_8hidden_tEE1BIS1_E6noattrEv
806 // CHECK-HIDDEN: define weak_odr void @_ZN6test391AINS_8hidden_tEE1BIS1_E4tempINS_9default_tEEEvv
809 // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E4tempIS1_EEvv
813 struct HIDDEN foo {
819 struct HIDDEN bar<foo> {
825 // CHECK-HIDDEN: define void @_ZN6test423barINS_3fooEE3zedEv
829 struct HIDDEN foo {
838 // CHECK-HIDDEN: define void @_ZN6test433barINS_3fooEEEvv
852 // CHECK-HIDDEN: define internal void @_ZN6test443fooINS_12_GLOBAL__N_13barEEC1Ev
869 // CHECK-HIDDEN: define internal void @_ZN6test453fooIiE3barINS_12_GLOBAL__N_13zedEEC1Ev
884 // CHECK-HIDDEN: define internal void @_ZN6test463fooINS_12_GLOBAL__N_13barEEEvv
901 // CHECK-HIDDEN: define internal void @_ZN6test473foo3barINS_12_GLOBAL__N_13zedEEEvv
909 struct HIDDEN foo {
921 // CHECK: define weak_odr hidden void @_ZN6test493bar3zedIXadL_ZNS_1xEEEEEvv
922 // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test493bar3zedIXadL_ZNS_1xEEEEEvv
930 struct HIDDEN foo {
939 // CHECK: define weak_odr hidden void @_ZN6test503barIXadL_ZNS_1xEEEE3zedEv
940 // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test503barIXadL_ZNS_1xEEEE3zedEv
948 struct HIDDEN foo {
955 // CHECK: define weak_odr hidden void @_ZN6test513zedIXadL_ZNS_1xEEEEEvv
956 // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test513zedIXadL_ZNS_1xEEEEEvv
975 // CHECK-HIDDEN: define internal void @_ZN6test523zedILPNS_12_GLOBAL__N_13fooE0EEEvv
982 #pragma GCC visibility push(hidden)
986 // GCC fails to mark this specialization hidden, we mark it.
998 // CHECK-HIDDEN: declare void @_ZN6test536vectorIjE14_M_fill_insertEv
999 // CHECK: declare hidden void @_ZN6test536vectorIiE14_M_fill_insertEv
1000 // CHECK-HIDDEN: declare hidden void @_ZN6test536vectorIiE14_M_fill_insertEv
1001 // CHECK: declare hidden void @_ZN6test536vectorINS_3zedEE14_M_fill_insertEv
1002 // CHECK-HIDDEN: declare hidden void @_ZN6test536vectorINS_3zedEE14_M_fill_insertEv
1010 #pragma GCC visibility push(hidden)
1018 // CHECK: declare hidden void @_ZN6test543fooINS_3zedEE3barEv
1019 // CHECK-HIDDEN: declare hidden void @_ZN6test543fooINS_3zedEE3barEv
1024 struct HIDDEN foo {
1031 // CHECK: declare hidden void @_ZN6test553fooIiE3barEv
1032 // CHECK-HIDDEN: declare hidden void @_ZN6test553fooIiE3barEv
1038 struct HIDDEN foo {
1044 // CHECK: declare hidden void @_ZN6test563fooIiE3barEv
1045 // CHECK-HIDDEN: declare hidden void @_ZN6test563fooIiE3barEv
1049 #pragma GCC visibility push(hidden)
1061 // CHECK: declare hidden void @_ZN6test573fooIiE3zedEv
1062 // CHECK-HIDDEN: declare hidden void @_ZN6test573fooIiE3zedEv
1066 #pragma GCC visibility push(hidden)
1077 // CHECK: define linkonce_odr hidden void @_ZN6test583barINS_3fooEE3zedEv
1078 // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test583barINS_3fooEE3zedEv
1083 HIDDEN int g();
1089 // CHECK: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1gEvEEXadL_ZNS_1fEvEEEEvv
1090 // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1gEvEEXadL_ZNS_1fEvEEEEvv
1093 // CHECK: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1fEvEEXadL_ZNS_1gEvEEEEvv
1094 // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1fEvEEXadL_ZNS_1gEvEEEEvv
1100 class HIDDEN a {};
1107 // CHECK: define linkonce_odr hidden void @_ZN6test604testINS_1aENS_1bEEEvv
1108 // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test604testINS_1aENS_1bEEEvv
1111 // CHECK: define linkonce_odr hidden void @_ZN6test604testINS_1bENS_1aEEEvv
1112 // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test604testINS_1bENS_1aEEEvv
1135 template class HIDDEN Class1<int>;
1154 template class HIDDEN Class1<int>;
1161 enum HIDDEN E { E0 };
1174 // CHECK: define linkonce_odr hidden void @_ZN6test631A3fooILNS_1EE0EEEvv()
1175 // CHECK: define linkonce_odr hidden void @_ZN6test631A1BILNS_1EE0EE3fooEv()
1181 struct HIDDEN A {};
1187 // CHECK: define weak_odr hidden void @_ZN6test641BINS_1AEE3fooEv()
1191 class HIDDEN A {};
1210 // CHECK: define linkonce_odr hidden void @_ZN6test651BINS_1AEE6funcT1IS1_EEvv()
1219 // CHECK: define linkonce_odr hidden void @_ZN6test651BINS_1AEE6InnerTIS1_E3fooEv()
1244 // CHECK-HIDDEN: define weak_odr void @_ZN6test664barTINS_3fooEE3zedEv
1254 // CHECK-HIDDEN: define weak_odr void @_ZN6test664barIIXadL_ZNS_1IEEEE3zedEv
1265 // CHECK-HIDDEN: define weak_odr void @_ZN6test664barFIXadL_ZNS_1FEvEEE3zedEv
1282 // CHECK-HIDDEN: define weak_odr void @_ZN6test673barINS_3fooEE3zedEv