aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2012-03-15 01:00:38 +0000
committerChad Rosier <mcrosier@apple.com>2012-03-15 01:00:38 +0000
commit9ca33fd56720112bcc4bccb8aa6107abbb68cae3 (patch)
tree5b059aa547b1b48a1ce20994614e0b91d6ac605f
parentd75fb492f7616046797bfe5353e9478d8e25628e (diff)
Revert r152745 as it's breaking the internal buildbots.
Abbreviated commit message: Provide -Wnull-conversion separately from -Wconversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152765 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Basic/DiagnosticGroups.td6
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td2
-rw-r--r--lib/Driver/Tools.cpp1
-rw-r--r--test/Analysis/nullptr.cpp2
-rw-r--r--test/SemaCXX/__null.cpp4
-rw-r--r--test/SemaCXX/conversion.cpp4
6 files changed, 4 insertions, 15 deletions
diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td
index 3063b289c7..26dcc40aba 100644
--- a/include/clang/Basic/DiagnosticGroups.td
+++ b/include/clang/Basic/DiagnosticGroups.td
@@ -28,7 +28,6 @@ def Availability : DiagGroup<"availability">;
def AutoImport : DiagGroup<"auto-import">;
def BoolConversions : DiagGroup<"bool-conversions">;
def IntConversions : DiagGroup<"int-conversions">;
-def NullConversion : DiagGroup<"null-conversion">;
def BuiltinRequiresHeader : DiagGroup<"builtin-requires-header">;
def CXXCompat: DiagGroup<"c++-compat">;
def CastAlign : DiagGroup<"cast-align">;
@@ -283,7 +282,6 @@ def Parentheses : DiagGroup<"parentheses",
// - conversion warnings with constant sources are on by default
// - conversion warnings for literals are on by default
// - bool-to-pointer conversion warnings are on by default
-// - __null-to-integer conversion warnings are on by default
def Conversion : DiagGroup<"conversion",
[DiagGroup<"shorten-64-to-32">,
DiagGroup<"constant-conversion">,
@@ -291,7 +289,6 @@ def Conversion : DiagGroup<"conversion",
DiagGroup<"string-conversion">,
DiagGroup<"sign-conversion">,
BoolConversions,
- NullConversion,
IntConversions]>,
DiagCategory<"Value Conversion Issue">;
@@ -360,9 +357,6 @@ def : DiagGroup<"all", [Most, Parentheses, Switch]>;
def : DiagGroup<"", [Extra]>; // -W = -Wextra
def : DiagGroup<"endif-labels", [ExtraTokens]>; // -Wendif-labels=-Wendif-tokens
def : DiagGroup<"comments", [Comment]>; // -Wcomments = -Wcomment
-def : DiagGroup<"conversion-null",
- [NullConversion]>; // -Wconversion-null = -Wnull-conversion
-
// A warning group for warnings that we want to have on by default in clang,
// but which aren't on by default in GCC.
diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td
index 0670d1f31a..463db06d09 100644
--- a/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/include/clang/Basic/DiagnosticSemaKinds.td
@@ -1732,7 +1732,7 @@ def warn_impcast_bool_to_null_pointer : Warning<
"expression">, InGroup<BoolConversions>;
def warn_impcast_null_pointer_to_integer : Warning<
"implicit conversion of NULL constant to integer">,
- InGroup<NullConversion>;
+ InGroup<DiagGroup<"conversion">>, DefaultIgnore;
def warn_impcast_function_to_bool : Warning<
"address of function %q0 will always evaluate to 'true'">,
InGroup<BoolConversions>;
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index 536897f879..780016a8b8 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -3168,7 +3168,6 @@ void darwin::CC1::RemoveCC1UnsupportedArgs(ArgStringList &CmdArgs) const {
.Case("c++11-narrowing", true)
.Case("conditional-uninitialized", true)
.Case("constant-conversion", true)
- .Case("conversion-null", true)
.Case("CFString-literal", true)
.Case("constant-logical-operand", true)
.Case("custom-atomic-properties", true)
diff --git a/test/Analysis/nullptr.cpp b/test/Analysis/nullptr.cpp
index 3119b4fc39..c0fed87242 100644
--- a/test/Analysis/nullptr.cpp
+++ b/test/Analysis/nullptr.cpp
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -std=c++11 -Wno-conversion-null -analyze -analyzer-checker=core -analyzer-store region -verify %s
+// RUN: %clang_cc1 -std=c++11 -analyze -analyzer-checker=core -analyzer-store region -verify %s
// test to see if nullptr is detected as a null pointer
void foo1(void) {
diff --git a/test/SemaCXX/__null.cpp b/test/SemaCXX/__null.cpp
index 56e59c06f1..1989a45fb5 100644
--- a/test/SemaCXX/__null.cpp
+++ b/test/SemaCXX/__null.cpp
@@ -1,5 +1,5 @@
-// RUN: %clang_cc1 -triple x86_64-unknown-unknown %s -Wno-null-conversion -fsyntax-only -verify
-// RUN: %clang_cc1 -triple i686-unknown-unknown %s -Wno-null-conversion -fsyntax-only -verify
+// RUN: %clang_cc1 -triple x86_64-unknown-unknown %s -fsyntax-only -verify
+// RUN: %clang_cc1 -triple i686-unknown-unknown %s -fsyntax-only -verify
void f() {
int* i = __null;
diff --git a/test/SemaCXX/conversion.cpp b/test/SemaCXX/conversion.cpp
index d9ba07ab5b..b069abc263 100644
--- a/test/SemaCXX/conversion.cpp
+++ b/test/SemaCXX/conversion.cpp
@@ -53,14 +53,10 @@ namespace test2 {
};
}
-// This file tests -Wnull-conversion, a subcategory of -Wconversion
-// which is on by default.
-
void test3() {
int a = NULL; // expected-warning {{implicit conversion of NULL constant to integer}}
int b;
b = NULL; // expected-warning {{implicit conversion of NULL constant to integer}}
- long l = NULL; // FIXME: this should also warn, but currently does not if sizeof(NULL)==sizeof(inttype)
int c = ((((NULL)))); // expected-warning {{implicit conversion of NULL constant to integer}}
int d;
d = ((((NULL)))); // expected-warning {{implicit conversion of NULL constant to integer}}