[cfe-dev] clang::LangOption policy

Joshua Gerrard via cfe-dev cfe-dev at lists.llvm.org
Mon Oct 19 07:08:26 PDT 2015


Thanks to you all, I’ll go with your recommendation and implement the dump function for LangOptions.

Whilst on the topic, I’ve always had trouble getting any debug information out of LLVM and Clang; is there a nice way to get things like that printed to a file  / STDOUT consistently?

The best I’ve found so far involves going into the VS solution settings, adding something like > log.txt to the command line arguments, and hoping it works (it doesn’t always).

--
Joshua Gerrard
JUCE Software Developer

ROLI’s award-winning Seaboard GRAND, celebrated as the “piano of the future”, is now joined by the Seaboard RISE, “every bit as slimline and attractive as its bigger brother”. The press is hailing the Seaboard RISE as “innovative”, “expressive”, “accessible”, and “a keyboard controller that does to piano keys what 3D touch does to the iPhone”. Now available for preorder at www.roli.com.

> On 17 Oct 2015, at 00:36, Reid Kleckner <rnk at google.com> wrote:
> 
> 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 <mailto: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 <mailto:cfe-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev <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/20151019/04ff30de/attachment.html>


More information about the cfe-dev mailing list