-
- Downloads
re PR c++/85437 (member pointer static upcast rejected in a constexpr context)
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. From-SVN: r259629
Showing
- gcc/cp/ChangeLog 12 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/constexpr.c 20 additions, 15 deletionsgcc/cp/constexpr.c
- gcc/cp/cp-tree.h 6 additions, 0 deletionsgcc/cp/cp-tree.h
- gcc/cp/typeck.c 21 additions, 5 deletionsgcc/cp/typeck.c
- gcc/testsuite/ChangeLog 15 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/cpp0x/addressof1.C 11 additions, 6 deletionsgcc/testsuite/g++.dg/cpp0x/addressof1.C
- gcc/testsuite/g++.dg/cpp0x/constexpr-cast.C 2 additions, 2 deletionsgcc/testsuite/g++.dg/cpp0x/constexpr-cast.C
- gcc/testsuite/g++.dg/cpp0x/constexpr-nullptr-2.C 2 additions, 3 deletionsgcc/testsuite/g++.dg/cpp0x/constexpr-nullptr-2.C
- gcc/testsuite/g++.dg/cpp0x/constexpr-pmf1.C 2 additions, 2 deletionsgcc/testsuite/g++.dg/cpp0x/constexpr-pmf1.C
- gcc/testsuite/g++.dg/cpp0x/pr85437-1.C 17 additions, 0 deletionsgcc/testsuite/g++.dg/cpp0x/pr85437-1.C
- gcc/testsuite/g++.dg/cpp0x/pr85437-2.C 8 additions, 0 deletionsgcc/testsuite/g++.dg/cpp0x/pr85437-2.C
- gcc/testsuite/g++.dg/cpp0x/pr85437-3.C 8 additions, 0 deletionsgcc/testsuite/g++.dg/cpp0x/pr85437-3.C
- gcc/testsuite/g++.dg/cpp0x/pr85437-4.C 8 additions, 0 deletionsgcc/testsuite/g++.dg/cpp0x/pr85437-4.C
Loading
Please register or sign in to comment