aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/abi
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2003-12-12 14:06:53 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2003-12-12 14:06:53 +0000
commit90d46c28f20ebc52d770c179d39bb429a0a6f55a (patch)
treec0cf098c7b8d4769179d7d6d52b26a631640cded /gcc/testsuite/g++.dg/abi
parenta7bc3cdc851b5dc5200d8faec328e57ae16f765d (diff)
downloadgcc-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.C32
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 {};
+