diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2012-03-06 18:41:35 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2012-03-06 18:41:35 +0000 |
commit | 197c68c856d02941add7b8469b0f82d4ea13a93b (patch) | |
tree | 33604b44cb76b42bc4c10f75f6caec5f81334582 | |
parent | 520eb3ba8a4eaf91f8d0b4c5a49ab9e01314ecff (diff) | |
download | bcm5719-llvm-197c68c856d02941add7b8469b0f82d4ea13a93b.tar.gz bcm5719-llvm-197c68c856d02941add7b8469b0f82d4ea13a93b.zip |
Undo patch for // rdar://10735698
llvm-svn: 152128
-rw-r--r-- | clang/include/clang/Basic/DiagnosticGroups.td | 1 | ||||
-rw-r--r-- | clang/include/clang/Basic/DiagnosticSemaKinds.td | 3 | ||||
-rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 7 | ||||
-rw-r--r-- | clang/test/Sema/block-missing-return-type-warning.c | 18 | ||||
-rw-r--r-- | clang/test/Sema/warn-unused-parameters.c | 6 |
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 |