From 75da12e2bab73442d6b85594f8f64419d640ef03 Mon Sep 17 00:00:00 2001 From: ghazi Date: Thu, 28 Oct 1999 10:53:12 +0000 Subject: [PATCH] * c-common.c (check_format_info): Avoid non-literal format string warnings when `first_arg_num' is zero. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30240 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/c-common.c | 12 ++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c48bcfd3705..66642cdc8a0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Oct 28 06:47:32 1999 Kaveh R. Ghazi + + * c-common.c (check_format_info): Avoid non-literal format string + warnings when `first_arg_num' is zero. + Thu Oct 28 12:28:48 1999 Bernd Schmidt * rtl.texi: Delete explicit Prev, Up and Next entries in "@node"s. diff --git a/gcc/c-common.c b/gcc/c-common.c index 3e9d962bde9..8b2f69c5ab4 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -1491,7 +1491,11 @@ check_format_info (info, params) { /* The user may get multiple warnings if the supplied argument isn't even a string pointer. */ - warning ("format not a string literal, argument types not checked"); + /* Functions taking a va_list normally pass a non-literal format + string. These functions typically are declared with + first_arg_num == 0, so avoid warning in those cases. */ + if (info->first_arg_num != 0) + warning ("format not a string literal, argument types not checked"); return; } format_tree = TREE_OPERAND (format_tree, 0); @@ -1499,7 +1503,11 @@ check_format_info (info, params) { /* The user may get multiple warnings if the supplied argument isn't even a string pointer. */ - warning ("format not a string literal, argument types not checked"); + /* Functions taking a va_list normally pass a non-literal format + string. These functions typically are declared with + first_arg_num == 0, so avoid warning in those cases. */ + if (info->first_arg_num != 0) + warning ("format not a string literal, argument types not checked"); return; } format_chars = TREE_STRING_POINTER (format_tree); -- 2.11.4.GIT