aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Driver/Action.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Driver/Action.h')
-rw-r--r--include/clang/Driver/Action.h49
1 files changed, 35 insertions, 14 deletions
diff --git a/include/clang/Driver/Action.h b/include/clang/Driver/Action.h
index 289dbe3ee4f8..2cdb581b85c3 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;
}
};