[PATCH] D16135: Macro Debug Info support in Clang
Richard Smith via cfe-commits
cfe-commits at lists.llvm.org
Thu Nov 3 17:23:15 PDT 2016
rsmith added inline comments.
================
Comment at: include/clang/AST/ASTConsumer.h:163
+ /// The caller takes ownership on the returned pointer.
+ virtual std::unique_ptr<PPCallbacks> CreatePreprocessorCallbacks(Preprocessor &PP);
};
----------------
aaboud wrote:
> Richard,
> I know that you suggested not to introduce the Preprocessor in anyway to the ASTConsumer.
> However, as I could not understand the other way to support macros in Clang without applying a huge redesign, I decided to upload the code I suggested in the proposal.
> http://lists.llvm.org/pipermail/llvm-dev/2015-November/092449.html
>
> If you still think that this approach is not the right one, I would appreciate it if you can explain again how to implement the macro support differently.
Don't add this to `ASTConsumer`; an AST consumer and a PP consumer are two largely separate ideas. Instead, you could create and register a `PPCallbacks` object directly from `CodeGenAction::CreateASTConsumer`. In fact, if you look there, a `PPCallbacks` subclass is already registered (for code coverage); you can do something similar to register your `MacroPPCallbacks` object.
================
Comment at: lib/CodeGen/CMakeLists.txt:76
ItaniumCXXABI.cpp
+ MacroPPCallbacks.cpp
MicrosoftCXXABI.cpp
----------------
This file is missing from the diff.
================
Comment at: lib/CodeGen/CodeGenModule.cpp:28
#include "CoverageMappingGen.h"
+#include "MacroPPCallbacks.h"
#include "TargetInfo.h"
----------------
This file is missing from the diff.
https://reviews.llvm.org/D16135
More information about the cfe-commits
mailing list