]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR c++/69631 (Bogus overflow in constant expression error)
authorJason Merrill <jason@redhat.com>
Mon, 8 Feb 2016 15:31:47 +0000 (10:31 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 8 Feb 2016 15:31:47 +0000 (10:31 -0500)
commit415594bb5c49d69f5350401d07abac62bce8656a
treefffcfe2c7dae6ee698e378ab02e9cdf2d86a254e
parentae9dd7f3f8219057b459356c8234bf4aa73f7e1e
re PR c++/69631 (Bogus overflow in constant expression error)

PR c++/69631

gcc/
* convert.c (convert_to_integer_1): Check dofold on truncation
distribution.
(convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
(convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
Rename from *_nofold.
* convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
(convert_to_real_nofold, convert_to_complex_nofold): New inlines.
gcc/cp/
* cp-tree.h (CONV_FOLD, CONV_BACKEND_CONVERT): New.
* cvt.c (convert): Pass CONV_BACKEND_CONVERT.
(ocp_convert): Use *_maybe_fold.
(cp_convert_to_pointer): Add dofold parameter.
* cp-gimplify.c (cp_fold) [CONVERT_EXPR]: Call convert.

From-SVN: r233216
gcc/ChangeLog
gcc/convert.c
gcc/convert.h
gcc/cp/ChangeLog
gcc/cp/cp-gimplify.c
gcc/cp/cp-tree.h
gcc/cp/cvt.c
gcc/testsuite/g++.dg/delayedfold/fwrapv1.C [new file with mode: 0644]