[cfe-dev] clang::LangOption policy

Reid Kleckner via cfe-dev cfe-dev at lists.llvm.org
Fri Oct 16 16:36:01 PDT 2015


I think the answer to your high-level question is that LangOptions isn't
really designed to be high-level and user-facing. Users use command lines,
and LangOptions attempts to be a more logical, denormalized representation
of their settings useful for the internals of the compiler.

I think you have two ways forward:

- Use libTooling the way clang-tidy does, and let it translate from normal
high-level driver command lines to -cc1 lines for you. This is probably a
lot of work.

- Dump LangOptions as David suggested and try to build a LangOptions close
to what clang would do for a normal Windows compilation. This is probably
easier to do now, if harder to maintain over time.

Not particularly awesome, unfortunately. =/

On Thu, Oct 15, 2015 at 12:59 AM, Joshua Gerrard via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> So I've been working with clang as a library on Windows for a little while
> now, and I'm noticed a few things that I'd like to change, but in order to
> do so I need to know the "clang policy" for such things first.
>
> There is a flag, MSVCCompat, which as you probably know already, tweaks
> some things so that clang works better on Windows.
>
> However, other flags are required, such as DelayedTemplateParsing, in
> order for things to work. Now I understand that these need to be separate
> flags so that users on other platforms can enable things like
> DelayedTemplateParsing for other reasons, but as it stands enabling
> MSVCCompat doesn't make clang compatible with Windows.
>
> As a result, I'd like to fix this problem by making things like
> DelayedTemplateParsing take effect when MSVCCompat is turned on. However,
> this would make it so that the "implied" flags would essentially have no
> effect, and turning off DelayedTemplateParsing would not have any effect if
> MSVCCompat was turned off.
>
> Furthermore, I can't see the point in having both a MSCompatibility flag
> and a MSVCCompat flag; surely we should have one or the other?
>
> How do you folks feel about this? I'd really like to make this my first
> contribution to clang.
>
> --
> Joshua Gerrard
> JUCE Software Developer
>
> *ROLI’s **award-winning*
> <http://www.telegraph.co.uk/luxury/design/31520/the-seaboard-grand-piano-wins-designs-of-the-year-2014-award.html>* Seaboard
> GRAND, celebrated as the “**piano of the future*
> <http://edition.cnn.com/2013/09/27/tech/innovation/hans-zimmer-seaboard-future-piano/>*”,
> is now joined by the **Seaboard RISE*
> <https://www.youtube.com/watch?v=fGr7VbDiRNw>*, “**every bit as slimline
> and attractive as its bigger brother*
> <http://www.soundonsound.com/news?NewsID=18726>*”. The press is hailing
> the Seaboard RISE as “**innovative*
> <http://www.wired.co.uk/news/archive/2015-09/10/seaboard-rise-digital-keyboard-launch-uk-price>*”,
> “**expressive*
> <http://createdigitalmusic.com/2015/09/new-roli-instrument-wants-make-expressive-control-mainstream/>*”,
> “**accessible*
> <http://createdigitalmusic.com/2015/09/new-roli-instrument-wants-make-expressive-control-mainstream/>*”,
> and “**a keyboard controller that does to piano keys what 3D touch does
> to the iPhone*
> <http://www.slashgear.com/roli-seaboard-rise-is-like-3d-touch-for-musicians-11404216/>*”.
> Now available for preorder at **www.roli.com* <http://www.roli.com/>*.*
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20151016/3c979fe5/attachment.html>


More information about the cfe-dev mailing list