diff options
Diffstat (limited to 'include/clang/Driver/Action.h')
-rw-r--r-- | include/clang/Driver/Action.h | 49 |
1 files changed, 35 insertions, 14 deletions
diff --git a/include/clang/Driver/Action.h b/include/clang/Driver/Action.h index 289dbe3ee4f85..2cdb581b85c3a 100644 --- a/include/clang/Driver/Action.h +++ b/include/clang/Driver/Action.h @@ -50,10 +50,11 @@ public: LinkJobClass, LipoJobClass, DsymutilJobClass, - VerifyJobClass, + VerifyDebugInfoJobClass, + VerifyPCHJobClass, JobClassFirst=PreprocessJobClass, - JobClassLast=VerifyJobClass + JobClassLast=VerifyPCHJobClass }; static const char *getClassName(ActionClass AC); @@ -141,7 +142,7 @@ public: }; class PreprocessJobAction : public JobAction { - virtual void anchor(); + void anchor() override; public: PreprocessJobAction(Action *Input, types::ID OutputType); @@ -151,7 +152,7 @@ public: }; class PrecompileJobAction : public JobAction { - virtual void anchor(); + void anchor() override; public: PrecompileJobAction(Action *Input, types::ID OutputType); @@ -161,7 +162,7 @@ public: }; class AnalyzeJobAction : public JobAction { - virtual void anchor(); + void anchor() override; public: AnalyzeJobAction(Action *Input, types::ID OutputType); @@ -171,7 +172,7 @@ public: }; class MigrateJobAction : public JobAction { - virtual void anchor(); + void anchor() override; public: MigrateJobAction(Action *Input, types::ID OutputType); @@ -181,7 +182,7 @@ public: }; class CompileJobAction : public JobAction { - virtual void anchor(); + void anchor() override; public: CompileJobAction(Action *Input, types::ID OutputType); @@ -191,7 +192,7 @@ public: }; class AssembleJobAction : public JobAction { - virtual void anchor(); + void anchor() override; public: AssembleJobAction(Action *Input, types::ID OutputType); @@ -201,7 +202,7 @@ public: }; class LinkJobAction : public JobAction { - virtual void anchor(); + void anchor() override; public: LinkJobAction(ActionList &Inputs, types::ID Type); @@ -211,7 +212,7 @@ public: }; class LipoJobAction : public JobAction { - virtual void anchor(); + void anchor() override; public: LipoJobAction(ActionList &Inputs, types::ID Type); @@ -221,7 +222,7 @@ public: }; class DsymutilJobAction : public JobAction { - virtual void anchor(); + void anchor() override; public: DsymutilJobAction(ActionList &Inputs, types::ID Type); @@ -231,11 +232,31 @@ public: }; class VerifyJobAction : public JobAction { - virtual void anchor(); + void anchor() override; +public: + VerifyJobAction(ActionClass Kind, Action *Input, types::ID Type); + VerifyJobAction(ActionClass Kind, ActionList &Inputs, types::ID Type); + static bool classof(const Action *A) { + return A->getKind() == VerifyDebugInfoJobClass || + A->getKind() == VerifyPCHJobClass; + } +}; + +class VerifyDebugInfoJobAction : public VerifyJobAction { + void anchor() override; +public: + VerifyDebugInfoJobAction(Action *Input, types::ID Type); + static bool classof(const Action *A) { + return A->getKind() == VerifyDebugInfoJobClass; + } +}; + +class VerifyPCHJobAction : public VerifyJobAction { + void anchor() override; public: - VerifyJobAction(ActionList &Inputs, types::ID Type); + VerifyPCHJobAction(Action *Input, types::ID Type); static bool classof(const Action *A) { - return A->getKind() == VerifyJobClass; + return A->getKind() == VerifyPCHJobClass; } }; |