// { dg-do "run" }
// { dg-options "-std=c++0x" }
// Contributed by Sylvain Pion
static int rvalue_constructions = 0;

struct A {
  A ()         { }
  A (const A&) { }
  A (A&&)      { ++rvalue_constructions; }
  ~A ()        { }
};

A f() {  return A(); }

extern "C" {
  void abort(void);
}

int main()
{
  A c = f();

  if (rvalue_constructions != 0)
    abort();
}
