mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 12:26:52 +08:00
[FileSpecList] Add EmplaceBack method (NFC)
Instead of having to write FileSpecList::Append(FileSpec(args)) you can now call FileSpecList::EmplaceBack(args), similar to std::vector<>::emplace_back. llvm-svn: 366489
This commit is contained in:
@@ -76,6 +76,15 @@ public:
|
||||
/// \b true if the file was appended, \b false otherwise.
|
||||
bool AppendIfUnique(const FileSpec &file);
|
||||
|
||||
/// Inserts a new FileSpec into the FileSpecList constructed in-place with
|
||||
/// the given arguments.
|
||||
///
|
||||
/// \param[in] args
|
||||
/// Arguments to create the FileSpec
|
||||
template <class... Args> void EmplaceBack(Args &&... args) {
|
||||
m_files.emplace_back(std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
/// Clears the file list.
|
||||
void Clear();
|
||||
|
||||
|
||||
@@ -640,7 +640,7 @@ SearchFilterSP SearchFilterByModuleList::CreateFromStructuredData(
|
||||
"SFBM::CFSD: filter module item %zu not a string.", i);
|
||||
return nullptr;
|
||||
}
|
||||
modules.Append(FileSpec(module));
|
||||
modules.EmplaceBack(module);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -703,7 +703,7 @@ lldb::SearchFilterSP SearchFilterByModuleListAndCU::CreateFromStructuredData(
|
||||
"SFBM::CFSD: filter module item %zu not a string.", i);
|
||||
return result_sp;
|
||||
}
|
||||
modules.Append(FileSpec(module));
|
||||
modules.EmplaceBack(module);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -725,7 +725,7 @@ lldb::SearchFilterSP SearchFilterByModuleListAndCU::CreateFromStructuredData(
|
||||
"SFBM::CFSD: filter cu item %zu not a string.", i);
|
||||
return nullptr;
|
||||
}
|
||||
cus.Append(FileSpec(cu));
|
||||
cus.EmplaceBack(cu);
|
||||
}
|
||||
|
||||
return std::make_shared<SearchFilterByModuleListAndCU>(
|
||||
|
||||
@@ -471,8 +471,8 @@ lldb::SearchFilterSP ItaniumABILanguageRuntime::CreateExceptionSearchFilter() {
|
||||
if (target.GetArchitecture().GetTriple().getVendor() == llvm::Triple::Apple) {
|
||||
// Limit the number of modules that are searched for these breakpoints for
|
||||
// Apple binaries.
|
||||
filter_modules.Append(FileSpec("libc++abi.dylib"));
|
||||
filter_modules.Append(FileSpec("libSystem.B.dylib"));
|
||||
filter_modules.EmplaceBack("libc++abi.dylib");
|
||||
filter_modules.EmplaceBack("libSystem.B.dylib");
|
||||
}
|
||||
return target.GetSearchFilterForModuleList(&filter_modules);
|
||||
}
|
||||
|
||||
@@ -946,10 +946,10 @@ uint32_t ObjectFilePECOFF::ParseDependentModules() {
|
||||
dll_specs.GetDirectory().SetString(m_file.GetDirectory().GetCString());
|
||||
|
||||
if (!llvm::sys::fs::real_path(dll_specs.GetPath(), dll_fullpath))
|
||||
m_deps_filespec->Append(FileSpec(dll_fullpath));
|
||||
m_deps_filespec->EmplaceBack(dll_fullpath);
|
||||
else {
|
||||
// Known DLLs or DLL not found in the object file directory.
|
||||
m_deps_filespec->Append(FileSpec(dll_name));
|
||||
m_deps_filespec->EmplaceBack(dll_name);
|
||||
}
|
||||
}
|
||||
return m_deps_filespec->GetSize();
|
||||
|
||||
@@ -1227,7 +1227,7 @@ BreakpointSP PlatformDarwin::SetThreadCreationBreakpoint(Target &target) {
|
||||
FileSpecList bp_modules;
|
||||
for (size_t i = 0; i < llvm::array_lengthof(g_bp_modules); i++) {
|
||||
const char *bp_module = g_bp_modules[i];
|
||||
bp_modules.Append(FileSpec(bp_module));
|
||||
bp_modules.EmplaceBack(bp_module);
|
||||
}
|
||||
|
||||
bool internal = true;
|
||||
|
||||
@@ -833,7 +833,7 @@ SymbolFileDWARF::GetTypeUnitSupportFiles(DWARFTypeUnit &tu) {
|
||||
auto iter_bool = m_type_unit_support_files.try_emplace(offset);
|
||||
FileSpecList &list = iter_bool.first->second;
|
||||
if (iter_bool.second) {
|
||||
list.Append(FileSpec());
|
||||
list.EmplaceBack();
|
||||
DWARFDebugLine::ParseSupportFiles(GetObjectFile()->GetModule(),
|
||||
m_context.getOrLoadLineData(), offset,
|
||||
list, &tu);
|
||||
|
||||
Reference in New Issue
Block a user