[PR c++/71965] silence multi-dim array init sorry without tf_error
commitb8eecce832c7af86320b3ef61914c0d987b97a4e
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Mar 2018 22:08:34 +0000 (21 22:08 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Mar 2018 22:08:34 +0000 (21 22:08 +0000)
treef60a71035f6cc6f57530183d8c5f038998863e36
parent70a32e4934cfbc26aee57bbf2ea7d8ceadd74a45
[PR c++/71965] silence multi-dim array init sorry without tf_error

We shouldn't substitute templates into short-circuited-out concepts
constraints, but we do, and to add insult to injury, we issue a
sorry() error when a concept that shouldn't even have been substituted
attempts to perform a multi-dimensional array initialization with a
new{} expression.

Although fixing the requirements short-circuiting is probably too
risky at this point, we can get closer to the intended effect by
silencing that sorry just as we silence other errors.

for  gcc/cp/ChangeLog

PR c++/71965
* init.c (build_vec_init): Silence error, former sorry,
without tf_error.

for  gcc/testsuite/ChangeLog

PR c++/71965
* g++.dg/concepts/pr71965.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258749 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/init.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/concepts/pr71965.C [new file with mode: 0644]