11
11
// ===----------------------------------------------------------------------===//
12
12
13
13
#include " DependencyInfo.h"
14
+ #include " llvm/ADT/MapVector.h"
14
15
#include " llvm/BinaryFormat/Magic.h"
15
16
#include " llvm/IR/LLVMContext.h"
16
17
#include " llvm/Object/ArchiveWriter.h"
@@ -554,7 +555,7 @@ checkForDuplicates(const MembersPerArchitectureMap &MembersPerArch) {
554
555
for (const auto &M : MembersPerArch) {
555
556
ArrayRef<NewArchiveMember> Members = M.second .getMembers ();
556
557
ArrayRef<StringRef> Files = M.second .getFiles ();
557
- StringMap<std::vector <StringRef>> MembersToFiles;
558
+ MapVector<StringRef, SmallVector <StringRef, 1 >> MembersToFiles;
558
559
for (auto Iterators = std::make_pair (Members.begin (), Files.begin ());
559
560
Iterators.first != Members.end ();
560
561
++Iterators.first , ++Iterators.second ) {
@@ -565,12 +566,11 @@ checkForDuplicates(const MembersPerArchitectureMap &MembersPerArch) {
565
566
566
567
std::string ErrorData;
567
568
raw_string_ostream ErrorStream (ErrorData);
568
- for (const auto &MemberToFile : MembersToFiles) {
569
- if (MemberToFile.getValue ().size () > 1 ) {
570
- ErrorStream << " file '" << MemberToFile.getKey ().str ()
571
- << " ' was specified multiple times.\n " ;
569
+ for (const auto &[Key, Value] : MembersToFiles) {
570
+ if (Value.size () > 1 ) {
571
+ ErrorStream << " file '" << Key << " ' was specified multiple times.\n " ;
572
572
573
- for (StringRef OriginalFile : MemberToFile. getValue () )
573
+ for (StringRef OriginalFile : Value )
574
574
ErrorStream << " in: " << OriginalFile.str () << ' \n ' ;
575
575
576
576
ErrorStream << ' \n ' ;
0 commit comments