diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 24c758aca8d555db7f5302e644bd10d309797bd0..724738e1f77bd5cd78604a0aa910a4b7eb490414 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-12-12  Andreas Schwab  <schwab@suse.de>
+
+	* config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
+	change and some warnings.
+
 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
 
 	* doc/md.texi (pushm): Fix a typo.
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 68bbbc877564fdd38e9a0519bf1b1cf21500a94a..10f066659990afc5c05c4027d0a8505d9d88fe7f 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -8141,13 +8141,14 @@ ia64_hpux_asm_file_end (file)
 {
   while (extern_func_head)
     {
-      char *real_name;
+      const char *real_name;
       tree decl;
 
       real_name = (* targetm.strip_name_encoding) (extern_func_head->name);
-      tree decl = maybe_get_identifier (real_name);
+      decl = maybe_get_identifier (real_name);
 
-      if (!decl || ! TREE_ASM_WRITTEN (decl) && TREE_SYMBOL_REFERENCED (decl))
+      if (!decl
+	  || (! TREE_ASM_WRITTEN (decl) && TREE_SYMBOL_REFERENCED (decl)))
         {
 	  if (decl)
 	    TREE_ASM_WRITTEN (decl) = 1;