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

--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Marek Polacek
<mpola...@gcc.gnu.org>:

https://gcc.gnu.org/g:6fd09a6e8bcadaa69e1fdca09263990cc1c5245f

commit r10-9208-g6fd09a6e8bcadaa69e1fdca09263990cc1c5245f
Author: Marek Polacek <pola...@redhat.com>
Date:   Sat Oct 24 15:26:27 2020 -0400

    c++: Prevent warnings for value-dependent exprs [PR96742]

    Here, in r11-155, I changed the call to uses_template_parms to
    type_dependent_expression_p_push to avoid a crash in C++98 in
    value_dependent_expression_p on a non-constant expression.  But that
    prompted a host of complaints that we now warn for value-dependent
    expressions in templates.  Those warnings are technically valid, but
    people still don't want them because they're awkward to avoid.  This
    patch uses value_dependent_expression_p or type_dependent_expression_p.
    But make sure that we don't ICE in value_dependent_expression_p by
    checking potential_constant_expression first.

    gcc/cp/ChangeLog:

            PR c++/96675
            PR c++/96742
            * pt.c (tsubst_copy_and_build): Call value_dependent_expression_p
or
            type_dependent_expression_p instead of
type_dependent_expression_p_push.
            But only call value_dependent_expression_p for expressions that are
            potential_constant_expression.

    gcc/testsuite/ChangeLog:

            PR c++/96675
            PR c++/96742
            * g++.dg/warn/Wdiv-by-zero-3.C: Turn dg-warning into dg-bogus.
            * g++.dg/warn/Wtautological-compare3.C: New test.
            * g++.dg/warn/Wtype-limits5.C: New test.
            * g++.old-deja/g++.pt/crash10.C: Remove dg-warning.

    (cherry picked from commit 976e7ef1a2d54f46021f74d071d9fdb9631298f8)
  • [Bug c++/96742] [10 Regression]... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to