[cfe-dev] [PATCH] MS compatibility flag implies delayed parsing

Douglas Gregor dgregor at apple.com
Mon Nov 14 11:30:59 PST 2011


On Nov 12, 2011, at 1:08 PM, Aaron Ballman wrote:

> On Tue, Nov 8, 2011 at 8:51 PM, Douglas Gregor <dgregor at apple.com> wrote:
>> 
>> On Nov 8, 2011, at 6:56 AM, Aaron Ballman wrote:
>> 
>>> On Mon, Nov 7, 2011 at 4:55 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
>>>> I don't see why the changes to lib/Frontend/CompilerInvocation.cpp and
>>>> include/clang/Driver/CC1Options.td are necessary.  The changes to
>>>> lib/Driver/Tools.cpp look fine.
>>> 
>>> I'm not certain I understand why the two are separate from one
>>> another.  Can you give me a quite education on the topic?
>>> 
>>> On Mon, Nov 7, 2011 at 5:02 PM, Francois Pichet <pichet2000 at gmail.com> wrote:
>>>> How about we remove --fdelayed-template-parsing altogether and check
>>>> for fms-compatibility to do late template parsing?
>>>> 
>>>> Anybody else needs delayed template parsing without microsoft compatibility?
>>> 
>>> That would be the best solution IMO, but I wasn't sure if anyone was
>>> relying on them being separated.  If no one objects, I can remove the
>>> delayed template parsing param and simply roll the functionality into
>>> MS compatibility.  But I do have one question on this -- should I
>>> simply remove the flag entirely (so people start getting warnings
>>> about unused flags), or should I leave the flag in and make it no-op?
>> 
>> I suggest removing the driver-level "-fdelayed-template-parsing" (from lib/Driver/Tools.cpp and include/clang/Driver/Options.td). However, please leave -fdelayed-template-parsing as a separate "-cc1" option, because delayed template parsing can be useful even when we're not emulating MSVC.
> 
> I've attached a patch that implements these changes.  I did still
> clean up CompilerInvocation to remove a duplicate assignment.

Looks great, please go ahead and commit!

	- Doug



More information about the cfe-dev mailing list