Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:weak

3 // CHECK: @weakvar = weak global
5 // CHECK: @correct_linkage = weak global
10 // CHECK: @both3 = alias weak void ()* @__both3
11 // CHECK: @a3 = alias weak void ()* @__a3
12 // CHECK: @weakvar_alias = alias weak i32* @__weakvar_alias
13 // CHECK: @foo = alias weak void ()* @__foo
14 // CHECK: @foo2 = alias weak void ()* @__foo2
15 // CHECK: @stutter = alias weak void ()* @__stutter
16 // CHECK: @stutter2 = alias weak void ()* @__stutter2
17 // CHECK: @declfirst = alias weak void ()* @__declfirst
18 // CHECK: @declfirstattr = alias weak void ()* @__declfirstattr
19 // CHECK: @mix2 = alias weak void ()* @__mix2
20 // CHECK: @a1 = alias weak void ()* @__a1
21 // CHECK: @xxx = alias weak void ()* @__xxx
25 // CHECK: define weak void @weakdef()
28 #pragma weak weakvar
31 #pragma weak weakdef
34 #pragma weak param // expected-warning {{weak identifier 'param' never declared}}
35 #pragma weak correct_linkage
40 #pragma weak weakvar_alias = __weakvar_alias
43 #pragma weak foo = __foo
49 #pragma weak foo2 = __foo2
55 #pragma weak unused // expected-warning {{weak identifier 'unused' never declared}}
56 #pragma weak unused_alias = __unused_alias // expected-warning {{weak identifier '__unused_alias' never declared}}
58 #pragma weak td // expected-warning {{weak identifier 'td' never declared}}
61 #pragma weak td2 = __td2 // expected-warning {{weak identifier '__td2' never declared}}
69 #pragma weak stutter = __stutter
70 #pragma weak stutter = __stutter
75 #pragma weak stutter2 = __stutter2
76 #pragma weak stutter2 = __stutter2
80 // test decl/pragma weak order
83 #pragma weak declfirst = __declfirst
88 #pragma weak declfirstattr = __declfirstattr
94 //// ensure that pragma weak/__attribute((weak)) play nice
97 #pragma weak mix
98 __attribute((weak)) void mix(void) { }
99 // CHECK: define weak void @mix()
103 #pragma weak mix2 = __mix2
109 ////////////// test #pragma weak/__attribute combinations
111 // if the SAME ALIAS is already declared then it overrides #pragma weak
112 // resulting in a non-weak alias in this case
114 #pragma weak both = __both
124 #pragma weak both2 = __both2
129 #pragma weak both3 = __both3 // first, wins
134 ///////////// ensure that #pragma weak does not alter existing __attributes()
137 #pragma weak a1 = __a1
141 // attributes introduced BEFORE a combination of #pragma weak and alias()
144 #pragma weak a3 = __a3
149 #pragma weak xxx = __xxx
153 ///////////// PR10878: Make sure we can call a weak alias
155 #pragma weak SHA384Pad = SHA512Pad
160 // PR14046: Parse #pragma weak in function-local context
163 #pragma weak PR14046e
173 // #pragma weak must appear before or within the same TopLevelDecl as it
177 #pragma weak yyy
178 // NOTE: weak doesn't apply, not before or in same TopLevelDec(!)