diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0be0be4b6a10..1bed03b73942 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2012-04-20 Michael Matz + + * error.c (pedwarn_cxx98): Move va_end call after user + of the va_list. + 2012-04-18 Paolo Carlini PR c++/52422 diff --git a/gcc/cp/error.c b/gcc/cp/error.c index 77eb306823c5..858dc5bb4e89 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -3352,13 +3352,15 @@ pedwarn_cxx98 (location_t location, int opt, const char *gmsgid, ...) { diagnostic_info diagnostic; va_list ap; + bool ret; va_start (ap, gmsgid); diagnostic_set_info (&diagnostic, gmsgid, &ap, location, (cxx_dialect == cxx98) ? DK_PEDWARN : DK_WARNING); diagnostic.option_index = opt; + ret = report_diagnostic (&diagnostic); va_end (ap); - return report_diagnostic (&diagnostic); + return ret; } /* Issue a diagnostic that NAME cannot be found in SCOPE. DECL is what