]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR c++/49855 (internal compiler error: in fold_convert_const_int_from_real)
authorJason Merrill <jason@redhat.com>
Tue, 11 Oct 2011 17:53:07 +0000 (13:53 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 11 Oct 2011 17:53:07 +0000 (13:53 -0400)
commita4474a3854f4fec4bfccad91706f95a6737e6a79
tree473b4642325a93846dad0753e76e9aebf4091fc9
parent816e239ae16481accfae7b85359dc6ebce1dd97b
re PR c++/49855 (internal compiler error: in fold_convert_const_int_from_real)

PR c++/49855
PR c++/49896
* cp-tree.def (IMPLICIT_CONV_EXPR): New.
* call.c (perform_implicit_conversion_flags): Build it
instead of NOP_EXPR.
* cp-objcp-common.c (cp_common_init_ts): It's typed.
* cxx-pretty-print.c (pp_cxx_cast_expression): Handle it.
(pp_cxx_expression): Likewise.
* error.c (dump_expr): Likewise.
* semantics.c (potential_constant_expression_1): Likewise.
* tree.c (cp_tree_equal): Likewise.
(cp_walk_subtrees): Likewise.
* pt.c (iterative_hash_template_arg): Likewise.
(for_each_template_parm_r): Likewise.
(type_dependent_expression_p): Likewise.
(tsubst_copy, tsubst_copy_and_build): Handle IMPLICIT_CONV_EXPR
and CONVERT_EXPR.
* cp-tree.h (IMPLICIT_CONV_EXPR_DIRECT_INIT): New.

From-SVN: r179813
14 files changed:
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-objcp-common.c
gcc/cp/cp-tree.def
gcc/cp/cp-tree.h
gcc/cp/cxx-pretty-print.c
gcc/cp/error.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/cp/tree.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/constexpr-template3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/constant1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/constant2.C [new file with mode: 0644]