gcc/cp/
* pt.c (tsubst_copy_and_build): Perform the first substitution without
diagnostics and a second only if tsubst_requries_expr returns an error.
From-SVN: r278449
+2019-11-19 Andrew Sutton <asutton@lock3software.com>
+
+ PR c++/92403
+ Suppress diagnostics substituting into a requires-expression.
+ * pt.c (tsubst_copy_and_build): Perform the first substitution without
+ diagnostics and a second only if tsubst_requries_expr returns an error.
+
2019-11-19 Jakub Jelinek <jakub@redhat.com>
PR c++/92504
}
case REQUIRES_EXPR:
- RETURN (tsubst_requires_expr (t, args, complain, in_decl));
+ {
+ tree r = tsubst_requires_expr (t, args, tf_none, in_decl);
+ if (r == error_mark_node && (complain & tf_error))
+ tsubst_requires_expr (t, args, complain, in_decl);
+ RETURN (r);
+ }
case RANGE_EXPR:
/* No need to substitute further, a RANGE_EXPR will always be built