URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 305 |
Rev 338 |
// The VxWorks kernel has no implementation of atexit, so local statics
|
// The VxWorks kernel has no implementation of atexit, so local statics
|
// are never destroyed.
|
// are never destroyed.
|
// { dg-do run { xfail vxworks_kernel } }
|
// { dg-do run { xfail vxworks_kernel } }
|
int count;
|
int count;
|
|
|
extern "C" void _exit(int);
|
extern "C" void _exit(int);
|
|
|
struct C {
|
struct C {
|
~C() { if (count != 1) _exit(1); }
|
~C() { if (count != 1) _exit(1); }
|
} c;
|
} c;
|
|
|
class A {
|
class A {
|
public:
|
public:
|
~A () { ++count; }
|
~A () { ++count; }
|
};
|
};
|
|
|
void f() {
|
void f() {
|
static A a;
|
static A a;
|
}
|
}
|
|
|
void g() {
|
void g() {
|
// Since this isn't constructed, we can't destruct it.
|
// Since this isn't constructed, we can't destruct it.
|
static A a;
|
static A a;
|
}
|
}
|
|
|
int main () {
|
int main () {
|
f();
|
f();
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.