1 /* Tests for #pragma init and #pragma fini.  */
2 
3 /* { dg-do run { target *-*-solaris2.* } } */
4 
5 extern void abort ();
6 
7 #pragma init		/* { dg-warning "malformed" } */
8 #pragma init ()		/* { dg-warning "malformed" } */
9 #pragma init init_func	/* { dg-warning "malformed" } */
10 
11 #pragma fini		/* { dg-warning "malformed" } */
12 #pragma fini ()		/* { dg-warning "malformed" } */
13 #pragma fini fini_func	/* { dg-warning "malformed" } */
14 
15 #pragma init (init_func, init_static_func)
16 
17 int glob_1, glob_2;
18 
init_func(void)19 void init_func (void)
20 {
21   glob_1 = 1;
22 }
23 
init_static_func(void)24 static void init_static_func (void)
25 {
26   glob_2 = 2;
27 }
28 
29 #pragma fini (fini_func, fini_static_func)
30 
fini_func(void)31 void fini_func (void)
32 {
33 
34 }
35 
fini_static_func(void)36 static void fini_static_func (void)
37 {
38 
39 }
40 
main()41 int main()
42 {
43   if (glob_1 != 1)
44     abort ();
45 
46   if (glob_2 != 2)
47     abort ();
48 
49   return 0;
50 }
51