OSDN Git Service

* c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 30 Nov 2000 23:00:57 +0000 (23:00 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 30 Nov 2000 23:00:57 +0000 (23:00 +0000)
from va_list before using it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37900 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-common.c

index dbb46a5..761488d 100644 (file)
@@ -1,3 +1,8 @@
+2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
+
+       * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
+       from va_list before using it.
+
 2000-11-30  Michael Matz  <matzmich@cs.tu-berlin.de>
 
        * flow.c (make_edge): Early out, if no flags to set.
index d59386d..cb6b78f 100644 (file)
@@ -2021,24 +2021,24 @@ status_warning VPARAMS ((int *status, const char *msgid, ...))
   va_list ap;
   diagnostic_context dc;
 
-  if (status)
-    *status = 1;
-  else
-    {
-      VA_START (ap, msgid);
+  VA_START (ap, msgid);
 
 #ifndef ANSI_PROTOTYPES
-      status = va_arg (ap, int *);
-      msgid = va_arg (ap, const char *);
+  status = va_arg (ap, int *);
+  msgid = va_arg (ap, const char *);
 #endif
 
+  if (status)
+    *status = 1;
+  else
+    {
       /* This duplicates the warning function behavior.  */
       set_diagnostic_context
        (&dc, msgid, &ap, input_filename, lineno, /* warn = */ 1);
       report_diagnostic (&dc);
-
-      va_end (ap);
     }
+
+  va_end (ap);
 }
 
 /* Variables used by the checking of $ operand number formats.  */