From: Argyrios Kyrtzidis Date: Wed, 25 Aug 2010 23:42:51 +0000 (+0000) Subject: Revert r112043, static volatiles are removed by the optimizer. Thanks Chris! X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8028bfaa96f3dbe224cc3766a04e9a68f22e4a64;p=clang Revert r112043, static volatiles are removed by the optimizer. Thanks Chris! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112112 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index e9ca7ddb48..37ef59cc36 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -5606,10 +5606,6 @@ bool ASTContext::DeclMustBeEmitted(const Decl *D) { if (VD->isThisDeclarationADefinition() == VarDecl::DeclarationOnly) return false; - // Always emit volatiles. - if (VD->getType().isVolatileQualified()) - return true; - // Structs that have non-trivial constructors or destructors are required. // FIXME: Handle references. diff --git a/test/CodeGen/volatile.c b/test/CodeGen/volatile.c index a6c17b0041..1a996defcf 100644 --- a/test/CodeGen/volatile.c +++ b/test/CodeGen/volatile.c @@ -1,7 +1,6 @@ // RUN: %clang_cc1 -emit-llvm < %s -o %t // RUN: grep volatile %t | count 28 // RUN: grep memcpy %t | count 7 -// RUN: %clang_cc1 %s -Wall -verify -emit-llvm -o - | FileCheck %s // The number 28 comes from the current codegen for volatile loads; // if this number changes, it's not necessarily something wrong, but @@ -97,9 +96,5 @@ int main() { (void)vF2; vF2 = vF2; vF2 = vF2 = vF2; - vF2 = (vF2, vF2); // expected-warning {{expression result unused}} + vF2 = (vF2, vF2); } - -// Make sure this is emitted. rdar://8315219 -// CHECK: @gvx -static volatile int gvx = 0;