OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [special/] [initpri2.C] - Rev 698

Go to most recent revision | 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))));

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.