aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-04-20 05:45:34 +0000
committerChris Lattner <sabre@nondot.org>2009-04-20 05:45:34 +0000
commit9da8a683f29a1780f1e0e59d392affedb759bb14 (patch)
tree230625407f025e981c2f78d9a180a5f2e8251bf4
parent369f447eded97e6048ced02c0c2be3842f61fc1c (diff)
Add option groups for -Wimplicit-int and -Wimplicit.
remove special case hack for -Werror-implicit-function-declaration git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69571 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Basic/DiagnosticGroups.td17
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td3
2 files changed, 16 insertions, 4 deletions
diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td
index 5f17a406ec..141875a0f7 100644
--- a/include/clang/Basic/DiagnosticGroups.td
+++ b/include/clang/Basic/DiagnosticGroups.td
@@ -7,9 +7,19 @@
//
//===----------------------------------------------------------------------===//
-def ImplicitFunctionDeclare : DiagGroup<"implicit-function-declaration">;
def Trigraphs : DiagGroup<"trigraphs">;
+def ImplicitFunctionDeclare : DiagGroup<"implicit-function-declaration">;
+def ImplicitInt : DiagGroup<"implicit-int">;
+
+// Aggregation warning settings.
+def Implicit : DiagGroup<"implicit", [
+ ImplicitFunctionDeclare,
+ ImplicitInt
+]>;
+
+
+
// Empty DiagGroups: these are recognized by clang but ignored.
def : DiagGroup<"aggregate-return">;
def : DiagGroup<"bad-function-cast">;
@@ -19,11 +29,12 @@ def : DiagGroup<"char-align">;
def : DiagGroup<"char-subscripts">;
def Comment : DiagGroup<"comment">;
def : DiagGroup<"declaration-after-statement">;
-def : DiagGroup<"error-implicit-function-declaration">;
def : DiagGroup<"format-security">;
def : DiagGroup<"format=2">;
def : DiagGroup<"format">;
def : DiagGroup<"four-char-constants">;
+
+
def : DiagGroup<"init-self">;
def : DiagGroup<"inline">;
def : DiagGroup<"int-to-pointer-cast">;
@@ -69,7 +80,7 @@ def : DiagGroup<"", [Extra]>; // -W = -Wextra
// Aggregation warning settings.
def Most : DiagGroup<"most", [
Comment,
- ImplicitFunctionDeclare,
+ Implicit,
Switch,
Trigraphs,
Uninitialized,
diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td
index 09624cfca7..b07b3320c0 100644
--- a/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/include/clang/Basic/DiagnosticSemaKinds.td
@@ -1599,7 +1599,8 @@ def ext_invalid_sign_spec : Extension<"'%0' cannot be signed or unsigned">;
def warn_missing_declspec : Warning<
"declaration specifier missing, defaulting to 'int'">;
def warn_missing_type_specifier : Warning<
- "type specifier missing, defaults to 'int'">;
+ "type specifier missing, defaults to 'int'">,
+ InGroup<ImplicitInt>;
def err_missing_type_specifier : Error<
"C++ requires a type specifier for all declarations">;
def err_missing_param_declspec : Error<