]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/cp/pt.c
c++: concept-ids and value-dependence [PR102412]
[gcc.git] / gcc / cp / pt.c
index 31bd51b7c9df148bcc193b1b00b1c44b67668fda..9e02669962025cf524d3f7654d24030eafeb35fc 100644 (file)
@@ -27061,7 +27061,8 @@ value_dependent_expression_p (tree expression)
       }
 
     case TEMPLATE_ID_EXPR:
-      return concept_definition_p (TREE_OPERAND (expression, 0));
+      return concept_definition_p (TREE_OPERAND (expression, 0))
+       && any_dependent_template_arguments_p (TREE_OPERAND (expression, 1));
 
     case CONSTRUCTOR:
       {
@@ -27468,18 +27469,6 @@ instantiation_dependent_r (tree *tp, int *walk_subtrees,
     case REQUIRES_EXPR:
       return *tp;
 
-    case CALL_EXPR:
-      /* Treat concept checks as dependent. */
-      if (concept_check_p (*tp))
-        return *tp;
-      break;
-
-    case TEMPLATE_ID_EXPR:
-      /* Treat concept checks as dependent.  */
-      if (concept_check_p (*tp))
-       return *tp;
-      break;
-
     case CONSTRUCTOR:
       if (CONSTRUCTOR_IS_DEPENDENT (*tp))
        return *tp;
This page took 0.04043 seconds and 5 git commands to generate.