aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family
diff options
context:
space:
mode:
authorKai Tietz <ktietz70@googlemail.com>2015-11-13 22:24:45 +0000
committerJason Merrill <jason@gcc.gnu.org>2015-11-13 17:24:45 -0500
commit269e63b735d6e4e18367e94e8417b5d5eb799960 (patch)
tree2ab66075ba691c6242d45ab66643cf2f0358a6a5 /gcc/c-family
parent9514e74fcd529835a8963f91e12e1ee853149095 (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--gcc/c-family/c-lex.c5
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);