aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/rtti.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-08-09 09:23:47 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2016-08-09 09:23:47 +0200
commitcadec7ca6e41f459aa2e156e672e6941660f26db (patch)
treea1c64baf5c5e797b4a23ade716f72ea99c737103 /gcc/cp/rtti.c
parent98e5a19af592e5329ae7d991ad8d9e9b7b81be37 (diff)
downloadgcc-cadec7ca6e41f459aa2e156e672e6941660f26db.zip
gcc-cadec7ca6e41f459aa2e156e672e6941660f26db.tar.gz
gcc-cadec7ca6e41f459aa2e156e672e6941660f26db.tar.bz2
re PR c++/72809 (ICE on x86_64-linux-gnu (Segmentation fault, tree_check))
PR c++/72809 * rtti.c (get_pseudo_ti_index): Return TK_CLASS_TYPE for builtin aggregate types without TYPE_BINFO. * g++.dg/eh/stdarg1.C: New test. From-SVN: r239272
Diffstat (limited to 'gcc/cp/rtti.c')
-rw-r--r--gcc/cp/rtti.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index 43d5f15..75aeb0b 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -1293,7 +1293,8 @@ get_pseudo_ti_index (tree type)
ix = TK_CLASS_TYPE;
break;
}
- else if (!BINFO_N_BASE_BINFOS (TYPE_BINFO (type)))
+ else if (!TYPE_BINFO (type)
+ || !BINFO_N_BASE_BINFOS (TYPE_BINFO (type)))
{
ix = TK_CLASS_TYPE;
break;