diff options
Diffstat (limited to 'clang/lib/Serialization/GlobalModuleIndex.cpp')
-rw-r--r-- | clang/lib/Serialization/GlobalModuleIndex.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/clang/lib/Serialization/GlobalModuleIndex.cpp b/clang/lib/Serialization/GlobalModuleIndex.cpp index 1163943..9c48712 100644 --- a/clang/lib/Serialization/GlobalModuleIndex.cpp +++ b/clang/lib/Serialization/GlobalModuleIndex.cpp @@ -430,14 +430,13 @@ namespace { /// Retrieve the module file information for the given file. ModuleFileInfo &getModuleFileInfo(FileEntryRef File) { - auto Known = ModuleFiles.find(File); - if (Known != ModuleFiles.end()) - return Known->second; - - unsigned NewID = ModuleFiles.size(); - ModuleFileInfo &Info = ModuleFiles[File]; - Info.ID = NewID; - return Info; + auto [It, Inserted] = ModuleFiles.try_emplace(File); + if (Inserted) { + unsigned NewID = ModuleFiles.size(); + ModuleFileInfo &Info = It->second; + Info.ID = NewID; + } + return It->second; } public: |