diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2257112c707..da2340a6fea 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 afdea93853a..3e9d962bde9 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)