Skip to content

Commit 42b5350

Browse files
authored
Merge pull request #7772 from hughbe/msvc-demangling
Fix Windows build with new demangling changes
2 parents a99141c + 7b092ae commit 42b5350

File tree

4 files changed

+12
-4
lines changed

4 files changed

+12
-4
lines changed

include/swift/AST/TypeRepr.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,9 @@ class SimpleIdentTypeRepr : public ComponentIdentTypeRepr {
283283
SimpleIdentTypeRepr(SourceLoc Loc, Identifier Id)
284284
: ComponentIdentTypeRepr(TypeReprKind::SimpleIdent, Loc, Id) {}
285285

286+
SimpleIdentTypeRepr(const SimpleIdentTypeRepr &repr)
287+
: SimpleIdentTypeRepr(repr.getLoc(), repr.getIdentifier()) {}
288+
286289
static bool classof(const TypeRepr *T) {
287290
return T->getKind() == TypeReprKind::SimpleIdent;
288291
}
@@ -846,6 +849,9 @@ class FixedTypeRepr : public TypeRepr {
846849
FixedTypeRepr(Type Ty, SourceLoc Loc)
847850
: TypeRepr(TypeReprKind::Fixed), Ty(Ty), Loc(Loc) {}
848851

852+
FixedTypeRepr(const FixedTypeRepr& repr)
853+
: FixedTypeRepr(repr.Ty, repr.Loc) {}
854+
849855
/// Retrieve the location.
850856
SourceLoc getLoc() const { return Loc; }
851857

include/swift/Remote/MetadataReader.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,6 +869,8 @@ class MetadataReader {
869869
return {true, metadataPointer};
870870
}
871871
}
872+
873+
swift_runtime_unreachable("Unhandled IsaEncodingKind in switch.");
872874
}
873875

874876
/// Read the parent type metadata from a nested nominal type metadata.

lib/Basic/Demangle.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,7 @@ class OldDemangler {
629629
/// TODO: This is an atrocity. Come up with a shorter name.
630630
#define FUNCSIGSPEC_CREATE_PARAM_KIND(kind) \
631631
Factory.createNode(Node::Kind::FunctionSignatureSpecializationParamKind, \
632-
unsigned(FunctionSigSpecializationParamKind::kind))
632+
uint64_t(FunctionSigSpecializationParamKind::kind))
633633
#define FUNCSIGSPEC_CREATE_PARAM_PAYLOAD(payload) \
634634
Factory.createNode(Node::Kind::FunctionSignatureSpecializationParamPayload, \
635635
payload)

lib/Basic/Demangler.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1412,19 +1412,19 @@ NodePointer Demangler::demangleFuncSpecParam(Node::IndexType ParamIdx) {
14121412
// The parameters will be added later.
14131413
return addChild(Param, createNode(
14141414
Node::Kind::FunctionSignatureSpecializationParamKind,
1415-
unsigned(FunctionSigSpecializationParamKind::ClosureProp)));
1415+
uint64_t(FunctionSigSpecializationParamKind::ClosureProp)));
14161416
case 'p': {
14171417
switch (nextChar()) {
14181418
case 'f':
14191419
// Consumes an identifier parameter, which will be added later.
14201420
return addChild(Param, createNode(
14211421
Node::Kind::FunctionSignatureSpecializationParamKind,
1422-
unsigned(FunctionSigSpecializationParamKind::ConstantPropFunction)));
1422+
uint64_t(FunctionSigSpecializationParamKind::ConstantPropFunction)));
14231423
case 'g':
14241424
// Consumes an identifier parameter, which will be added later.
14251425
return addChild(Param, createNode(
14261426
Node::Kind::FunctionSignatureSpecializationParamKind,
1427-
unsigned(FunctionSigSpecializationParamKind::ConstantPropGlobal)));
1427+
uint64_t(FunctionSigSpecializationParamKind::ConstantPropGlobal)));
14281428
case 'i':
14291429
return addFuncSpecParamNumber(Param,
14301430
FunctionSigSpecializationParamKind::ConstantPropInteger);

0 commit comments

Comments
 (0)