From ba80674579d5de95a3b8d14187ceff27fc659b4b Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Sun, 10 Oct 1999 05:17:41 +0000 Subject: [PATCH] c-common.c (check_format_info): Warn if format string isn't a string literal. * c-common.c (check_format_info): Warn if format string isn't a string literal. From-SVN: r29881 --- gcc/ChangeLog | 5 +++++ gcc/c-common.c | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2257112..da2340a6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sat Oct 9 23:16:01 1999 Ken Raeburn + + * c-common.c (check_format_info): Warn if format string isn't a + string literal. + Sat Oct 9 23:04:02 1999 Jonathan Larmour * configure.in (arm*-*-*): Don't let autoconf remove brackets diff --git a/gcc/c-common.c b/gcc/c-common.c index afdea93..3e9d962 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -1488,10 +1488,20 @@ check_format_info (info, params) return; } if (TREE_CODE (format_tree) != ADDR_EXPR) - return; + { + /* 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"); + return; + } format_tree = TREE_OPERAND (format_tree, 0); if (TREE_CODE (format_tree) != STRING_CST) - return; + { + /* 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"); + return; + } format_chars = TREE_STRING_POINTER (format_tree); format_length = TREE_STRING_LENGTH (format_tree); if (format_length <= 1) -- 2.7.4