// { dg-do run { target ia64-*-* } } | |
// { dg-options "-fabi-version=0" } | |
extern "C" void abort (); | |
struct ConstructedObject { | |
ConstructedObject() {}; | |
~ConstructedObject() {}; | |
ConstructedObject(const ConstructedObject &from) {}; | |
}; | |
struct FrameworkObject { | |
ConstructedObject action(); | |
}; | |
ConstructedObject FrameworkObject::action() { | |
void *r32, *r33; | |
asm("mov %0 = r32\nmov %1 = r33" : "=r"(r32), "=r"(r33) : ); | |
if (this != r33) { | |
abort (); | |
} | |
} | |
int main() | |
{ | |
FrameworkObject slawa; | |
slawa.action(); | |
return 0; | |
} | |