builtins.c (fold_builtin_signbit): Build the comparison with a proper type.

2011-07-29  Richard Guenther  <rguenther@suse.de>

	* builtins.c (fold_builtin_signbit): Build the comparison
	with a proper type.

From-SVN: r176922
This commit is contained in:
Richard Guenther 2011-07-29 09:57:03 +00:00 committed by Richard Biener
parent 64fb0d3a78
commit 96d0349617
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2011-07-29 Richard Guenther <rguenther@suse.de>
* builtins.c (fold_builtin_signbit): Build the comparison
with a proper type.
2011-07-29 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49893

View File

@ -8645,8 +8645,9 @@ fold_builtin_signbit (location_t loc, tree arg, tree type)
/* If ARG's format doesn't have signed zeros, return "arg < 0.0". */
if (!HONOR_SIGNED_ZEROS (TYPE_MODE (TREE_TYPE (arg))))
return fold_build2_loc (loc, LT_EXPR, type, arg,
build_real (TREE_TYPE (arg), dconst0));
return fold_convert (type,
fold_build2_loc (loc, LT_EXPR, boolean_type_node, arg,
build_real (TREE_TYPE (arg), dconst0)));
return NULL_TREE;
}