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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits