diff mbox

Small C++ PATCH to instantiation_dependent_r for TRAIT_EXPR

Message ID 559EB43E.4040607@redhat.com
State New
Headers show

Commit Message

Jason Merrill July 9, 2015, 5:49 p.m. UTC
There's no reason we should have the logic for whether a TRAIT_EXPR is 
value-dependent in two places.

Tested x86_64-pc-linux-gnu, applying to trunk.
diff mbox

Patch

commit fcd3802b2b88251b6c0dea63b38e6f269be7713d
Author: Jason Merrill <jason@redhat.com>
Date:   Tue Jul 7 23:49:21 2015 -0400

    	* pt.c (instantiation_dependent_r) [TRAIT_EXPR]: Call
    	value_dependent_expression_p.

diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 4911096..b5f1af8 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -20788,7 +20788,7 @@  cp_parser_member_declaration (cp_parser* parser)
 	  decl = cp_parser_alias_declaration (parser);
 	  /* Note that if we actually see the '=' token after the
 	     identifier, cp_parser_alias_declaration commits the
-	     tentative parse.  In that case, we really expects an
+	     tentative parse.  In that case, we really expect an
 	     alias-declaration.  Otherwise, we expect a using
 	     declaration.  */
 	  alias_decl_expected =
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index d3e9d31..63907ce 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -20131,7 +20131,7 @@  template_for_substitution (tree decl)
 }
 
 /* Returns true if we need to instantiate this template instance even if we
-   know we aren't going to emit it..  */
+   know we aren't going to emit it.  */
 
 bool
 always_instantiate_p (tree decl)
@@ -21684,9 +21684,7 @@  instantiation_dependent_r (tree *tp, int *walk_subtrees,
       }
 
     case TRAIT_EXPR:
-      if (dependent_type_p (TRAIT_EXPR_TYPE1 (*tp))
-	  || (TRAIT_EXPR_TYPE2 (*tp)
-	      && dependent_type_p (TRAIT_EXPR_TYPE2 (*tp))))
+      if (value_dependent_expression_p (*tp))
 	return *tp;
       *walk_subtrees = false;
       return NULL_TREE;