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

--- Comment #4 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
Author: aoliva
Date: Tue Mar  6 06:24:40 2018
New Revision: 258269

URL: https://gcc.gnu.org/viewcvs?rev=258269&root=gcc&view=rev
Log:
[PR c++/84492] stmt expr ending with overload

We ICEd when returning a stmt expr that ends with an overloaded
function, because instantiate_type did not know what to do with
STMT_EXPRs.  And it shouldn't have to: the expected type of a stmt
expr cannot be used to resolve its value: an unresolved overload
cannot supply the result of a stmt expr.  Catch that and report the
error in the stmt expr before we have a chance to instantiate it.

for  gcc/cp/ChangeLog

        PR c++/84492
        * semantics.c (finish_stmt_expr_expr): Reject unresolved
        overloads used as stmt expr values.

for  gcc/testsuite/ChangeLog

        PR c++/84492
        * g++.dg/pr84492.C: New.

Added:
    trunk/gcc/testsuite/g++.dg/pr84492.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/semantics.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to