aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2020-06-18 09:38:42 -0400
committerGiuliano Belinassi <giuliano.belinassi@usp.br>2020-08-17 13:14:02 -0300
commit2e323e17e4839b7ea7eee20db6e4206a8ac618e4 (patch)
treef36f75db8ac347efdf3dc2d3664ed71f195a23c2 /gcc/fortran
parent3b90d824360703e7c9e7ee2bc2751fb5846b4874 (diff)
downloadgcc-2e323e17e4839b7ea7eee20db6e4206a8ac618e4.zip
gcc-2e323e17e4839b7ea7eee20db6e4206a8ac618e4.tar.gz
gcc-2e323e17e4839b7ea7eee20db6e4206a8ac618e4.tar.bz2
c++: ICE in requires-expressions with invalid args [PR95735]
This ICE-on-invalid goes back to GCC 6. In finish_template_variable, if coerce_innermost_template_parms returns error_mark_node, we pass it down to constraints_satisfied_p and that error_mark_node flows down to various satisfy_* functions and then to various tsubst_* functions, where we crash. diagnose_constraints also doesn't cope with error arglist, so I think we should just return as in the patch below. gcc/cp/ChangeLog: PR c++/95735 * pt.c (finish_template_variable): Return if coerce_innermost_template_parms return error_mark_node. gcc/testsuite/ChangeLog: PR c++/95735 * g++.dg/cpp2a/concepts-err2.C: New test.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions