* decl.c (make_typename_type): s/parameters/arguments/.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / rv-array1.C
blob90757648472139b934701b9610cd6ad435c20956
1 // PR c++/66501
2 // { dg-do run { target c++11 } }
4 int total_size;
6 struct Object
8   int size = 0;
10   Object () = default;
12   ~Object () {
13     total_size -= size;
14   }
16   Object (const Object &) = delete;
17   Object & operator= (const Object &) = delete;
19   Object (Object && b) {
20     size = b.size;
21     b.size = 0;
22   }
24   Object & operator= (Object && b) {
25     if (this != & b) {
26       total_size -= size;
27       size = b.size;
28       b.size = 0;
29     }
30     return * this;
31   }
33   void grow () {
34     size ++;
35     total_size ++;
36   }
39 struct Container {
40   Object objects[2];
43 int main (void)
45   Container container;
47   // grow some objects in the container
48   for (auto & object : container.objects)
49     object.grow ();
51   // now empty it
52   container = Container ();
54   return total_size;