URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [g++.dg/] [special/] [initpri2.C] - Rev 301
Compare with Previous | Blame | View Log
/* { dg-do compile { target init_priority } } */
/* Priorities must be in the range [0, 65535]. */
void c1()
__attribute__((constructor (-1))); /* { dg-error "priorities" } */
void c2()
__attribute__((constructor (65536))); /* { dg-error "priorities" } */
void d1()
__attribute__((destructor (-1))); /* { dg-error "priorities" } */
void d2()
__attribute__((destructor (65536))); /* { dg-error "priorities" } */
/* Priorities 0-100 are reserved for system libraries. */
void c3()
__attribute__((constructor (50))); /* { dg-warning "reserved" } */
void d3()
__attribute__((constructor (50))); /* { dg-warning "reserved" } */
/* Priorities must be integral constants. */
/* Pointers, even with constant values, are not allowed. */
void c4()
__attribute__((constructor ((void*) 500))); /* { dg-error "priorities" } */
void d4()
__attribute__((destructor ((void*) 500))); /* { dg-error "priorities" } */
/* Integer variables are not allowed. */
int i;
void c5()
__attribute__((constructor ((i)))); /* { dg-error "priorities" } */
void d5()
__attribute__((destructor ((i)))); /* { dg-error "priorities" } */
/* Enumeration constants are allowed. */
enum E { e = 500 };
void c6()
__attribute__((constructor ((e))));
void d6()
__attribute__((destructor ((e))));