summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/include/clang/Basic/DiagnosticGroups.td13
-rw-r--r--clang/include/clang/Basic/DiagnosticSemaKinds.td2
-rw-r--r--clang/test/Sema/format-strings.c2
3 files changed, 11 insertions, 6 deletions
diff --git a/clang/include/clang/Basic/DiagnosticGroups.td b/clang/include/clang/Basic/DiagnosticGroups.td
index 6ed8afb0ff6..4aff9340f51 100644
--- a/clang/include/clang/Basic/DiagnosticGroups.td
+++ b/clang/include/clang/Basic/DiagnosticGroups.td
@@ -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,
diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td
index 306fcaccfa5..88607f3a3ba 100644
--- a/clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -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">;
diff --git a/clang/test/Sema/format-strings.c b/clang/test/Sema/format-strings.c
index cbeadc20b82..c7392c1f0c9 100644
--- a/clang/test/Sema/format-strings.c
+++ b/clang/test/Sema/format-strings.c
@@ -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
OpenPOWER on IntegriCloud