Create embedded-5_0-branch branch for development on ARM embedded cores.
[official-gcc.git] / embedded-5_0-branch / gcc / testsuite / gcc.dg / weak / weak-1.c
blob14e9de7acba17cd2714bdd6e48e450512e04278a
1 /* { dg-do compile } */
2 /* { dg-require-weak "" } */
3 /* { dg-options "-fno-common" } */
4 /* { dg-skip-if "" { *-*-mingw* } { "*" } { "" } } */
6 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?a" } } */
7 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?b" } } */
8 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?c" } } */
9 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?d" } } */
10 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?e" } } */
11 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?g" } } */
12 /* { dg-final { scan-assembler-not "weak\[^ \t\]*\[ \t\]_?i" } } */
13 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?j" } } */
15 #pragma weak a
16 int a;
18 int b;
19 #pragma weak b
21 #pragma weak c
22 extern int c;
23 int c;
25 extern int d;
26 #pragma weak d
27 int d;
29 #pragma weak e
30 void e(void) { }
32 #if 0
33 /* This permutation is illegal. */
34 void f(void) { }
35 #pragma weak f
36 #endif
38 #pragma weak g
39 int g = 1;
41 #if 0
42 /* This permutation is illegal. */
43 int h = 1;
44 #pragma weak h
45 #endif
47 #pragma weak i
48 extern int i;
50 #pragma weak j
51 extern int j;
52 int use_j() { return j; }