diff --git a/include/swift/Driver/Compilation.h b/include/swift/Driver/Compilation.h index c0ea0ed65046a..7c94454d401d6 100644 --- a/include/swift/Driver/Compilation.h +++ b/include/swift/Driver/Compilation.h @@ -89,6 +89,11 @@ class Compilation { /// This data is used for cross-module module dependencies. fine_grained_dependencies::ModuleDepGraph depGraph; + Result(bool hadAbnormalExit, int exitCode, + fine_grained_dependencies::ModuleDepGraph depGraph) + : hadAbnormalExit(hadAbnormalExit), exitCode(exitCode), + depGraph(depGraph) {} + Result(const Result &) = delete; Result &operator=(const Result &) = delete; diff --git a/include/swift/IRGen/Linking.h b/include/swift/IRGen/Linking.h index 87b7d69d22c75..cfec436b1862f 100644 --- a/include/swift/IRGen/Linking.h +++ b/include/swift/IRGen/Linking.h @@ -680,7 +680,7 @@ class LinkEntity { Data = LINKENTITY_SET_FIELD(Kind, unsigned(kind)); } - LinkEntity() = default; + LinkEntity() : Pointer(nullptr), SecondaryPointer(nullptr), Data(0) {} static bool isValidResilientMethodRef(SILDeclRef declRef) { if (declRef.isForeign) diff --git a/include/swift/SILOptimizer/PassManager/PassPipeline.h b/include/swift/SILOptimizer/PassManager/PassPipeline.h index e9ecc77e7a078..d6c963c2c7612 100644 --- a/include/swift/SILOptimizer/PassManager/PassPipeline.h +++ b/include/swift/SILOptimizer/PassManager/PassPipeline.h @@ -33,7 +33,28 @@ namespace swift { class SILPassPipelinePlan; -struct SILPassPipeline; + +struct SILPassPipeline final { + unsigned ID; + StringRef Name; + unsigned KindOffset; + bool isFunctionPassPipeline; + + friend bool operator==(const SILPassPipeline &lhs, + const SILPassPipeline &rhs) { + return lhs.ID == rhs.ID && lhs.Name.equals(rhs.Name) && + lhs.KindOffset == rhs.KindOffset; + } + + friend bool operator!=(const SILPassPipeline &lhs, + const SILPassPipeline &rhs) { + return !(lhs == rhs); + } + + friend llvm::hash_code hash_value(const SILPassPipeline &pipeline) { + return llvm::hash_combine(pipeline.ID, pipeline.Name, pipeline.KindOffset); + } +}; enum class PassPipelineKind { #define PASSPIPELINE(NAME, DESCRIPTION) NAME, @@ -123,28 +144,6 @@ class SILPassPipelinePlan final { } }; -struct SILPassPipeline final { - unsigned ID; - StringRef Name; - unsigned KindOffset; - bool isFunctionPassPipeline; - - friend bool operator==(const SILPassPipeline &lhs, - const SILPassPipeline &rhs) { - return lhs.ID == rhs.ID && lhs.Name.equals(rhs.Name) && - lhs.KindOffset == rhs.KindOffset; - } - - friend bool operator!=(const SILPassPipeline &lhs, - const SILPassPipeline &rhs) { - return !(lhs == rhs); - } - - friend llvm::hash_code hash_value(const SILPassPipeline &pipeline) { - return llvm::hash_combine(pipeline.ID, pipeline.Name, pipeline.KindOffset); - } -}; - inline void SILPassPipelinePlan:: startPipeline(StringRef Name, bool isFunctionPassPipeline) { PipelineStages.push_back(SILPassPipeline{ diff --git a/lib/AST/CASTBridging.cpp b/lib/AST/CASTBridging.cpp index 5b30cb1df8660..50215828c43bf 100644 --- a/lib/AST/CASTBridging.cpp +++ b/lib/AST/CASTBridging.cpp @@ -20,6 +20,10 @@ struct BridgedDiagnosticImpl { InFlightDiagnostic inFlight; std::vector textBlobs; + BridgedDiagnosticImpl(InFlightDiagnostic inFlight, + std::vector textBlobs) + : inFlight(std::move(inFlight)), textBlobs(std::move(textBlobs)) {} + BridgedDiagnosticImpl(const BridgedDiagnosticImpl &) = delete; BridgedDiagnosticImpl(BridgedDiagnosticImpl &&) = delete; BridgedDiagnosticImpl &operator=(const BridgedDiagnosticImpl &) = delete; diff --git a/lib/Frontend/DependencyVerifier.cpp b/lib/Frontend/DependencyVerifier.cpp index db40b0a00b4c0..81f4396412378 100644 --- a/lib/Frontend/DependencyVerifier.cpp +++ b/lib/Frontend/DependencyVerifier.cpp @@ -148,6 +148,9 @@ struct Obligation { public: Key() = delete; + private: + Key(StringRef Name, Expectation::Kind Kind) : Name(Name), Kind(Kind) {} + public: static Key forNegative(StringRef name) { return Key{name, Expectation::Kind::Negative}; diff --git a/lib/IRGen/Outlining.h b/lib/IRGen/Outlining.h index 8cda830d97401..97433fff2390b 100644 --- a/lib/IRGen/Outlining.h +++ b/lib/IRGen/Outlining.h @@ -17,6 +17,7 @@ #ifndef SWIFT_IRGEN_OUTLINING_H #define SWIFT_IRGEN_OUTLINING_H +#include "LocalTypeDataKind.h" #include "swift/Basic/LLVM.h" #include "llvm/ADT/MapVector.h" @@ -37,7 +38,6 @@ class Address; class Explosion; class IRGenFunction; class IRGenModule; -class LocalTypeDataKey; class TypeInfo; /// A helper class for emitting outlined value operations.