Skip to content

Commit 2936a33

Browse files
committed
[embedded] Wrap SwiftCompilerSources initialization state into swiftModulesInitialized API
1 parent f0dd174 commit 2936a33

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

include/swift/SIL/SILBridging.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class SwiftPassInvocation;
6060
class GenericSpecializationInformation;
6161
}
6262

63-
extern bool nodeMetatypesInitialized;
63+
bool swiftModulesInitialized();
6464
void registerBridgedClass(BridgedStringRef className, SwiftMetatype metatype);
6565

6666
struct BridgedType {

lib/Frontend/CompilerInvocation.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -522,12 +522,12 @@ static void diagnoseCxxInteropCompatMode(Arg *verArg, ArgList &Args,
522522
diags.diagnose(SourceLoc(), diag::valid_cxx_interop_modes, versStr);
523523
}
524524

525-
static llvm::Optional<StrictConcurrency>
525+
static llvm::Optional<swift::StrictConcurrency>
526526
parseStrictConcurrency(StringRef value) {
527-
return llvm::StringSwitch<llvm::Optional<StrictConcurrency>>(value)
528-
.Case("minimal", StrictConcurrency::Minimal)
529-
.Case("targeted", StrictConcurrency::Targeted)
530-
.Case("complete", StrictConcurrency::Complete)
527+
return llvm::StringSwitch<llvm::Optional<swift::StrictConcurrency>>(value)
528+
.Case("minimal", swift::StrictConcurrency::Minimal)
529+
.Case("targeted", swift::StrictConcurrency::Targeted)
530+
.Case("complete", swift::StrictConcurrency::Complete)
531531
.Default(llvm::None);
532532
}
533533

@@ -1335,7 +1335,7 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
13351335
Opts.BypassResilienceChecks |= Args.hasArg(OPT_bypass_resilience);
13361336

13371337
if (Opts.hasFeature(Feature::Embedded)) {
1338-
assert(nodeMetatypesInitialized && "no SwiftCompilerSources");
1338+
assert(swiftModulesInitialized() && "no SwiftCompilerSources");
13391339

13401340
Opts.UnavailableDeclOptimizationMode = UnavailableDeclOptimization::Complete;
13411341
Opts.DisableImplicitStringProcessingModuleImport = true;

lib/SIL/Utils/SILBridging.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,19 @@
3131

3232
using namespace swift;
3333

34-
bool nodeMetatypesInitialized = false;
35-
3634
namespace {
3735

36+
bool nodeMetatypesInitialized = false;
37+
3838
// Filled in by class registration in initializeSwiftModules().
3939
SwiftMetatype nodeMetatypes[(unsigned)SILNodeKind::Last_SILNode + 1];
4040

4141
}
4242

43+
bool swiftModulesInitialized() {
44+
return nodeMetatypesInitialized;
45+
}
46+
4347
// Does return null if initializeSwiftModules() is never called.
4448
SwiftMetatype SILNode::getSILNodeMetatype(SILNodeKind kind) {
4549
SwiftMetatype metatype = nodeMetatypes[(unsigned)kind];

0 commit comments

Comments
 (0)