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

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Wed Apr 25 07:10:16 2018
New Revision: 259629

URL: https://gcc.gnu.org/viewcvs?rev=259629&root=gcc&view=rev
Log:
        PR c++/85437
        PR c++/49171
        * cp-tree.h (REINTERPRET_CAST_P): New.
        * constexpr.c (cxx_eval_constant_expression) <case NOP_EXPR>:
        Reject REINTERPET_CAST_P conversions.  Use cplus_expand_constant
        for non-trivial PTRMEM_CST cases.
        * typeck.c (build_nop_reinterpret): New.
        (build_reinterpret_cast_1): Use it.  Set REINTERPRET_CAST_P on
        NOP_EXPRs returned by cp_convert.

        * g++.dg/cpp0x/addressof1.C: Make reinterpret cases runtime checks.
        * g++.dg/cpp0x/constexpr-cast.C: Remove xfails
        * g++.dg/cpp0x/constexpr-nullptr-2.C: Likewise.
        * g++.dg/cpp0x/constexpr-pmf1.C: Check when optimized.
        * g++.dg/cpp0x/pr85437-1.C: New.
        * g++.dg/cpp0x/pr85437-2.C: New.
        * g++.dg/cpp0x/pr85437-3.C: New.
        * g++.dg/cpp0x/pr85437-4.C: New.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/pr85437-1.C
    trunk/gcc/testsuite/g++.dg/cpp0x/pr85437-2.C
    trunk/gcc/testsuite/g++.dg/cpp0x/pr85437-3.C
    trunk/gcc/testsuite/g++.dg/cpp0x/pr85437-4.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/constexpr.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/typeck.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/cpp0x/addressof1.C
    trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-cast.C
    trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-nullptr-2.C
    trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-pmf1.C

Reply via email to