|
@@ -573,6 +573,15 @@ struct UnknownPragmaHandler : public PragmaHandler {
|
|
|
Token &PragmaTok) override {
|
|
|
// Figure out what line we went to and insert the appropriate number of
|
|
|
// newline characters.
|
|
|
+ if (ShouldExpandTokens) {
|
|
|
+ // The first token does not have expanded macros. Expand them, if
|
|
|
+ // required.
|
|
|
+ Token Toks[] = {PragmaTok};
|
|
|
+ PP.EnterTokenStream(Toks, llvm::array_lengthof(Toks),
|
|
|
+ /*DisableMacroExpansion=*/false,
|
|
|
+ /*OwnsTokens=*/false);
|
|
|
+ PP.Lex(PragmaTok);
|
|
|
+ }
|
|
|
Callbacks->startNewLineIfNeeded();
|
|
|
Callbacks->MoveToLine(PragmaTok.getLocation());
|
|
|
Callbacks->OS.write(Prefix, strlen(Prefix));
|