blob: c49fec08110176cb4030d8a66d35abc72af2c910 [file] [log] [blame]
/* Tests for #pragma init and #pragma fini. */
/* { dg-do run { target *-*-solaris2.* } } */
/* { dg-skip-if "no .pushsection/.popsection" { i?86-*-solaris2.8 && { ! gas } } } */
extern void abort ();
#pragma init /* { dg-warning "malformed" } */
#pragma init () /* { dg-warning "malformed" } */
#pragma init init_func /* { dg-warning "malformed" } */
#pragma fini /* { dg-warning "malformed" } */
#pragma fini () /* { dg-warning "malformed" } */
#pragma fini fini_func /* { dg-warning "malformed" } */
#pragma init (init_func, init_static_func)
int glob_1, glob_2;
void init_func (void)
{
glob_1 = 1;
}
static void init_static_func (void)
{
glob_2 = 2;
}
#pragma fini (fini_func, fini_static_func)
void fini_func (void)
{
}
static void fini_static_func (void)
{
}
int main()
{
if (glob_1 != 1)
abort ();
if (glob_2 != 2)
abort ();
return 0;
}