mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-15 22:28:18 +00:00
[PM] Comment on all of the totally pointless definitions of special
members as being te workaround MSVC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203427 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -64,6 +64,8 @@ class Function;
|
|||||||
/// the IR is not mutated at all.
|
/// the IR is not mutated at all.
|
||||||
class PreservedAnalyses {
|
class PreservedAnalyses {
|
||||||
public:
|
public:
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
PreservedAnalyses() {}
|
PreservedAnalyses() {}
|
||||||
PreservedAnalyses(const PreservedAnalyses &Arg)
|
PreservedAnalyses(const PreservedAnalyses &Arg)
|
||||||
: PreservedPassIDs(Arg.PreservedPassIDs) {}
|
: PreservedPassIDs(Arg.PreservedPassIDs) {}
|
||||||
@@ -202,6 +204,8 @@ template <typename IRUnitT, typename AnalysisManagerT, typename PassT>
|
|||||||
struct PassModel<IRUnitT, AnalysisManagerT, PassT,
|
struct PassModel<IRUnitT, AnalysisManagerT, PassT,
|
||||||
true> : PassConcept<IRUnitT, AnalysisManagerT> {
|
true> : PassConcept<IRUnitT, AnalysisManagerT> {
|
||||||
explicit PassModel(PassT Pass) : Pass(std::move(Pass)) {}
|
explicit PassModel(PassT Pass) : Pass(std::move(Pass)) {}
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
PassModel(const PassModel &Arg) : Pass(Arg.Pass) {}
|
PassModel(const PassModel &Arg) : Pass(Arg.Pass) {}
|
||||||
PassModel(PassModel &&Arg) : Pass(Arg.Pass) {}
|
PassModel(PassModel &&Arg) : Pass(Arg.Pass) {}
|
||||||
PassModel &operator=(PassModel RHS) {
|
PassModel &operator=(PassModel RHS) {
|
||||||
@@ -222,6 +226,8 @@ template <typename IRUnitT, typename AnalysisManagerT, typename PassT>
|
|||||||
struct PassModel<IRUnitT, AnalysisManagerT, PassT,
|
struct PassModel<IRUnitT, AnalysisManagerT, PassT,
|
||||||
false> : PassConcept<IRUnitT, AnalysisManagerT> {
|
false> : PassConcept<IRUnitT, AnalysisManagerT> {
|
||||||
explicit PassModel(PassT Pass) : Pass(std::move(Pass)) {}
|
explicit PassModel(PassT Pass) : Pass(std::move(Pass)) {}
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
PassModel(const PassModel &Arg) : Pass(Arg.Pass) {}
|
PassModel(const PassModel &Arg) : Pass(Arg.Pass) {}
|
||||||
PassModel(PassModel &&Arg) : Pass(Arg.Pass) {}
|
PassModel(PassModel &&Arg) : Pass(Arg.Pass) {}
|
||||||
PassModel &operator=(PassModel RHS) {
|
PassModel &operator=(PassModel RHS) {
|
||||||
@@ -289,6 +295,8 @@ template <typename IRUnitT, typename PassT, typename ResultT>
|
|||||||
struct AnalysisResultModel<IRUnitT, PassT, ResultT,
|
struct AnalysisResultModel<IRUnitT, PassT, ResultT,
|
||||||
false> : AnalysisResultConcept<IRUnitT> {
|
false> : AnalysisResultConcept<IRUnitT> {
|
||||||
explicit AnalysisResultModel(ResultT Result) : Result(std::move(Result)) {}
|
explicit AnalysisResultModel(ResultT Result) : Result(std::move(Result)) {}
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
AnalysisResultModel(const AnalysisResultModel &Arg) : Result(Arg.Result) {}
|
AnalysisResultModel(const AnalysisResultModel &Arg) : Result(Arg.Result) {}
|
||||||
AnalysisResultModel(AnalysisResultModel &&Arg) : Result(Arg.Result) {}
|
AnalysisResultModel(AnalysisResultModel &&Arg) : Result(Arg.Result) {}
|
||||||
AnalysisResultModel &operator=(AnalysisResultModel RHS) {
|
AnalysisResultModel &operator=(AnalysisResultModel RHS) {
|
||||||
@@ -314,6 +322,8 @@ template <typename IRUnitT, typename PassT, typename ResultT>
|
|||||||
struct AnalysisResultModel<IRUnitT, PassT, ResultT,
|
struct AnalysisResultModel<IRUnitT, PassT, ResultT,
|
||||||
true> : AnalysisResultConcept<IRUnitT> {
|
true> : AnalysisResultConcept<IRUnitT> {
|
||||||
explicit AnalysisResultModel(ResultT Result) : Result(std::move(Result)) {}
|
explicit AnalysisResultModel(ResultT Result) : Result(std::move(Result)) {}
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
AnalysisResultModel(const AnalysisResultModel &Arg) : Result(Arg.Result) {}
|
AnalysisResultModel(const AnalysisResultModel &Arg) : Result(Arg.Result) {}
|
||||||
AnalysisResultModel(AnalysisResultModel &&Arg) : Result(Arg.Result) {}
|
AnalysisResultModel(AnalysisResultModel &&Arg) : Result(Arg.Result) {}
|
||||||
AnalysisResultModel &operator=(AnalysisResultModel RHS) {
|
AnalysisResultModel &operator=(AnalysisResultModel RHS) {
|
||||||
@@ -361,6 +371,8 @@ struct AnalysisPassModel<IRUnitT, AnalysisManagerT, PassT,
|
|||||||
true> : AnalysisPassConcept<IRUnitT,
|
true> : AnalysisPassConcept<IRUnitT,
|
||||||
AnalysisManagerT> {
|
AnalysisManagerT> {
|
||||||
explicit AnalysisPassModel(PassT Pass) : Pass(std::move(Pass)) {}
|
explicit AnalysisPassModel(PassT Pass) : Pass(std::move(Pass)) {}
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
AnalysisPassModel(const AnalysisPassModel &Arg) : Pass(Arg.Pass) {}
|
AnalysisPassModel(const AnalysisPassModel &Arg) : Pass(Arg.Pass) {}
|
||||||
AnalysisPassModel(AnalysisPassModel &&Arg) : Pass(Arg.Pass) {}
|
AnalysisPassModel(AnalysisPassModel &&Arg) : Pass(Arg.Pass) {}
|
||||||
AnalysisPassModel &operator=(AnalysisPassModel RHS) {
|
AnalysisPassModel &operator=(AnalysisPassModel RHS) {
|
||||||
@@ -390,6 +402,8 @@ struct AnalysisPassModel<IRUnitT, AnalysisManagerT, PassT,
|
|||||||
false> : AnalysisPassConcept<IRUnitT,
|
false> : AnalysisPassConcept<IRUnitT,
|
||||||
AnalysisManagerT> {
|
AnalysisManagerT> {
|
||||||
explicit AnalysisPassModel(PassT Pass) : Pass(std::move(Pass)) {}
|
explicit AnalysisPassModel(PassT Pass) : Pass(std::move(Pass)) {}
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
AnalysisPassModel(const AnalysisPassModel &Arg) : Pass(Arg.Pass) {}
|
AnalysisPassModel(const AnalysisPassModel &Arg) : Pass(Arg.Pass) {}
|
||||||
AnalysisPassModel(AnalysisPassModel &&Arg) : Pass(Arg.Pass) {}
|
AnalysisPassModel(AnalysisPassModel &&Arg) : Pass(Arg.Pass) {}
|
||||||
AnalysisPassModel &operator=(AnalysisPassModel RHS) {
|
AnalysisPassModel &operator=(AnalysisPassModel RHS) {
|
||||||
@@ -419,7 +433,7 @@ class ModuleAnalysisManager;
|
|||||||
class ModulePassManager {
|
class ModulePassManager {
|
||||||
public:
|
public:
|
||||||
// We have to explicitly define all the special member functions because MSVC
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
// 2013 refuses to generate them.
|
// refuses to generate them.
|
||||||
ModulePassManager() {}
|
ModulePassManager() {}
|
||||||
ModulePassManager(ModulePassManager &&Arg) : Passes(std::move(Arg.Passes)) {}
|
ModulePassManager(ModulePassManager &&Arg) : Passes(std::move(Arg.Passes)) {}
|
||||||
ModulePassManager &operator=(ModulePassManager &&RHS) {
|
ModulePassManager &operator=(ModulePassManager &&RHS) {
|
||||||
@@ -462,7 +476,7 @@ class FunctionAnalysisManager;
|
|||||||
class FunctionPassManager {
|
class FunctionPassManager {
|
||||||
public:
|
public:
|
||||||
// We have to explicitly define all the special member functions because MSVC
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
// 2013 refuses to generate them.
|
// refuses to generate them.
|
||||||
FunctionPassManager() {}
|
FunctionPassManager() {}
|
||||||
FunctionPassManager(FunctionPassManager &&Arg) : Passes(std::move(Arg.Passes)) {}
|
FunctionPassManager(FunctionPassManager &&Arg) : Passes(std::move(Arg.Passes)) {}
|
||||||
FunctionPassManager &operator=(FunctionPassManager &&RHS) {
|
FunctionPassManager &operator=(FunctionPassManager &&RHS) {
|
||||||
@@ -526,6 +540,8 @@ protected:
|
|||||||
// FIXME: Provide template aliases for the models when we're using C++11 in
|
// FIXME: Provide template aliases for the models when we're using C++11 in
|
||||||
// a mode supporting them.
|
// a mode supporting them.
|
||||||
|
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
AnalysisManagerBase() {}
|
AnalysisManagerBase() {}
|
||||||
AnalysisManagerBase(AnalysisManagerBase &&Arg)
|
AnalysisManagerBase(AnalysisManagerBase &&Arg)
|
||||||
: AnalysisPasses(std::move(Arg.AnalysisPasses)) {}
|
: AnalysisPasses(std::move(Arg.AnalysisPasses)) {}
|
||||||
@@ -636,6 +652,8 @@ class ModuleAnalysisManager
|
|||||||
typedef BaseT::PassConceptT PassConceptT;
|
typedef BaseT::PassConceptT PassConceptT;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
ModuleAnalysisManager() {}
|
ModuleAnalysisManager() {}
|
||||||
ModuleAnalysisManager(ModuleAnalysisManager &&Arg)
|
ModuleAnalysisManager(ModuleAnalysisManager &&Arg)
|
||||||
: BaseT(std::move(static_cast<BaseT &>(Arg))),
|
: BaseT(std::move(static_cast<BaseT &>(Arg))),
|
||||||
@@ -684,6 +702,8 @@ class FunctionAnalysisManager
|
|||||||
public:
|
public:
|
||||||
// Most public APIs are inherited from the CRTP base class.
|
// Most public APIs are inherited from the CRTP base class.
|
||||||
|
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
FunctionAnalysisManager() {}
|
FunctionAnalysisManager() {}
|
||||||
FunctionAnalysisManager(FunctionAnalysisManager &&Arg)
|
FunctionAnalysisManager(FunctionAnalysisManager &&Arg)
|
||||||
: BaseT(std::move(static_cast<BaseT &>(Arg))),
|
: BaseT(std::move(static_cast<BaseT &>(Arg))),
|
||||||
@@ -803,6 +823,8 @@ private:
|
|||||||
class FunctionAnalysisManagerModuleProxy::Result {
|
class FunctionAnalysisManagerModuleProxy::Result {
|
||||||
public:
|
public:
|
||||||
explicit Result(FunctionAnalysisManager &FAM) : FAM(FAM) {}
|
explicit Result(FunctionAnalysisManager &FAM) : FAM(FAM) {}
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
Result(const Result &Arg) : FAM(Arg.FAM) {}
|
Result(const Result &Arg) : FAM(Arg.FAM) {}
|
||||||
Result(Result &&Arg) : FAM(Arg.FAM) {}
|
Result(Result &&Arg) : FAM(Arg.FAM) {}
|
||||||
Result &operator=(Result RHS) {
|
Result &operator=(Result RHS) {
|
||||||
@@ -848,6 +870,8 @@ public:
|
|||||||
class Result {
|
class Result {
|
||||||
public:
|
public:
|
||||||
explicit Result(const ModuleAnalysisManager &MAM) : MAM(MAM) {}
|
explicit Result(const ModuleAnalysisManager &MAM) : MAM(MAM) {}
|
||||||
|
// We have to explicitly define all the special member functions because
|
||||||
|
// MSVC refuses to generate them.
|
||||||
Result(const Result &Arg) : MAM(Arg.MAM) {}
|
Result(const Result &Arg) : MAM(Arg.MAM) {}
|
||||||
Result(Result &&Arg) : MAM(Arg.MAM) {}
|
Result(Result &&Arg) : MAM(Arg.MAM) {}
|
||||||
Result &operator=(Result RHS) {
|
Result &operator=(Result RHS) {
|
||||||
@@ -893,6 +917,8 @@ class ModuleToFunctionPassAdaptor {
|
|||||||
public:
|
public:
|
||||||
explicit ModuleToFunctionPassAdaptor(FunctionPassT Pass)
|
explicit ModuleToFunctionPassAdaptor(FunctionPassT Pass)
|
||||||
: Pass(std::move(Pass)) {}
|
: Pass(std::move(Pass)) {}
|
||||||
|
// We have to explicitly define all the special member functions because MSVC
|
||||||
|
// refuses to generate them.
|
||||||
ModuleToFunctionPassAdaptor(const ModuleToFunctionPassAdaptor &Arg)
|
ModuleToFunctionPassAdaptor(const ModuleToFunctionPassAdaptor &Arg)
|
||||||
: Pass(Arg.Pass) {}
|
: Pass(Arg.Pass) {}
|
||||||
ModuleToFunctionPassAdaptor(ModuleToFunctionPassAdaptor &&Arg)
|
ModuleToFunctionPassAdaptor(ModuleToFunctionPassAdaptor &&Arg)
|
||||||
|
Reference in New Issue
Block a user