[cfe-dev] Macro history (de-)serialization implementation, need help figuring out some things

Alexander Kornienko alexfh at google.com
Tue Sep 4 07:30:11 PDT 2012

On Sat, Sep 1, 2012 at 12:50 PM, Matthieu Monrocq <
matthieu.monrocq at gmail.com> wrote:

> On Sat, Sep 1, 2012 at 1:36 AM, Alexander Kornienko <alexfh at google.com>wrote:
>> Hi,
>> I have a quick-and-dirty implementation of macro history
>> (de-)serialization, but it is still not fully working. In particular, I
>> still have to teach reading code to distinguish between identifiers that
>> have macro definition currently, and those that had one before. I already
>> taught ASTWriter to care about currently undefined macros, but I had to add
>> HadMacro flag in IdentifierInfo for this purpose (hopefully there was one
>> spare bit in 32-bit word for this).
>> To complete this I have to gain much deeper understanding of things I'm
>> changing, so I'd appreciate if someone explained me several things (or
>> pointed me to the documentation if it exists): structure of PCH files and
>> what is stored there, the idea behind chained PCHs and how they work, what
>> are public/non-public macros (is it related to Objective C only?).
> public/non-public macros (sorry, don't know about PCH):
> I think it was introduced by Doug when he worked on the module system
> (hopefully something for C++1x). The idea was that most macros could be
> contained within a module (private macros) and only a specific few would be
> declared so as to be exported.
Thank you for the information. Maybe you know where to get any preliminary
documentation on module system? Or any other information Doug may have used
while implementing this?

Can anyone explain me the PCH part? Doug? Richard?

-- Matthieu
>> I'm writing this mainly to Douglas and Richard, as they have context of
>> what I'm doing, but maybe someone else can help me with these things.
>> Thanks in advance!
>> --
>> Regards,
>> Alex
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20120904/3433c137/attachment.html>

More information about the cfe-dev mailing list