Don't set both readnone and readonly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68833 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2009-04-10 22:14:52 +00:00
Родитель 531cc83556
Коммит 64c2e07626
2 изменённых файлов: 6 добавлений и 2 удалений

Просмотреть файл

@ -1654,10 +1654,10 @@ void CodeGenModule::ConstructAttributeList(const CGFunctionInfo &FI,
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();

Просмотреть файл

@ -43,4 +43,8 @@ int f12(int arg) {
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