diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2003-12-12 14:06:53 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2003-12-12 14:06:53 +0000 |
commit | 90d46c28f20ebc52d770c179d39bb429a0a6f55a (patch) | |
tree | c0cf098c7b8d4769179d7d6d52b26a631640cded /gcc/testsuite/g++.dg/abi | |
parent | a7bc3cdc851b5dc5200d8faec328e57ae16f765d (diff) | |
download | gcc-90d46c28f20ebc52d770c179d39bb429a0a6f55a.zip gcc-90d46c28f20ebc52d770c179d39bb429a0a6f55a.tar.gz gcc-90d46c28f20ebc52d770c179d39bb429a0a6f55a.tar.bz2 |
re PR c++/12881 (ICE in make_thunk)
PR c++/12881
* method.c (make_thunk): Deal with thunk aliases when searching
for a thunk. Robustify assertion.
From-SVN: r74571
Diffstat (limited to 'gcc/testsuite/g++.dg/abi')
-rw-r--r-- | gcc/testsuite/g++.dg/abi/covariant2.C | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/abi/covariant2.C b/gcc/testsuite/g++.dg/abi/covariant2.C new file mode 100644 index 0000000..233c55a --- /dev/null +++ b/gcc/testsuite/g++.dg/abi/covariant2.C @@ -0,0 +1,32 @@ +// { dg-do compile } + +// Copyright (C) 2003 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 12 Dec 2003 <nathan@codesourcery.com> +// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de> + +// PR c++/12881. ICE in thunk generation + +struct c1 {}; + +struct c3 : virtual c1 +{ + virtual c1* f6() {}; + int i; +}; + +struct c6 : virtual c3 { }; + +struct c7 : c3 +{ + virtual c3* f6() {}; +}; + +struct c24 : virtual c7 +{ + virtual c6* f6(); +}; + +c6* c24::f6() { return 0; } + +struct c31 : c24 {}; + |