diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/inherit/covariant9.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/inherit/covariant9.C | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/inherit/covariant9.C b/gcc-4.9/gcc/testsuite/g++.dg/inherit/covariant9.C new file mode 100644 index 000000000..62c3a2202 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/inherit/covariant9.C @@ -0,0 +1,32 @@ +// { dg-do link } +// { dg-options "-w -ansi -pedantic" } + +// Contributed by Nathan Sidwell 23 Oct 2003 <nathan@codesourcery.com> +// Origin: grigory@stl.sarov.ru +// PR c++/12698. Duplicate covariant thunks emitted. + +struct c1 {}; + +struct c0 { + int i; + virtual c1& f10() {} +}; + +struct c2 : virtual c1, c0 { }; + +struct c6 : virtual c2, c0 { + virtual c2& f10() {} +}; + +struct c14 : virtual c2 { }; + +struct c19 : virtual ::c6 { + virtual class ::c14& f10() {} +}; + +int main () +{ + c19 obj; +} + + |