diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-10-26 13:12:35 +0000 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-10-26 13:12:35 +0000 |
commit | 0e98d938249667d227774d655d385cc4dfb697f0 (patch) | |
tree | 2e7f13f91bccedd3889e8415433c2860fa717597 /clang/lib/Lex/ModuleMap.cpp | |
parent | 4b01b7306cd084de0d435e1df50fdf4dbcebdc08 (diff) | |
download | bcm5719-llvm-0e98d938249667d227774d655d385cc4dfb697f0.tar.gz bcm5719-llvm-0e98d938249667d227774d655d385cc4dfb697f0.zip |
ModuleMap::addHeader(): Appease msc17.
llvm-svn: 220639
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
-rw-r--r-- | clang/lib/Lex/ModuleMap.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index fb4135c2bc1..14eed0ae392 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/lib/Lex/ModuleMap.cpp @@ -778,10 +778,22 @@ void ModuleMap::setUmbrellaDir(Module *Mod, const DirectoryEntry *UmbrellaDir) { void ModuleMap::addHeader(Module *Mod, const FileEntry *Header, ModuleHeaderRole Role) { - auto HeaderLists = {&Mod->NormalHeaders, &Mod->PrivateHeaders, - &Mod->TextualHeaders, &Mod->PrivateTextualHeaders}; - assert(Role >= 0 && Role < HeaderLists.size() && "unknown header role"); - HeaderLists.begin()[Role]->push_back(Header); + switch ((int)Role) { + default: + llvm_unreachable("unknown header role"); + case NormalHeader: + Mod->NormalHeaders.push_back(Header); + break; + case PrivateHeader: + Mod->PrivateHeaders.push_back(Header); + break; + case TextualHeader: + Mod->TextualHeaders.push_back(Header); + break; + case PrivateHeader | TextualHeader: + Mod->PrivateTextualHeaders.push_back(Header); + break; + } if (!(Role & TextualHeader)) { bool isCompilingModuleHeader = Mod->getTopLevelModule() == CompilingModule; |