r315806 - Revert rL315787, "[Sema] Warn about unused variables if we can constant evaluate the initializer."

NAKAMURA Takumi via cfe-commits cfe-commits at lists.llvm.org
Sat Oct 14 07:46:04 PDT 2017


Author: chapuni
Date: Sat Oct 14 07:46:04 2017
New Revision: 315806

URL: http://llvm.org/viewvc/llvm-project?rev=315806&view=rev
Log:
Revert rL315787, "[Sema] Warn about unused variables if we can constant evaluate the initializer."

check-libcxx dislikes it.

Modified:
    cfe/trunk/lib/Sema/SemaDecl.cpp
    cfe/trunk/test/SemaCXX/warn-unused-variables.cpp

Modified: cfe/trunk/lib/Sema/SemaDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=315806&r1=315805&r2=315806&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDecl.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDecl.cpp Sat Oct 14 07:46:04 2017
@@ -1723,8 +1723,7 @@ static bool ShouldDiagnoseUnusedDecl(con
             dyn_cast<CXXConstructExpr>(Init);
           if (Construct && !Construct->isElidable()) {
             CXXConstructorDecl *CD = Construct->getConstructor();
-            if (!CD->isTrivial() && !RD->hasAttr<WarnUnusedAttr>() &&
-                !VD->evaluateValue())
+            if (!CD->isTrivial() && !RD->hasAttr<WarnUnusedAttr>())
               return false;
           }
         }

Modified: cfe/trunk/test/SemaCXX/warn-unused-variables.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/warn-unused-variables.cpp?rev=315806&r1=315805&r2=315806&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/warn-unused-variables.cpp (original)
+++ cfe/trunk/test/SemaCXX/warn-unused-variables.cpp Sat Oct 14 07:46:04 2017
@@ -1,5 +1,4 @@
 // RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -Wno-c++1y-extensions -verify %s
-// RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -Wno-c++1y-extensions -verify -std=c++11 %s
 template<typename T> void f() {
   T t;
   t = 17;
@@ -195,35 +194,3 @@ void test() {
 }
 
 }
-
-#if __cplusplus >= 201103L
-namespace with_constexpr {
-template <typename T>
-struct Literal {
-  T i;
-  Literal() = default;
-  constexpr Literal(T i) : i(i) {}
-};
-
-struct NoLiteral {
-  int i;
-  NoLiteral() = default;
-  constexpr NoLiteral(int i) : i(i) {}
-  ~NoLiteral() {}
-};
-
-static Literal<int> gl1;          // expected-warning {{unused variable 'gl1'}}
-static Literal<int> gl2(1);       // expected-warning {{unused variable 'gl2'}}
-static const Literal<int> gl3(0); // expected-warning {{unused variable 'gl3'}}
-
-template <typename T>
-void test(int i) {
-  Literal<int> l1;     // expected-warning {{unused variable 'l1'}}
-  Literal<int> l2(42); // expected-warning {{unused variable 'l2'}}
-  Literal<int> l3(i);  // no-warning
-  Literal<T> l4(0);    // no-warning
-  NoLiteral nl1;       // no-warning
-  NoLiteral nl2(42);   // no-warning
-}
-}
-#endif




More information about the cfe-commits mailing list