diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1d36d96ae02c49161a6f693ec8a91e070a0a321e..c5e0bb3d30c80d920d35fe69c35112efec20fdc6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* varasm.c (output_constant): Recompute CODE after lang-specific fn.
+
 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
 
 	* Makefile.in (resource.o): Add params.h dependence.
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 047065777d77eae687c3567dc730f6990b753c76..6e3b097e832a78b2366b63df9b67b411453a07fc 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -4229,7 +4229,10 @@ output_constant (exp, size)
      directly.  Give the front-end a chance to convert EXP to a
      language-independent representation.  */
   if (lang_expand_constant)
-    exp = (*lang_expand_constant) (exp);
+    {
+      exp = (*lang_expand_constant) (exp);
+      code = TREE_CODE (TREE_TYPE (exp));
+    }
 
   if (size == 0 || flag_syntax_only)
     return;