URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [initpri3.c] - Rev 801
Go to most recent revision | Compare with Previous | Blame | View Log
/* { dg-do run { target init_priority } } */ /* { dg-require-effective-target lto } */ /* { dg-options "-flto -O3" } */ extern void abort (); int i; int j; void c1() __attribute__((constructor (500))); void c2() __attribute__((constructor (700))); void c3() __attribute__((constructor (600))); void c1() { if (i++ != 0) abort (); } void c2() { if (i++ != 2) abort (); } void c3() { if (i++ != 1) abort (); } void d1() __attribute__((destructor (500))); void d2() __attribute__((destructor (700))); void d3() __attribute__((destructor (600))); void d1() { if (--i != 0) abort (); } void d2() { if (--i != 2) abort (); } void d3() { if (j != 2) abort (); if (--i != 1) abort (); } void cd4() __attribute__((constructor (800), destructor (800))); void cd4() { if (i != 3) abort (); ++j; } int main () { if (i != 3) return 1; if (j != 1) abort (); return 0; }
Go to most recent revision | Compare with Previous | Blame | View Log