diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/opt/pr61654.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/opt/pr61654.C | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/opt/pr61654.C b/gcc-4.9/gcc/testsuite/g++.dg/opt/pr61654.C new file mode 100644 index 000000000..78dc0c14c --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/opt/pr61654.C @@ -0,0 +1,27 @@ +// PR middle-end/61654 +// { dg-do compile } + +class A +{ + virtual int a (int, int = 0) = 0; + int b (const int &); + int c; +}; + +class B : virtual A +{ + int d; + int a (int, int); +}; + +int +A::b (const int &) +{ + return a ('\0'); +} + +int +B::a (int, int) +{ + return 0 ? 0 : d; +} |