Skip to content

Commit 8f335b1

Browse files
committed
[embedded] Allow serialized internal/private functions in embedded mode
1 parent 770dcd1 commit 8f335b1

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

lib/SIL/Verifier/SILVerifier.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6674,6 +6674,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
66746674
verifySILFunctionType(FTy);
66756675

66766676
SILModule &mod = F->getModule();
6677+
bool embedded = mod.getASTContext().LangOpts.hasFeature(Feature::Embedded);
66776678

66786679
require(!F->isSerialized() || !mod.isSerialized() || mod.isParsedAsSerializedSIL(),
66796680
"cannot have a serialized function after the module has been serialized");
@@ -6694,7 +6695,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
66946695
case SILLinkage::Private:
66956696
require(F->isDefinition() || F->hasForeignBody(),
66966697
"internal/private function must have a body");
6697-
require(!F->isSerialized(),
6698+
require(!F->isSerialized() || embedded,
66986699
"internal/private function cannot be serialized or serializable");
66996700
break;
67006701
case SILLinkage::PublicExternal:

0 commit comments

Comments
 (0)