re PR c++/51029 ([C++0x] [4.7 Regression] ICE with -std=c++0x)
[gcc.git] / gcc / cp / class.c
index f10a749032d634ab894171c6721d6bff2b6e46b3..d2cf63c7d0f51e992d91d251c799a3b813d7fbf8 100644 (file)
@@ -359,6 +359,11 @@ build_base_path (enum tree_code code,
         V_BINFO.  That offset is an entry in D_BINFO's vtable.  */
       tree v_offset;
 
+      /* In a constructor template, current_in_charge_parm isn't set,
+        and we might end up here via fold_non_dependent_expr.  */
+      if (fixed_type_p < 0 && !(cfun && current_in_charge_parm))
+       fixed_type_p = 0;
+
       if (fixed_type_p < 0 && in_base_initializer)
        {
          /* In a base member initializer, we cannot rely on the