Skip to content

Commit 716a1a9

Browse files
authored
Merge pull request #72104 from artemcm/InitSwiftModulesInDepScan
[Dependency Scanning] Initialize Swift modules in libSwiftScan on scanner creation
2 parents f999f04 + e755e72 commit 716a1a9

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

tools/libSwiftScan/libSwiftScan.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@
1515
//===----------------------------------------------------------------------===//
1616

1717
#include "swift/Basic/LLVMInitialize.h"
18+
#include "swift/Basic/InitializeSwiftModules.h"
1819
#include "swift/DependencyScan/DependencyScanImpl.h"
1920
#include "swift/DependencyScan/DependencyScanningTool.h"
2021
#include "swift/DependencyScan/StringUtils.h"
2122
#include "swift/DriverTool/DriverTool.h"
2223
#include "swift/Option/Options.h"
24+
#include "swift/SIL/SILBridging.h"
2325

2426
using namespace swift::dependencies;
2527

@@ -129,7 +131,11 @@ void swiftscan_scanner_cache_reset(swiftscan_scanner_t scanner) {
129131
//=== Scanner Functions ---------------------------------------------------===//
130132

131133
swiftscan_scanner_t swiftscan_scanner_create(void) {
134+
static std::mutex initializationMutex;
135+
std::lock_guard<std::mutex> lock(initializationMutex);
132136
INITIALIZE_LLVM();
137+
if (!swiftModulesInitialized())
138+
initializeSwiftModules();
133139
return wrap(new DependencyScanningTool());
134140
}
135141

0 commit comments

Comments
 (0)