Merged revisions 208012,208018-208019,208021,208023-208030,208033,208037,208040-20804...
[official-gcc.git] / main / gcc / testsuite / g++.dg / other / final2.C
blob92e753796424d56eaa9f6ae97bc47e19c38ba9e3
1 // PR c++/53186
2 // { dg-do compile { target c++11 } }
3 // { dg-options "-fdump-tree-original"  }
5 struct F1
7   virtual void operator()() final;
8   virtual operator int() final;
9   virtual int operator++() final;
12 struct F2 final
14   virtual void operator()();
15   virtual operator int();
16   virtual int operator++();
19 void fooF1(F1& a) { a(); int m = a; ++a; }
20 void fooF2(F2& a) { a(); int m = a; ++a; }
22 // { dg-final { scan-tree-dump-times "F1::operator\\(\\)" 1 "original" } }
23 // { dg-final { scan-tree-dump-times "F1::operator int" 1 "original" } }
24 // { dg-final { scan-tree-dump-times "F1::operator\\+\\+" 1 "original" } }
25 // { dg-final { scan-tree-dump-times "F2::operator\\(\\)" 1 "original" } }
26 // { dg-final { scan-tree-dump-times "F2::operator int" 1 "original" } }
27 // { dg-final { scan-tree-dump-times "F2::operator\\+\\+" 1 "original" } }
28 // { dg-final { cleanup-tree-dump "original" } }