https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71965

--- Comment #9 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
Author: aoliva
Date: Wed Mar 21 22:08:34 2018
New Revision: 258749

URL: https://gcc.gnu.org/viewcvs?rev=258749&root=gcc&view=rev
Log:
[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.

Added:
    trunk/gcc/testsuite/g++.dg/concepts/pr71965.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/init.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to