Rebase.
[official-gcc.git] / gcc / testsuite / g++.dg / opt / devirt5.C
blobf839cbeae2062832820ffbe6eea9a98c028e82b4
1 // PR c++/61659
2 // { dg-options "-O3" }
3 // { dg-final { scan-assembler-not "_ZN6parserIiE9getOptionEv" } }
5 struct generic_parser_base {
6   virtual void getOption();
7   void getExtraOptionNames() { getOption(); }
8 };
9 template <class DataType> struct parser : public generic_parser_base {
10   virtual void getOption() {}
12 struct PassNameParser : public parser<int> {
13   PassNameParser();
15 struct list {
16   PassNameParser Parser;
17   virtual void getExtraOptionNames() { return Parser.getExtraOptionNames(); }
19 list PassList;