<div dir="ltr">Hi all,<br><br>Can someone tell how to turn on PPCallBacks? I get no Callback functions calls.<br><br>I have very simple code:<br><br>class MacroDefinitionCallback : public PPCallbacks {<br>public:<br>    MacroDefinitionCallback() {}<br>    void MacroDefined(const Token &MacroNameTok, const MacroDirective *MD) {<br>        cerr << "MacroDefined" << endl;<br>    }<br>}<br><br>int main() {<br>    ...<br><br>    MacroDefinitionCallback MDC;<br>    ci.getPreprocessor().addPPCallbacks(llvm::make_unique<PPCallbacks>(MDC));<br><br>    do {<br>        ci.getPreprocessor().Lex(tok); // or LexUnexpandedToken<div>        // ci.getPreprocessor().DumpToken(tok); // All tokens are printed, it is OK<br>    } while ( tok.isNot(clang::tok::eof));<div><br></div><div>    ...<br><div>}<br></div></div><div><br></div><div>Preprocessed file source:</div><div>#define sum(a, b) (a) + (b)</div><div><br></div><div>int main() {</div><div>    int s = sum(1, 2);</div><div>}</div><div><br></div><div>This program doesn't print anything, so what is the way to turn on the callback?</div><div><br></div><div><br></div><div>Timur</div></div></div>