Delete output file upon fatal errors.
authorNick Clifton <nickc@redhat.com>
Mon, 15 Jan 2001 22:53:58 +0000 (22:53 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 15 Jan 2001 22:53:58 +0000 (22:53 +0000)
Treat multiple defintions of the same symbol as ordinary errors, not fatal ones

gas/ChangeLog
gas/messages.c
gas/symbols.c

index bed841e14f7b1b3dd71dda7a78416219885ad470..1116016710bf2a4a951a687946eaf81a6d3f7831 100644 (file)
@@ -1,3 +1,12 @@
+2001-01-15  Nick Clifton  <nickc@redhat.com>
+
+       * symbols.c (colon): Change 'already defined symbol' from a
+       fatal error to an ordinary error.  There is no reason why this
+       error should be fatal.
+
+       * message.c (as_fatal): Delete output file, if one has been
+       created. 
+
 2001-01-14  Alan Modra  <alan@linuxcare.com.au>
 
        * config/tc-hppa.h (TARGET_FORMAT): Add hppa-linux variants.
index 7af8de69f567a3d57ef0ed1c53f5c4ec08de81e3..1abfb3ac3b6f5b2ff212a2428a0b43581980fce7 100644 (file)
@@ -414,6 +414,10 @@ as_fatal (const char *format, ...)
   vfprintf (stderr, format, args);
   (void) putc ('\n', stderr);
   va_end (args);
+  /* Delete the output file, if it exists.  This will prevent make from
+     thinking that a file was created and hence does not need rebuilding.  */
+  if (out_file_name != NULL)
+    unlink (out_file_name);
   xexit (EXIT_FAILURE);
 }
 #else
index a338df079a2d7e9e2314329600c62620faa5f404..a9bd222ea414338c4a2144fcdd7c57e97857d64b 100644 (file)
@@ -439,7 +439,7 @@ colon (sym_name)            /* Just seen "x:" - rattle symbols & frags.  */
                            S_GET_OTHER (symbolP),
                            S_GET_DESC (symbolP));
 #endif
-                 as_fatal (_("Symbol \"%s\" is already defined as \"%s\"/%s%ld."),
+                 as_bad (_("Symbol \"%s\" is already defined as \"%s\"/%s%ld."),
                            sym_name,
                            segment_name (S_GET_SEGMENT (symbolP)),
                            od_buf,
@@ -453,8 +453,8 @@ colon (sym_name)            /* Just seen "x:" - rattle symbols & frags.  */
          if (!(frag_now == symbolP->sy_frag
                && S_GET_VALUE (symbolP) == frag_now_fix ()
                && S_GET_SEGMENT (symbolP) == now_seg))
-           as_fatal (_("Symbol %s already defined."), sym_name);
-       }                       /* if this symbol is not yet defined  */
+           as_bad (_("Symbol %s already defined."), sym_name);
+       }
 
     }
 #ifdef BFD_ASSEMBLER
@@ -474,7 +474,7 @@ colon (sym_name)            /* Just seen "x:" - rattle symbols & frags.  */
 #endif /* OBJ_VMS */
 
       symbol_table_insert (symbolP);
-    }                          /* if we have seen this symbol before  */
+    }
 
   if (mri_common_symbol != NULL)
     {