@@ -61,7 +61,7 @@ class ASTConsumer : public clang::ASTConsumer {
6161
6262ASTConsumer *ASTConsumer::Instance = nullptr ;
6363
64- class PPCallbacks : public clang ::PPCallbacks {
64+ class UnityPPCallbacks : public clang ::PPCallbacks {
6565 clang::Preprocessor &PP;
6666 clang::SourceManager &SM;
6767
@@ -70,10 +70,11 @@ class PPCallbacks : public clang::PPCallbacks {
7070 std::set<std::string> DefinedMacros;
7171
7272public:
73- PPCallbacks (clang::Preprocessor &PP) : PP(PP), SM(PP.getSourceManager()) {}
73+ UnityPPCallbacks (clang::Preprocessor &PP)
74+ : PP(PP), SM(PP.getSourceManager()) {}
7475
7576 static void Register (clang::Preprocessor &PP) {
76- PP.addPPCallbacks (std::make_unique<PPCallbacks >(PP));
77+ PP.addPPCallbacks (std::make_unique<UnityPPCallbacks >(PP));
7778 }
7879
7980 void
@@ -134,6 +135,10 @@ class JumboFrontendAction : public clang::PluginASTAction {
134135 const std::vector<std::string> &args) override {
135136 return true ;
136137 }
138+
139+ JumboFrontendAction::ActionType getActionType () override {
140+ return AddBeforeMainAction;
141+ }
137142};
138143
139144class PragmaJumbo : public clang ::PragmaHandler {
@@ -152,7 +157,7 @@ class PragmaJumbo : public clang::PragmaHandler {
152157 return ;
153158 }
154159
155- PPCallbacks ::Register (PP);
160+ UnityPPCallbacks ::Register (PP);
156161 }
157162};
158163
0 commit comments