diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-03 20:00:20 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-03 20:00:20 +0000 |
commit | 85422f7da37d8b3ccfbe592351cd2ca95769d80f (patch) | |
tree | 6ae5185df1264d7d6ab467131438422644a7ee6d /lib/AsmParser | |
parent | b20541c5fb3682e50786f99b968bf760576b1396 (diff) | |
download | llvm-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.cpp | 43 |
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; } |