Skip to content

Commit 0f11eb0

Browse files
committed
add BinaryModifyJobClass
1 parent 87a1d42 commit 0f11eb0

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

clang/include/clang/Driver/Action.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,10 @@ class Action {
7676
StaticLibJobClass,
7777
BinaryAnalyzeJobClass,
7878
BinaryTranslatorJobClass,
79+
BinaryModifyJobClass,
7980

8081
JobClassFirst = PreprocessJobClass,
81-
JobClassLast = BinaryTranslatorJobClass
82+
JobClassLast = BinaryModifyJobClass
8283
};
8384

8485
// The offloading kind determines if this action is binded to a particular
@@ -687,6 +688,17 @@ class BinaryTranslatorJobAction : public JobAction {
687688
}
688689
};
689690

691+
class BinaryModifyJobAction : public JobAction {
692+
void anchor() override;
693+
694+
public:
695+
BinaryModifyJobAction(Action *Input, types::ID Type);
696+
697+
static bool classof(const Action *A) {
698+
return A->getKind() == BinaryModifyJobClass;
699+
}
700+
};
701+
690702
} // namespace driver
691703
} // namespace clang
692704

clang/lib/Driver/Action.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ const char *Action::getClassName(ActionClass AC) {
5252
return "binary-analyzer";
5353
case BinaryTranslatorJobClass:
5454
return "binary-translator";
55+
case BinaryModifyJobClass:
56+
return "binary-modifier";
5557
}
5658

5759
llvm_unreachable("invalid class");
@@ -467,3 +469,8 @@ void BinaryTranslatorJobAction::anchor() {}
467469
BinaryTranslatorJobAction::BinaryTranslatorJobAction(Action *Input,
468470
types::ID Type)
469471
: JobAction(BinaryTranslatorJobClass, Input, Type) {}
472+
473+
void BinaryModifyJobAction::anchor() {}
474+
475+
BinaryModifyJobAction::BinaryModifyJobAction(Action *Input, types::ID Type)
476+
: JobAction(BinaryModifyJobClass, Input, Type) {}

clang/lib/Driver/ToolChain.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,7 @@ Tool *ToolChain::getTool(Action::ActionClass AC) const {
652652
case Action::VerifyDebugInfoJobClass:
653653
case Action::BinaryAnalyzeJobClass:
654654
case Action::BinaryTranslatorJobClass:
655+
case Action::BinaryModifyJobClass:
655656
llvm_unreachable("Invalid tool kind.");
656657

657658
case Action::CompileJobClass:

0 commit comments

Comments
 (0)