re PR c++/56238 (ICE in tree check: expected record_type or union_type or qual_union_...
authorJason Merrill <jason@redhat.com>
Sun, 17 Mar 2013 02:34:03 +0000 (22:34 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Sun, 17 Mar 2013 02:34:03 +0000 (22:34 -0400)
PR c++/56238
* pt.c (fold_non_dependent_expr_sfinae): Check
instantiation_dependent_expression_p.

From-SVN: r196724

gcc/cp/ChangeLog
gcc/cp/pt.c

index 8aa39524b56e8ab8a96efcce12c12f9156fff483..fa17a08c99581df871d933d78271be9be0cf85b7 100644 (file)
@@ -1,5 +1,9 @@
 2013-03-16  Jason Merrill  <jason@redhat.com>
 
+       PR c++/56238
+       * pt.c (fold_non_dependent_expr_sfinae): Check
+       instantiation_dependent_expression_p.
+
        PR c++/56095
        * class.c (resolve_address_of_overloaded_function): Accept a
        reference to function for target_type.
index 36175ca7022c0097b33f514492876f4b27181268..6264add0947cceb135c1f5a2f8f932338743a1f0 100644 (file)
@@ -5044,9 +5044,8 @@ fold_non_dependent_expr_sfinae (tree expr, tsubst_flags_t complain)
 
      as two declarations of the same function, for example.  */
   if (processing_template_decl
-      && !type_dependent_expression_p (expr)
-      && potential_constant_expression (expr)
-      && !value_dependent_expression_p (expr))
+      && !instantiation_dependent_expression_p (expr)
+      && potential_constant_expression (expr))
     {
       HOST_WIDE_INT saved_processing_template_decl;