[Patch] Turn Driver::CCCIsCXX and CCCIsCPP into an enum, add -cxx-mode= option

David Blaikie dblaikie at gmail.com
Tue Jul 16 10:54:24 PDT 2013


On Mon, Jul 15, 2013 at 6:28 PM, Hans Wennborg <hans at chromium.org> wrote:
> On Mon, Jul 15, 2013 at 6:11 PM, David Blaikie <dblaikie at gmail.com> wrote:
>> (not claiming ownership of this CR, but a few drive-by comments)
>>
>> You could consider using a StringSwitch in Driver::ParseCCCMode.
>
> Done. It's a little annoying that I need an invalid value for the
> default case, but on the other hand the StringSwitch is nice.

Fair enough - not a strong opinion given the drawback, so whichever
you prefer. (including Reid's 3rd variation)

>
>> Is there any reason you need to remove support for "clangxx" (that's
>> causing you to need to update those hexagon tests?)?
>
> I'm not, I'm switching those hexagon tests over to use clangxx instead
> of -ccc-cxx which I'm removing.

Ah, right, misread. Alternatively you could migrate to the
--driver-flavor (just checking my understanding)? I suppose your
change makes (at least as much) sense, then.

>
>> Would you mind updating immediate-options.c to use FileCheck rather
>> than multiple invocations with grep?
>
> Sure. I'd like to do that in a separate patch, though.

Sure thing.

> Thanks for the comments! New patch attached.
>
>  - Hans
>
>
>> On Mon, Jul 15, 2013 at 4:17 PM, Hans Wennborg <hans at chromium.org> wrote:
>>> Hi all,
>>>
>>> This patch is a follow-up to the discussion in Reid's cl.exe
>>> compatible driver proposal [1].
>>>
>>> Clang currently looks at argv[0] to switch between running in
>>> gcc/g++/cpp mode. This mode is represented in Driver by CCCIsCXX and
>>> CCCIsCPP. Since there is no overlap between the three modes, I have
>>> turned those two variables into an enum instead. The plan is to later
>>> extend this enum with a "cl.exe mode".
>>>
>>> The patch also adds a new command line option, -ccc-mode, to set the
>>> mode. This replaces the current -ccc-cxx option (and also makes it
>>> easier to test the cpp mode). This option is special: because the mode
>>> can affect option parsing (the cl.exe mode will add new options), the
>>> -ccc-mode needs to be parsed early.
>>>
>>> Please take a look!
>>>
>>> Thanks,
>>> Hans
>>>
>>> [1]. http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-June/030439.html
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>



More information about the cfe-commits mailing list