summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-04-13 21:08:27 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-04-13 21:08:27 +0000
commit4184ac847f91dc7a8644ad6c5a3e389923117eb3 (patch)
tree6bf3412b1f1afd38e9c10fb2945b62f3e0204644 /clang/lib/CodeGen/CodeGenModule.cpp
parent6c1426308c29edd75b8b964b883b6f213da1b7c4 (diff)
downloadbcm5719-llvm-4184ac847f91dc7a8644ad6c5a3e389923117eb3.tar.gz
bcm5719-llvm-4184ac847f91dc7a8644ad6c5a3e389923117eb3.zip
Update to use hasAttr() instead of getAttr().
- No functionality change. llvm-svn: 68987
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.cpp38
1 files changed, 19 insertions, 19 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index 79bf4de4f7a..f981453bf08 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -239,10 +239,10 @@ void CodeGenModule::SetGlobalValueAttributes(const Decl *D,
// approximation of what we really want.
if (!ForDefinition) {
// Only a few attributes are set on declarations.
- if (D->getAttr<DLLImportAttr>()) {
+ if (D->hasAttr<DLLImportAttr>()) {
// The dllimport attribute is overridden by a subsequent declaration as
// dllexport.
- if (!D->getAttr<DLLExportAttr>()) {
+ if (!D->hasAttr<DLLExportAttr>()) {
// dllimport attribute can be applied only to function decls, not to
// definitions.
if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
@@ -251,8 +251,8 @@ void CodeGenModule::SetGlobalValueAttributes(const Decl *D,
} else
GV->setLinkage(llvm::Function::DLLImportLinkage);
}
- } else if (D->getAttr<WeakAttr>() ||
- D->getAttr<WeakImportAttr>()) {
+ } else if (D->hasAttr<WeakAttr>() ||
+ D->hasAttr<WeakImportAttr>()) {
// "extern_weak" is overloaded in LLVM; we probably should have
// separate linkage types for this.
GV->setLinkage(llvm::Function::ExternalWeakLinkage);
@@ -261,14 +261,14 @@ void CodeGenModule::SetGlobalValueAttributes(const Decl *D,
if (IsInternal) {
GV->setLinkage(llvm::Function::InternalLinkage);
} else {
- if (D->getAttr<DLLExportAttr>()) {
+ if (D->hasAttr<DLLExportAttr>()) {
if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
// The dllexport attribute is ignored for undefined symbols.
if (FD->getBody())
GV->setLinkage(llvm::Function::DLLExportLinkage);
} else
GV->setLinkage(llvm::Function::DLLExportLinkage);
- } else if (D->getAttr<WeakAttr>() || D->getAttr<WeakImportAttr>() ||
+ } else if (D->hasAttr<WeakAttr>() || D->hasAttr<WeakImportAttr>() ||
IsInline)
GV->setLinkage(llvm::Function::WeakAnyLinkage);
}
@@ -290,7 +290,7 @@ void CodeGenModule::SetGlobalValueAttributes(const Decl *D,
// might add multiple times or risk the value being replaced by a
// subsequent RAUW.
if (ForDefinition) {
- if (D->getAttr<UsedAttr>())
+ if (D->hasAttr<UsedAttr>())
AddUsedGlobal(GV);
}
}
@@ -305,10 +305,10 @@ void CodeGenModule::SetFunctionAttributes(const Decl *D,
AttributeList.size()));
// Set the appropriate calling convention for the Function.
- if (D->getAttr<FastCallAttr>())
+ if (D->hasAttr<FastCallAttr>())
F->setCallingConv(llvm::CallingConv::X86_FastCall);
- if (D->getAttr<StdCallAttr>())
+ if (D->hasAttr<StdCallAttr>())
F->setCallingConv(llvm::CallingConv::X86_StdCall);
}
@@ -327,10 +327,10 @@ void CodeGenModule::SetFunctionAttributesForDefinition(const Decl *D,
if (!Features.Exceptions && !Features.ObjCNonFragileABI)
F->addFnAttr(llvm::Attribute::NoUnwind);
- if (D->getAttr<AlwaysInlineAttr>())
+ if (D->hasAttr<AlwaysInlineAttr>())
F->addFnAttr(llvm::Attribute::AlwaysInline);
- if (D->getAttr<NoinlineAttr>())
+ if (D->hasAttr<NoinlineAttr>())
F->addFnAttr(llvm::Attribute::NoInline);
}
@@ -452,12 +452,12 @@ llvm::Constant *CodeGenModule::EmitAnnotateAttr(llvm::GlobalValue *GV,
bool CodeGenModule::MayDeferGeneration(const ValueDecl *Global) {
// Never defer when EmitAllDecls is specified or the decl has
// attribute used.
- if (Features.EmitAllDecls || Global->getAttr<UsedAttr>())
+ if (Features.EmitAllDecls || Global->hasAttr<UsedAttr>())
return false;
if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(Global)) {
// Constructors and destructors should never be deferred.
- if (FD->getAttr<ConstructorAttr>() || FD->getAttr<DestructorAttr>())
+ if (FD->hasAttr<ConstructorAttr>() || FD->hasAttr<DestructorAttr>())
return false;
// FIXME: What about inline, and/or extern inline?
@@ -477,7 +477,7 @@ bool CodeGenModule::MayDeferGeneration(const ValueDecl *Global) {
void CodeGenModule::EmitGlobal(const ValueDecl *Global) {
// If this is an alias definition (which otherwise looks like a declaration)
// emit it now.
- if (Global->getAttr<AliasAttr>())
+ if (Global->hasAttr<AliasAttr>())
return EmitAliasDefinition(Global);
// Ignore declarations, they will be emitted on their first use.
@@ -651,7 +651,7 @@ llvm::Constant *CodeGenModule::GetOrCreateLLVMGlobal(const char *MangledName,
if (D->getStorageClass() == VarDecl::PrivateExtern)
setGlobalVisibility(GV, VisibilityAttr::HiddenVisibility);
- if (D->getAttr<WeakAttr>() || D->getAttr<WeakImportAttr>())
+ if (D->hasAttr<WeakAttr>() || D->hasAttr<WeakImportAttr>())
GV->setLinkage(llvm::GlobalValue::ExternalWeakLinkage);
}
@@ -787,11 +787,11 @@ void CodeGenModule::EmitGlobalVarDefinition(const VarDecl *D) {
// Set the llvm linkage type as appropriate.
if (D->getStorageClass() == VarDecl::Static)
GV->setLinkage(llvm::Function::InternalLinkage);
- else if (D->getAttr<DLLImportAttr>())
+ else if (D->hasAttr<DLLImportAttr>())
GV->setLinkage(llvm::Function::DLLImportLinkage);
- else if (D->getAttr<DLLExportAttr>())
+ else if (D->hasAttr<DLLExportAttr>())
GV->setLinkage(llvm::Function::DLLExportLinkage);
- else if (D->getAttr<WeakAttr>() || D->getAttr<WeakImportAttr>())
+ else if (D->hasAttr<WeakAttr>() || D->hasAttr<WeakImportAttr>())
GV->setLinkage(llvm::GlobalVariable::WeakAnyLinkage);
else {
// FIXME: This isn't right. This should handle common linkage and other
@@ -826,7 +826,7 @@ void CodeGenModule::EmitGlobalVarDefinition(const VarDecl *D) {
if (const SectionAttr *SA = D->getAttr<SectionAttr>())
GV->setSection(SA->getName());
- if (D->getAttr<UsedAttr>())
+ if (D->hasAttr<UsedAttr>())
AddUsedGlobal(GV);
// Emit global variable debug information.
OpenPOWER on IntegriCloud