summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1998-04-01 13:45:40 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1998-04-01 13:45:40 +0000
commitea56eec5441c065c5003d416677a3d9f12719712 (patch)
treed3f7291b661afbc8eb2c33949cf6f107a80050a8
parentcc51d4989fbd3a1ea3629acf0754c810134263f9 (diff)
downloadgcc-ea56eec5441c065c5003d416677a3d9f12719712.tar.gz
* varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
entity in a local scope. * fold-const.c (fold): Call truthvalue_conversion for values which are folded to boolean type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18929 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/fold-const.c2
-rw-r--r--gcc/varasm.c6
3 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4ed42ee4ba6..2ab4fa966e6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+1998-04-01 Mark Mitchell <mmitchell@usa.net>
+
+ * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
+ entity in a local scope.
+
+ * fold-const.c (fold): Call truthvalue_conversion for values which
+ are folded to boolean type.
+
Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
* 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 4fcd7448303..537e2b201f4 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -5636,6 +5636,8 @@ fold (expr)
TREE_INT_CST_LOW (t1) ^= 1;
TREE_TYPE (t1) = type;
+ if (TREE_CODE (type) == BOOLEAN_TYPE)
+ return truthvalue_conversion (t1);
return t1;
case COND_EXPR:
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 42dca296f9c..634753ea6f2 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -734,6 +734,12 @@ make_decl_rtl (decl, asmspec, top_level)
ASM_FORMAT_PRIVATE_NAME (label, name, var_labelno);
name = obstack_copy0 (saveable_obstack, label, strlen (label));
var_labelno++;
+
+ /* We've changed the name by which this entity is
+ known. In order that we can generate
+ correct references to it, we update its
+ DECL_ASSEMBLER_NAME. */
+ DECL_ASSEMBLER_NAME (decl) = get_identifier (name);
}
if (name == 0)