re PR c++/51917 (g++.old-deja/g++.abi/vmihint.C FAILs)
authorJason Merrill <jason@redhat.com>
Wed, 25 Jan 2012 04:39:52 +0000 (23:39 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 25 Jan 2012 04:39:52 +0000 (23:39 -0500)
PR c++/51917
* decl.c (xref_basetypes): Check VEC_length instead of VEC_space.

From-SVN: r183509

gcc/cp/ChangeLog
gcc/cp/decl.c

index a79320c37feeafbbf8951019bdadeb1eb1e3c393..e4a3d6f8aba21a4e927b4f18bd7397d88cd9db3d 100644 (file)
@@ -1,5 +1,8 @@
 2012-01-24  Jason Merrill  <jason@redhat.com>
 
+       PR c++/51917
+       * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
+
        PR c++/51973
        * tree.c (called_fns_equal): Check template args.
        (cp_tree_equal): Call it.
index ef43dbf86ee27183cce2d9368da5f1b6b38ac46d..7fba04ab9f10a843f5afbcf782be55208c23758b 100644 (file)
@@ -11916,8 +11916,8 @@ xref_basetypes (tree ref, tree base_list)
       BINFO_BASE_ACCESS_APPEND (binfo, access);
     }
 
-  if (VEC_space (tree, CLASSTYPE_VBASECLASSES (ref), 1))
-    /* If we have space in the vbase vector, we must have shared at
+  if (VEC_length (tree, CLASSTYPE_VBASECLASSES (ref)) < max_vbases)
+    /* If we didn't get max_vbases vbases, we must have shared at
        least one of them, and are therefore diamond shaped.  */
     CLASSTYPE_DIAMOND_SHAPED_P (ref) = 1;