File tree 2 files changed +10
-0
lines changed
2 files changed +10
-0
lines changed Original file line number Diff line number Diff line change 13
13
#
14
14
# CHECK-NOT: Skipping compiled textual Swift interface: {{.*}}/Inputs/Binary.swiftmodule
15
15
# CHECK: Skipping compiled textual Swift interface: {{.*}}/Inputs/FromInterface.swiftmodule
16
+ # CHECK-NOT: Skipping compiled textual Swift interface: {{.*}}/Inputs/FromInterface.swiftmodule
16
17
17
18
#
18
19
---
@@ -26,4 +27,8 @@ objects:
26
27
timestamp: 0
27
28
type: 50
28
29
symbols: []
30
+ - filename: '../Inputs/FromInterface.swiftmodule'
31
+ timestamp: 0
32
+ type: 50
33
+ symbols: []
29
34
...
Original file line number Diff line number Diff line change 19
19
#include " llvm/ADT/STLExtras.h"
20
20
#include " llvm/ADT/SmallString.h"
21
21
#include " llvm/ADT/StringRef.h"
22
+ #include " llvm/ADT/StringSet.h"
22
23
#include " llvm/ADT/Twine.h"
23
24
#include " llvm/BinaryFormat/Dwarf.h"
24
25
#include " llvm/BinaryFormat/MachO.h"
@@ -771,6 +772,7 @@ bool DwarfLinkerForBinary::linkImpl(
771
772
MaxDWARFVersion = std::max (Unit.getVersion (), MaxDWARFVersion);
772
773
};
773
774
775
+ llvm::StringSet<> SwiftModules;
774
776
for (const auto &Obj : Map.objects ()) {
775
777
// N_AST objects (swiftmodule files) should get dumped directly into the
776
778
// appropriate DWARF section.
@@ -779,6 +781,9 @@ bool DwarfLinkerForBinary::linkImpl(
779
781
outs () << " DEBUG MAP OBJECT: " << Obj->getObjectFilename () << " \n " ;
780
782
781
783
StringRef File = Obj->getObjectFilename ();
784
+ if (!SwiftModules.insert (File).second )
785
+ continue ;
786
+
782
787
auto ErrorOrMem = MemoryBuffer::getFile (File);
783
788
if (!ErrorOrMem) {
784
789
reportWarning (" Could not open '" + File + " '" );
You can’t perform that action at this time.
0 commit comments