[cfe-commits] r68833 - in /cfe/trunk: lib/CodeGen/CGCall.cpp test/CodeGen/function-attributes.c

Daniel Dunbar daniel at zuster.org
Fri Apr 10 15:14:52 PDT 2009


Author: ddunbar
Date: Fri Apr 10 17:14:52 2009
New Revision: 68833

URL: http://llvm.org/viewvc/llvm-project?rev=68833&view=rev
Log:
Don't set both readnone and readonly.

Modified:
    cfe/trunk/lib/CodeGen/CGCall.cpp
    cfe/trunk/test/CodeGen/function-attributes.c

Modified: cfe/trunk/lib/CodeGen/CGCall.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGCall.cpp?rev=68833&r1=68832&r2=68833&view=diff

==============================================================================
--- cfe/trunk/lib/CodeGen/CGCall.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGCall.cpp Fri Apr 10 17:14:52 2009
@@ -1654,10 +1654,10 @@
       FuncAttrs |= llvm::Attribute::NoUnwind;
     if (TargetDecl->getAttr<NoReturnAttr>())
       FuncAttrs |= llvm::Attribute::NoReturn;
-    if (TargetDecl->getAttr<PureAttr>())
-      FuncAttrs |= llvm::Attribute::ReadOnly;
     if (TargetDecl->getAttr<ConstAttr>())
       FuncAttrs |= llvm::Attribute::ReadNone;
+    else if (TargetDecl->getAttr<PureAttr>())
+      FuncAttrs |= llvm::Attribute::ReadOnly;
   }
 
   QualType RetTy = FI.getReturnType();

Modified: cfe/trunk/test/CodeGen/function-attributes.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/function-attributes.c?rev=68833&r1=68832&r2=68833&view=diff

==============================================================================
--- cfe/trunk/test/CodeGen/function-attributes.c (original)
+++ cfe/trunk/test/CodeGen/function-attributes.c Fri Apr 10 17:14:52 2009
@@ -43,4 +43,8 @@
   return arg ? 0 : f10_t();
 }
 
+// RUN: grep 'define void @f13() nounwind readnone' %t &&
+void f13(void) __attribute__((pure)) __attribute__((const));
+void f13(void){}
+
 // RUN: true





More information about the cfe-commits mailing list