tweak warning options to be more like gcc:

1. All all variants of -Wformat*, make them imply -Wformat.  GCC warns 
   if you use -Wformatfoo without -Wformat.  We just make one imply the 
   other.
2. Make -Wformat-nonliteral default to off, like gcc.  It is an incredible
   nuisance.
3. Accept but currently ignore -Wformat-extra-args.

llvm-svn: 70362
This commit is contained in:
Chris Lattner 2009-04-29 04:15:07 +00:00
parent e3fa5aa91c
commit 941153afcd
3 changed files with 11 additions and 6 deletions

View File

@ -31,9 +31,14 @@ def Comment : DiagGroup<"comment">;
def : DiagGroup<"conversion">;
def : DiagGroup<"declaration-after-statement">;
def ExtraTokens : DiagGroup<"extra-tokens">;
def : DiagGroup<"format-security">;
def : DiagGroup<"format=2">;
def : DiagGroup<"format">;
def Format : DiagGroup<"format">;
def Format2 : DiagGroup<"format=2", [Format]>;
def : DiagGroup<"format-extra-args", [Format]>;
def FormatNonLiteral : DiagGroup<"format-nonliteral", [Format]>;
def FormatSecurity : DiagGroup<"format-security", [Format]>;
def : DiagGroup<"format-y2k", [Format]>;
def FourByteMultiChar : DiagGroup<"four-char-constants">;
@ -47,7 +52,6 @@ def : DiagGroup<"missing-noreturn">;
def MultiChar : DiagGroup<"multichar">;
def : DiagGroup<"nested-externs">;
def : DiagGroup<"newline-eof">;
def : DiagGroup<"format-y2k">;
def : DiagGroup<"long-long">;
def : DiagGroup<"missing-field-initializers">;
def : DiagGroup<"nonportable-cfstrings">;
@ -95,6 +99,7 @@ def Extra : DiagGroup<"extra">;
def Most : DiagGroup<"most", [
Comment,
Format,
Implicit,
MultiChar,
Switch,

View File

@ -1059,7 +1059,7 @@ def err_value_init_for_array_type : Error<
"array types cannot be value-initialized">;
def warn_printf_not_string_constant : Warning<
"format string is not a string literal (potentially insecure)">,
InGroup<DiagGroup<"format-nonliteral">>;
InGroup<FormatNonLiteral>, DefaultIgnore;
def err_unexpected_interface : Error<
"unexpected interface name %0: expected expression">;

View File

@ -1,4 +1,4 @@
// RUN: clang-cc -fsyntax-only -verify %s
// RUN: clang-cc -fsyntax-only -verify -Wformat-nonliteral %s
// Define this to get vasprintf on Linux
#define _GNU_SOURCE