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)19void init_func (void) 20 { 21 glob_1 = 1; 22 } 23 init_static_func(void)24static void init_static_func (void) 25 { 26 glob_2 = 2; 27 } 28 29 #pragma fini (fini_func, fini_static_func) 30 fini_func(void)31void fini_func (void) 32 { 33 34 } 35 fini_static_func(void)36static void fini_static_func (void) 37 { 38 39 } 40 main()41int main() 42 { 43 if (glob_1 != 1) 44 abort (); 45 46 if (glob_2 != 2) 47 abort (); 48 49 return 0; 50 } 51