diff options
author | Kai Tietz <ktietz70@googlemail.com> | 2015-11-13 22:24:45 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2015-11-13 17:24:45 -0500 |
commit | 269e63b735d6e4e18367e94e8417b5d5eb799960 (patch) | |
tree | 2ab66075ba691c6242d45ab66643cf2f0358a6a5 /gcc/c-family | |
parent | 9514e74fcd529835a8963f91e12e1ee853149095 (diff) | |
download | gcc-269e63b735d6e4e18367e94e8417b5d5eb799960.zip gcc-269e63b735d6e4e18367e94e8417b5d5eb799960.tar.gz gcc-269e63b735d6e4e18367e94e8417b5d5eb799960.tar.bz2 |
Add non-folding variants for convert_to_*.
2015-11-13 Kai Tietz <ktietz70@googlemail.com>
Marek Polacek <polacek@redhat.com>
Jason Merrill <jason@redhat.com>
gcc/
* convert.c (maybe_fold_build1_loc): New.
(maybe_fold_build2_loc): New.
(convert_to_pointer_1): Split out from convert_to_pointer.
(convert_to_pointer_nofold): New.
(convert_to_real_1): Split out from convert_to_real.
(convert_to_real_nofold): New.
(convert_to_integer_1): Split out from convert_to_integer.
(convert_to_integer_nofold): New.
(convert_to_complex_1): Split out from convert_to_complex.
(convert_to_complex_nofold): New.
* convert.h: Declare new functions.
* tree-complex.c (create_one_component_var): Break up line to
avoid sequence point issues.
gcc/c-family/
* c-lex.c (interpret_float): Use fold_convert.
Co-Authored-By: Jason Merrill <jason@redhat.com>
Co-Authored-By: Marek Polacek <polacek@redhat.com>
From-SVN: r230359
Diffstat (limited to 'gcc/c-family')
-rw-r--r-- | gcc/c-family/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/c-family/c-lex.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index e3f81ff..7262cfd 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,7 @@ +2015-11-13 Kai Tietz <ktietz70@googlemail.com> + + * c-lex.c (interpret_float): Use fold_convert. + 2015-11-13 David Malcolm <dmalcolm@redhat.com> * c-common.c (c_fully_fold_internal): Capture existing souce_range, diff --git a/gcc/c-family/c-lex.c b/gcc/c-family/c-lex.c index 7800b7d..9c86ba7 100644 --- a/gcc/c-family/c-lex.c +++ b/gcc/c-family/c-lex.c @@ -926,8 +926,9 @@ interpret_float (const cpp_token *token, unsigned int flags, value = build_real (const_type, real); if (flags & CPP_N_IMAGINARY) { - value = build_complex (NULL_TREE, convert (const_type, - integer_zero_node), value); + value = build_complex (NULL_TREE, + fold_convert (const_type, + integer_zero_node), value); if (type != const_type) { const_type = TREE_TYPE (value); |