1static int filelocal = 2;	/* In Data section */
2static int filelocal_bss;	/* In BSS section */
3#ifndef __STDC__
4#define	const	/**/
5#endif
6static const int filelocal_ro = 202;	/* In Read-Only Data section */
7
8void foo ()
9{
10
11  void bar ();
12
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
22void bar ()
23{
24  static int funclocal = 4;	/* In data section */
25  static int funclocal_bss;	/* In BSS section */
26  funclocal_bss = 104;
27}
28
29void init1 ()
30{
31  filelocal_bss = 102;
32}
33
34/* On some systems, such as AIX, unreferenced variables are deleted
35   from the executable.  On other compilers, such as ARM RealView,
36   const variables without their address taken are deleted.  */
37void usestatics1 ()
38{
39  void useit1 (const int *val);
40
41  useit1 (&filelocal);
42  useit1 (&filelocal_bss);
43  useit1 (&filelocal_ro);
44}
45
46#ifdef PROTOTYPES
47void useit1 (const int *val)
48#else
49void useit1 (val) const int *val;
50#endif
51{
52    static int usedval;
53
54    usedval = *val;
55}
56