Use a SetVector when looking up the SPI attributes on imports

Using a SetVector fixes an issue where many source files imported the
same SPI group from the same module, the emitted private textual
interfaces superfluously repeated the `@_spi` attribute on the import.

rdar://problem/63681845
This commit is contained in:
Alexis Laferrière
2020-05-21 20:27:18 -07:00
parent 9c08c2456a
commit 8fefdece2c
11 changed files with 35 additions and 30 deletions

View File

@@ -130,7 +130,7 @@ static void printImports(raw_ostream &out,
// SPI attribute on imports
if (Opts.PrintSPIs) {
SmallVector<Identifier, 4> spis;
llvm::SmallSetVector<Identifier, 4> spis;
M->lookupImportedSPIGroups(importedModule, spis);
for (auto spiName : spis)
out << "@_spi(" << spiName << ") ";