[cfe-dev] Driver support for AST features (UI Proposal)

Ted Kremenek kremenek at apple.com
Tue Sep 1 09:09:21 PDT 2009


On Sep 1, 2009, at 8:55 AM, Daniel Dunbar wrote:

>> If we do nothing, we'll end up checking the AST-backed options  
>> (complaining
>> when there are differences) and just passing the other compilation  
>> options
>> through to CodeGen for generation of the .s file. That seems fine  
>> to me.
>
> It's "fine", but its not ultimately what we want, I think. Consider
> trying to build a Makefile system which would cache AST files, for
> example. Or a 'ccache' mode which caches .ast files. It's much more
> likely to want to pass 0 options to the compile-ast step, than have to
> duplicate the options. That would require us to tuck some extra things
> in the PCH.
>
> Similarly, having the driver figure out just which options it should
> pass for a compile-ast step and which have been subsumed is ugly and
> error prone. My inclination is that we should just suck all the
> options into the PCH, so that the driver can pass no options to a
> compile-ast step. Then if there is a user request for some particular
> option to be overrideable at the compile-ast stage, we can add that as
> needed.

Hi Daniel,

I've read what you and others said, and I think this is a great  
proposal.  Just to be clear, because of the nature of how -O1 and -O2  
can produce different ASTs (due to predefines), should I conclude that  
we would not (in general) be able to share AST files between different  
compilation modes (e.g., debug build versus optimized build)?  If so,  
I really see your motivation for shoving all the options into the AST  
file itself.

Ted



More information about the cfe-dev mailing list