aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2004-06-18 03:35:29 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2004-06-18 03:35:29 +0000
commit9bb80bb2de9425d04f47d3570d1ccde5e383e66d (patch)
treeb8833920aa8753edd088506531f495548662aeea
parenteb52a1638d528ce0c8df43d1a870da1474c2428f (diff)
downloadgcc-9bb80bb2de9425d04f47d3570d1ccde5e383e66d.zip
gcc-9bb80bb2de9425d04f47d3570d1ccde5e383e66d.tar.gz
gcc-9bb80bb2de9425d04f47d3570d1ccde5e383e66d.tar.bz2
fold-const.c (constant_boolean_node): Handle boolean_type_node directly...
* fold-const.c (constant_boolean_node): Handle boolean_type_node directly, return either boolean_true_node or boolean_false_node. From-SVN: r83338
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/fold-const.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7c9ad84..959012f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-17 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (constant_boolean_node): Handle boolean_type_node
+ directly, return either boolean_true_node or boolean_false_node.
+
2004-06-18 Kelley Cook <kcook@gcc.gnu.org>
* opts.sh: Delete. Break out generated code to next four files.
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 3494d4a..f559fff 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -4936,6 +4936,8 @@ constant_boolean_node (int value, tree type)
{
if (type == integer_type_node)
return value ? integer_one_node : integer_zero_node;
+ else if (type == boolean_type_node)
+ return value ? boolean_true_node : boolean_false_node;
else if (TREE_CODE (type) == BOOLEAN_TYPE)
return lang_hooks.truthvalue_conversion (value ? integer_one_node
: integer_zero_node);