| static int filelocal = 2; /* In Data section */ |
| static int filelocal_bss; /* In BSS section */ |
| #ifndef __STDC__ |
| #define const /**/ |
| #endif |
| static const int filelocal_ro = 202; /* In Read-Only Data section */ |
| |
| void foo () |
| { |
| |
| void bar (); |
| |
| static int funclocal = 3; /* In Data section */ |
| static int funclocal_bss; /* In BSS section */ |
| static const int funclocal_ro = 203; /* RO Data */ |
| static const int funclocal_ro_bss; /* RO Data */ |
| |
| funclocal_bss = 103; |
| bar (); |
| } |
| |
| void bar () |
| { |
| static int funclocal = 4; /* In data section */ |
| static int funclocal_bss; /* In BSS section */ |
| funclocal_bss = 104; |
| } |
| |
| void init1 () |
| { |
| filelocal_bss = 102; |
| } |
| |
| /* On some systems, such as AIX, unreferenced variables are deleted |
| from the executable. */ |
| void usestatics1 () |
| { |
| void useit1 (int val); |
| |
| useit1 (filelocal); |
| useit1 (filelocal_bss); |
| useit1 (filelocal_ro); |
| } |
| |
| #ifdef PROTOTYPES |
| void useit1 (int val) |
| #else |
| void useit1 (val) int val; |
| #endif |
| { |
| static int usedval; |
| |
| usedval = val; |
| } |