From: Jan Hubicka Date: Sat, 28 Jun 2014 23:30:58 +0000 (+0200) Subject: objc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants, too. X-Git-Tag: releases/gcc-5.1.0~6598 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ba429440d1ec7e8f1841dfd08fe6976737bbd060;p=thirdparty%2Fgcc.git objc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants, too. * objc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants, too. From-SVN: r212112 --- diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index dfd8f387e061..b1f3d9e0fe3e 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,8 @@ +2014-06-24 Jan Hubicka + + * objc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants, + too. + 2014-06-24 Trevor Saunders * objc-act.c: Adjust. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index c379a51ba9a0..ef110523691d 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -2695,12 +2695,16 @@ objc_copy_binfo (tree binfo) static void objc_xref_basetypes (tree ref, tree basetype) { + tree variant; tree binfo = make_tree_binfo (basetype ? 1 : 0); - TYPE_BINFO (ref) = binfo; BINFO_OFFSET (binfo) = size_zero_node; BINFO_TYPE (binfo) = ref; + gcc_assert (TYPE_MAIN_VARIANT (ref) == ref); + for (variant = ref; variant; variant = TYPE_NEXT_VARIANT (variant)) + TYPE_BINFO (variant) = binfo; + if (basetype) { tree base_binfo = objc_copy_binfo (TYPE_BINFO (basetype));