// { 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 ();
  }
  return ConstructedObject();
}

int main()
{
  FrameworkObject slawa;
  slawa.action();
  return 0;
}

