Commit | Line | Data |
---|---|---|
c906108c SS |
1 | static int filelocal = 2; /* In Data section */ |
2 | static int filelocal_bss; /* In BSS section */ | |
3 | #ifndef __STDC__ | |
4 | #define const /**/ | |
5 | #endif | |
6 | static const int filelocal_ro = 202; /* In Read-Only Data section */ | |
7 | ||
085dd6e6 | 8 | void foo () |
c906108c | 9 | { |
085dd6e6 JM |
10 | |
11 | void bar (); | |
12 | ||
c906108c SS |
13 | static int funclocal = 3; /* In Data section */ |
14 | static int funclocal_bss; /* In BSS section */ | |
15 | static const int funclocal_ro = 203; /* RO Data */ | |
16 | static const int funclocal_ro_bss; /* RO Data */ | |
17 | ||
18 | funclocal_bss = 103; | |
19 | bar (); | |
20 | } | |
21 | ||
085dd6e6 | 22 | void bar () |
c906108c SS |
23 | { |
24 | static int funclocal = 4; /* In data section */ | |
25 | static int funclocal_bss; /* In BSS section */ | |
26 | funclocal_bss = 104; | |
27 | } | |
28 | ||
085dd6e6 | 29 | void init1 () |
c906108c SS |
30 | { |
31 | filelocal_bss = 102; | |
32 | } | |
33 | ||
34 | /* On some systems, such as AIX, unreferenced variables are deleted | |
0219b378 DJ |
35 | from the executable. On other compilers, such as ARM RealView, |
36 | const variables without their address taken are deleted. */ | |
085dd6e6 | 37 | void usestatics1 () |
c906108c | 38 | { |
0219b378 | 39 | void useit1 (const int *val); |
085dd6e6 | 40 | |
0219b378 DJ |
41 | useit1 (&filelocal); |
42 | useit1 (&filelocal_bss); | |
43 | useit1 (&filelocal_ro); | |
c906108c SS |
44 | } |
45 | ||
085dd6e6 | 46 | #ifdef PROTOTYPES |
0219b378 | 47 | void useit1 (const int *val) |
085dd6e6 | 48 | #else |
0219b378 | 49 | void useit1 (val) const int *val; |
085dd6e6 | 50 | #endif |
c906108c SS |
51 | { |
52 | static int usedval; | |
53 | ||
0219b378 | 54 | usedval = *val; |
c906108c | 55 | } |