1// { dg-do run { target ia64-*-* } } 2// { dg-options "-fabi-version=0" } 3 4extern "C" void abort (); 5 6struct ConstructedObject { 7 ConstructedObject() {}; 8 ~ConstructedObject() {}; 9 ConstructedObject(const ConstructedObject &from) {}; 10}; 11 12struct FrameworkObject { 13 ConstructedObject action(); 14}; 15 16ConstructedObject FrameworkObject::action() { 17 void *r32, *r33; 18 19 asm("mov %0 = r32\nmov %1 = r33" : "=r"(r32), "=r"(r33) : ); 20 if (this != r33) { 21 abort (); 22 } 23} 24 25int main() 26{ 27 FrameworkObject slawa; 28 slawa.action(); 29 return 0; 30} 31 32