From 29ced803f03dd87aa478f44844c4405db9196651 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 30 Nov 2000 23:00:57 +0000 Subject: [PATCH] * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status from va_list before using it. From-SVN: r37900 --- gcc/ChangeLog | 5 +++++ gcc/c-common.c | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dbb46a56218..761488d812f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-11-30 Alexandre Oliva + + * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status + from va_list before using it. + 2000-11-30 Michael Matz * flow.c (make_edge): Early out, if no flags to set. diff --git a/gcc/c-common.c b/gcc/c-common.c index d59386d96c5..cb6b78fe89e 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -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. */ -- 2.30.2