aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorGiovanni Bajo <giovannibajo@gcc.gnu.org>2004-02-26 02:17:26 +0000
committerGiovanni Bajo <giovannibajo@gcc.gnu.org>2004-02-26 02:17:26 +0000
commit3cc8f5878378f33c0f79929b993b0d0504fc5c50 (patch)
treea011387cd28413d84f58461d904f7a920af01b8c /gcc/cp
parentfecf735c6740e1080c60766bdd27de0ee407c8dd (diff)
downloadgcc-3cc8f5878378f33c0f79929b993b0d0504fc5c50.zip
gcc-3cc8f5878378f33c0f79929b993b0d0504fc5c50.tar.gz
gcc-3cc8f5878378f33c0f79929b993b0d0504fc5c50.tar.bz2
re PR c++/14246 (Problems with templates, ice in write_template_arg_literal)
PR c++/14246 * mangle.c (write_template_arg_literal): Don't rely on identity for boolean constants. From-SVN: r78478
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/mangle.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 44add64..85ee089 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2004-02-26 Giovanni Bajo <giovannibajo@gcc.gnu.org>
+
+ PR c++/14246
+ * mangle.c (write_template_arg_literal): Don't rely on identity for
+ boolean constants.
+
2004-02-24 Jason Merrill <jason@redhat.com>
* tree.c (build_exception_variant): Use check_qualified_type.
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index a41c141..2580d39 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -2121,9 +2121,9 @@ write_template_arg_literal (const tree value)
{
if (same_type_p (type, boolean_type_node))
{
- if (value == boolean_false_node || integer_zerop (value))
+ if (integer_zerop (value))
write_unsigned_number (0);
- else if (value == boolean_true_node)
+ else if (integer_onep (value))
write_unsigned_number (1);
else
abort ();