r318667 - Revert r318456 "Issue -Wempty-body warnings for else blocks"

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 20 09:48:54 PST 2017


Author: hans
Date: Mon Nov 20 09:48:54 2017
New Revision: 318667

URL: http://llvm.org/viewvc/llvm-project?rev=318667&view=rev
Log:
Revert r318456 "Issue -Wempty-body warnings for else blocks"

This caused warnings also when the if or else comes from macros. There was an
attempt to fix this in r318556, but that introduced new problems and was
reverted. Reverting this too until the whole issue is sorted.

> This looks like it was just an oversight.
>
> Fixes http://llvm.org/pr35319
>
> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@318456 91177308-0d34-0410-b5e6-96231b3b80d8

Modified:
    cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
    cfe/trunk/lib/Sema/SemaStmt.cpp
    cfe/trunk/test/SemaCXX/warn-empty-body.cpp

Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=318667&r1=318666&r2=318667&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Mon Nov 20 09:48:54 2017
@@ -8094,8 +8094,6 @@ def err_switch_incomplete_class_type : E
 
 def warn_empty_if_body : Warning<
   "if statement has empty body">, InGroup<EmptyBody>;
-def warn_empty_else_body : Warning<
-  "else clause has empty body">, InGroup<EmptyBody>;
 def warn_empty_for_body : Warning<
   "for loop has empty body">, InGroup<EmptyBody>;
 def warn_empty_range_based_for_body : Warning<

Modified: cfe/trunk/lib/Sema/SemaStmt.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaStmt.cpp?rev=318667&r1=318666&r2=318667&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaStmt.cpp (original)
+++ cfe/trunk/lib/Sema/SemaStmt.cpp Mon Nov 20 09:48:54 2017
@@ -527,9 +527,7 @@ Sema::ActOnIfStmt(SourceLocation IfLoc,
                        CondExpr->getExprLoc()))
     CommaVisitor(*this).Visit(CondExpr);
 
-  if (elseStmt)
-    DiagnoseEmptyStmtBody(ElseLoc, elseStmt, diag::warn_empty_else_body);
-  else
+  if (!elseStmt)
     DiagnoseEmptyStmtBody(CondExpr->getLocEnd(), thenStmt,
                           diag::warn_empty_if_body);
 

Modified: cfe/trunk/test/SemaCXX/warn-empty-body.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/warn-empty-body.cpp?rev=318667&r1=318666&r2=318667&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/warn-empty-body.cpp (original)
+++ cfe/trunk/test/SemaCXX/warn-empty-body.cpp Mon Nov 20 09:48:54 2017
@@ -238,26 +238,6 @@ void test6(int x, int y) {
   }
 }
 
-void test_if_else(int x) {
-  if (x); // expected-warning{{if statement has empty body}} expected-note{{separate line}}
-
-  if (x)
-    ; // no-warning
-
-  if (x)
-    ; // no-warning
-  else
-    ; // no-warning
-
-  if (x)
-    ; // no-warning
-  else; // expected-warning{{else clause has empty body}} expected-note{{separate line}}
-
-  if (x)
-    ; // no-warning
-  else EMPTY(x); // no-warning
-}
-
 void test_errors(int x) {
   if (1)
     aa; // expected-error{{use of undeclared identifier}}




More information about the cfe-commits mailing list