aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2005-01-12 06:45:35 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2005-01-12 06:45:35 +0000
commit157b38901f952183b0a8b2a2495db938ea491fdd (patch)
tree8b08de0f152670767dedbfb70f6250f142f63c1b
parent9a43b902d329b564975b38d097cf1ba0cd5bbda3 (diff)
downloadgcc-157b38901f952183b0a8b2a2495db938ea491fdd.zip
gcc-157b38901f952183b0a8b2a2495db938ea491fdd.tar.gz
gcc-157b38901f952183b0a8b2a2495db938ea491fdd.tar.bz2
builtins.c (fold_builtin_fabs): Convert argument to the appropriate type as args of unprototyped builtins...
* builtins.c (fold_builtin_fabs): Convert argument to the appropriate type as args of unprototyped builtins aren't automatically promoted. (fold_builtin_abs): Likewise. From-SVN: r93220
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/builtins.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 587891a..aa89b84 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-01-11 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (fold_builtin_fabs): Convert argument to the appropriate
+ type as args of unprototyped builtins aren't automatically promoted.
+ (fold_builtin_abs): Likewise.
+
2005-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.in: Set a `build-warn' variable.
diff --git a/gcc/builtins.c b/gcc/builtins.c
index e231d83..a13ecef 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -7461,6 +7461,7 @@ fold_builtin_fabs (tree arglist, tree type)
return 0;
arg = TREE_VALUE (arglist);
+ arg = fold_convert (type, arg);
if (TREE_CODE (arg) == REAL_CST)
return fold_abs_const (arg, type);
return fold (build1 (ABS_EXPR, type, arg));
@@ -7477,6 +7478,7 @@ fold_builtin_abs (tree arglist, tree type)
return 0;
arg = TREE_VALUE (arglist);
+ arg = fold_convert (type, arg);
if (TREE_CODE (arg) == INTEGER_CST)
return fold_abs_const (arg, type);
return fold (build1 (ABS_EXPR, type, arg));