summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2012-03-06 18:41:35 +0000
committerFariborz Jahanian <fjahanian@apple.com>2012-03-06 18:41:35 +0000
commit197c68c856d02941add7b8469b0f82d4ea13a93b (patch)
tree33604b44cb76b42bc4c10f75f6caec5f81334582
parent520eb3ba8a4eaf91f8d0b4c5a49ab9e01314ecff (diff)
downloadbcm5719-llvm-197c68c856d02941add7b8469b0f82d4ea13a93b.tar.gz
bcm5719-llvm-197c68c856d02941add7b8469b0f82d4ea13a93b.zip
Undo patch for // rdar://10735698
llvm-svn: 152128
-rw-r--r--clang/include/clang/Basic/DiagnosticGroups.td1
-rw-r--r--clang/include/clang/Basic/DiagnosticSemaKinds.td3
-rw-r--r--clang/lib/Sema/SemaExpr.cpp7
-rw-r--r--clang/test/Sema/block-missing-return-type-warning.c18
-rw-r--r--clang/test/Sema/warn-unused-parameters.c6
5 files changed, 4 insertions, 31 deletions
diff --git a/clang/include/clang/Basic/DiagnosticGroups.td b/clang/include/clang/Basic/DiagnosticGroups.td
index 43992b75021..cb59cbad4f0 100644
--- a/clang/include/clang/Basic/DiagnosticGroups.td
+++ b/clang/include/clang/Basic/DiagnosticGroups.td
@@ -134,7 +134,6 @@ def OverloadedVirtual : DiagGroup<"overloaded-virtual">;
def ObjCPropertyImpl : DiagGroup<"objc-property-implementation">;
def ObjCMissingSuperCalls : DiagGroup<"objc-missing-super-calls">;
def ObjCRetainBlockProperty : DiagGroup<"objc-noncopy-retain-block-property">;
-def BlockMissingReturnType : DiagGroup<"block-missing-explicit-return-type">;
def ObjCReadonlyPropertyHasSetter : DiagGroup<"objc-readonly-with-setter-property">;
def Packed : DiagGroup<"packed">;
def Padded : DiagGroup<"padded">;
diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td
index eded154e116..8499ec0b2a9 100644
--- a/clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -4953,9 +4953,6 @@ def err_blocks_disable : Error<"blocks support disabled - compile with -fblocks"
" or pick a deployment target that supports them">;
def err_block_returning_array_function : Error<
"block cannot return %select{array|function}0 type %1">;
-def warn_block_missing_return_type : Warning<
- "block literal is missing explicit return type and "
- "returns non-void values">, InGroup<BlockMissingReturnType>, DefaultIgnore;
// Builtin annotation string.
def err_builtin_annotation_not_string_constant : Error<
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index aba38db0352..ab96f7416fe 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -8902,12 +8902,7 @@ ExprResult Sema::ActOnBlockStmtExpr(SourceLocation CaretLoc,
ExprCleanupObjects.push_back(Result->getBlockDecl());
ExprNeedsCleanups = true;
}
-
- if (BSI->TheDecl->blockMissingReturnType() &&
- !RetTy->isDependentType() &&
- !Context.getCanonicalType(RetTy)->isVoidType())
- Diag(CaretLoc, diag::warn_block_missing_return_type);
-
+
return Owned(Result);
}
diff --git a/clang/test/Sema/block-missing-return-type-warning.c b/clang/test/Sema/block-missing-return-type-warning.c
deleted file mode 100644
index c029ae610f3..00000000000
--- a/clang/test/Sema/block-missing-return-type-warning.c
+++ /dev/null
@@ -1,18 +0,0 @@
-// RUN: %clang_cc1 %s -fsyntax-only -verify -fblocks -Wblock-missing-explicit-return-type
-// rdar://10735698
-
-int f;
-int main() {
- int (^bar)() = ^{ if (f) return 'a'; // expected-warning {{block literal is missing explicit return type and returns non-void values}}
- else return 10;
- };
-
- void (^bar1)() = ^{ f = 100; };
-
- void (^bar2)() = ^(void){ f = 100; };
-
- int (^bar3)() = ^ int { if (f) return 'a';
- else return 10;
- };
-
-}
diff --git a/clang/test/Sema/warn-unused-parameters.c b/clang/test/Sema/warn-unused-parameters.c
index 28a6bcb799c..af048e77e88 100644
--- a/clang/test/Sema/warn-unused-parameters.c
+++ b/clang/test/Sema/warn-unused-parameters.c
@@ -24,7 +24,7 @@ static void achor() {};
// RUN: %clang_cc1 -fblocks -fsyntax-only -Weverything %s 2>&1 | FileCheck -check-prefix=CHECK-everything %s
// RUN: %clang_cc1 -fblocks -fsyntax-only -Weverything -Werror %s 2>&1 | FileCheck -check-prefix=CHECK-everything-error %s
// RUN: %clang_cc1 -fblocks -fsyntax-only -Weverything -Wno-unused %s 2>&1 | FileCheck -check-prefix=CHECK-everything-no-unused %s
-// CHECK-everything: 7 warnings generated
-// CHECK-everything-error: 6 errors generated
-// CHECK-everything-no-unused: 6 warnings generated
+// CHECK-everything: 6 warnings generated
+// CHECK-everything-error: 5 errors generated
+// CHECK-everything-no-unused: 5 warnings generated
OpenPOWER on IntegriCloud