URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 301 |
Rev 338 |
/* { dg-do run { target init_priority } } */
|
/* { dg-do run { target init_priority } } */
|
|
|
extern "C" void abort ();
|
extern "C" void abort ();
|
|
|
int i;
|
int i;
|
int j;
|
int j;
|
|
|
void c1() __attribute__((constructor (500)));
|
void c1() __attribute__((constructor (500)));
|
void c2() __attribute__((constructor (700)));
|
void c2() __attribute__((constructor (700)));
|
void c3() __attribute__((constructor (600)));
|
void c3() __attribute__((constructor (600)));
|
|
|
void c1() {
|
void c1() {
|
if (i++ != 0)
|
if (i++ != 0)
|
abort ();
|
abort ();
|
}
|
}
|
|
|
void c2() {
|
void c2() {
|
if (i++ != 2)
|
if (i++ != 2)
|
abort ();
|
abort ();
|
}
|
}
|
|
|
void c3() {
|
void c3() {
|
if (i++ != 1)
|
if (i++ != 1)
|
abort ();
|
abort ();
|
}
|
}
|
|
|
void d1() __attribute__((destructor (500)));
|
void d1() __attribute__((destructor (500)));
|
void d2() __attribute__((destructor (700)));
|
void d2() __attribute__((destructor (700)));
|
void d3() __attribute__((destructor (600)));
|
void d3() __attribute__((destructor (600)));
|
|
|
void d1() {
|
void d1() {
|
if (--i != 0)
|
if (--i != 0)
|
abort ();
|
abort ();
|
}
|
}
|
|
|
void d2() {
|
void d2() {
|
if (--i != 2)
|
if (--i != 2)
|
abort ();
|
abort ();
|
}
|
}
|
|
|
void d3() {
|
void d3() {
|
if (j != 2)
|
if (j != 2)
|
abort ();
|
abort ();
|
if (--i != 1)
|
if (--i != 1)
|
abort ();
|
abort ();
|
}
|
}
|
|
|
void cd4() __attribute__((constructor (800), destructor (800)));
|
void cd4() __attribute__((constructor (800), destructor (800)));
|
|
|
void cd4() {
|
void cd4() {
|
if (i != 3)
|
if (i != 3)
|
abort ();
|
abort ();
|
++j;
|
++j;
|
}
|
}
|
|
|
int main () {
|
int main () {
|
if (i != 3)
|
if (i != 3)
|
return 1;
|
return 1;
|
if (j != 1)
|
if (j != 1)
|
abort ();
|
abort ();
|
return 0;
|
return 0;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.