summaryrefslogtreecommitdiff
path: root/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
commit85422f7da37d8b3ccfbe592351cd2ca95769d80f (patch)
tree6ae5185df1264d7d6ab467131438422644a7ee6d /lib/AsmParser
parentb20541c5fb3682e50786f99b968bf760576b1396 (diff)
downloadllvm-85422f7da37d8b3ccfbe592351cd2ca95769d80f.tar.gz
llvm-85422f7da37d8b3ccfbe592351cd2ca95769d80f.tar.bz2
llvm-85422f7da37d8b3ccfbe592351cd2ca95769d80f.tar.xz
Simplify the parsing of unnamed globals. No functionality changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210120 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser')
-rw-r--r--lib/AsmParser/LLParser.cpp43
1 files changed, 12 insertions, 31 deletions
diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp
index 3dbc5fd67d..18e2b572c6 100644
--- a/lib/AsmParser/LLParser.cpp
+++ b/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;
}