Skip to content

Commit 5c6ea2d

Browse files
committed
---
yaml --- r: 342959 b: refs/heads/master-rebranch c: 7883dc2 h: refs/heads/master i: 342957: b77927e 342955: 0f401bb 342951: 09a0384 342943: 4988f2d
1 parent 50b768a commit 5c6ea2d

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1455,7 +1455,7 @@ refs/tags/swift-DEVELOPMENT-SNAPSHOT-2019-08-02-a: ddd2b2976aa9bfde5f20fe37f6bd2
14551455
refs/tags/swift-DEVELOPMENT-SNAPSHOT-2019-08-03-a: 171cc166f2abeb5ca2a4003700a8a78a108bd300
14561456
refs/heads/benlangmuir-patch-1: baaebaf39d52f3bf36710d4fe40cf212e996b212
14571457
refs/heads/i-do-redeclare: 8c4e6d5de5c1e3f0a2cedccf319df713ea22c48e
1458-
refs/heads/master-rebranch: 8c2707c3f3178a2e1ca24b8842f542af27978579
1458+
refs/heads/master-rebranch: 7883dc2061548f8307651e831ebc13a04cf661dd
14591459
refs/heads/rdar-53901732: 9bd06af3284e18a109cdbf9aa59d833b24eeca7b
14601460
refs/heads/revert-26776-subst-always-returns-a-type: 1b8e18fdd391903a348970a4c848995d4cdd789c
14611461
refs/heads/tensorflow-merge: 8b854f62f80d4476cb383d43c4aac2001dde3cec

branches/master-rebranch/lib/SIL/SILPrinter.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3033,8 +3033,17 @@ void SILSpecializeAttr::print(llvm::raw_ostream &OS) const {
30333033
OS << "exported: " << exported << ", ";
30343034
OS << "kind: " << kind << ", ";
30353035

3036-
auto requirements = getSpecializedSignature()->requirementsNotSatisfiedBy(
3037-
getFunction()->getGenericEnvironment()->getGenericSignature());
3036+
ArrayRef<Requirement> requirements;
3037+
SmallVector<Requirement, 4> requirementsScratch;
3038+
if (auto specializedSig = getSpecializedSignature()) {
3039+
if (auto env = getFunction()->getGenericEnvironment()) {
3040+
requirementsScratch = specializedSig->requirementsNotSatisfiedBy(
3041+
env->getGenericSignature());
3042+
requirements = requirementsScratch;
3043+
} else {
3044+
requirements = specializedSig->getRequirements();
3045+
}
3046+
}
30383047
if (!requirements.empty()) {
30393048
OS << "where ";
30403049
SILFunction *F = getFunction();

0 commit comments

Comments
 (0)