summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-06-03 20:00:20 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-06-03 20:00:20 +0000
commit52b7442c281603319817753037bb61c182d4f79f (patch)
tree364293f77af77ecfe3f78b515328f7837801ab76 /llvm/lib/AsmParser
parent6efc78e7fa5a50a6ceb9d46f18cb7d7b9f780c24 (diff)
downloadbcm5719-llvm-52b7442c281603319817753037bb61c182d4f79f.tar.gz
bcm5719-llvm-52b7442c281603319817753037bb61c182d4f79f.zip
Simplify the parsing of unnamed globals. No functionality changed.
llvm-svn: 210120
Diffstat (limited to 'llvm/lib/AsmParser')
-rw-r--r--llvm/lib/AsmParser/LLParser.cpp43
1 files changed, 12 insertions, 31 deletions
diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp
index 3dbc5fd67d9..18e2b572c6a 100644
--- a/llvm/lib/AsmParser/LLParser.cpp
+++ b/llvm/lib/AsmParser/LLParser.cpp
@@ -257,45 +257,26 @@ bool LLParser::ParseTopLevelEntities() {
case lltok::kw_appending: // OptionalLinkage
case lltok::kw_common: // OptionalLinkage
case lltok::kw_extern_weak: // OptionalLinkage
- case lltok::kw_external: { // OptionalLinkage
+ case lltok::kw_external: // OptionalLinkage
+ case lltok::kw_default: // OptionalVisibility
+ case lltok::kw_hidden: // OptionalVisibility
+ case lltok::kw_protected: // OptionalVisibility
+ case lltok::kw_thread_local: // OptionalThreadLocal
+ case lltok::kw_addrspace: // OptionalAddrSpace
+ case lltok::kw_constant: // GlobalType
+ case lltok::kw_global: { // GlobalType
unsigned Linkage, Visibility, DLLStorageClass;
GlobalVariable::ThreadLocalMode TLM;
- if (ParseOptionalLinkage(Linkage) ||
+ bool HasLinkage;
+ if (ParseOptionalLinkage(Linkage, HasLinkage) ||
ParseOptionalVisibility(Visibility) ||
ParseOptionalDLLStorageClass(DLLStorageClass) ||
ParseOptionalThreadLocal(TLM) ||
- ParseGlobal("", SMLoc(), Linkage, true, Visibility, DLLStorageClass,
- TLM))
+ ParseGlobal("", SMLoc(), Linkage, HasLinkage, Visibility,
+ DLLStorageClass, TLM))
return true;
break;
}
- case lltok::kw_default: // OptionalVisibility
- case lltok::kw_hidden: // OptionalVisibility
- case lltok::kw_protected: { // OptionalVisibility
- unsigned Visibility, DLLStorageClass;
- GlobalVariable::ThreadLocalMode TLM;
- if (ParseOptionalVisibility(Visibility) ||
- ParseOptionalDLLStorageClass(DLLStorageClass) ||
- ParseOptionalThreadLocal(TLM) ||
- ParseGlobal("", SMLoc(), 0, false, Visibility, DLLStorageClass, TLM))
- return true;
- break;
- }
-
- case lltok::kw_thread_local: { // OptionalThreadLocal
- GlobalVariable::ThreadLocalMode TLM;
- if (ParseOptionalThreadLocal(TLM) ||
- ParseGlobal("", SMLoc(), 0, false, 0, 0, TLM))
- return true;
- break;
- }
-
- case lltok::kw_addrspace: // OptionalAddrSpace
- case lltok::kw_constant: // GlobalType
- case lltok::kw_global: // GlobalType
- if (ParseGlobal("", SMLoc(), 0, false, 0, 0, GlobalValue::NotThreadLocal))
- return true;
- break;
case lltok::kw_attributes: if (ParseUnnamedAttrGrp()) return true; break;
}
OpenPOWER on IntegriCloud