Coder Social home page Coder Social logo

Comments (3)

zjturner avatar zjturner commented on August 16, 2024 1

Yea, definitely understand about wanting to be more conformant.

This is probably reasonable, the main thing I was concerned about is that people wouldn't be able to use it without going and learning a bunch of clang flags, which might be offputting for someone who wants an out-of-the-box experience that just works immediately after installing. As long as it "just works" with reasonable defaults then I'm happy :)

from clang-power-tools.

cpp-red-lion avatar cpp-red-lion commented on August 16, 2024

Very informative feedback. Thanks, Zachary.
Will definitely consider clang-cl.exe driver as an alternative for the VS extension, in a future version.

We were reluctant to use the clang-cl.exe driver because it is too compatible with cl.exe, emulating its bad behaviors in terms of ISO C++ conformance (by automatically suppressing too many warnings).
We wanted to retain full control over the clang error flags, so that we can gradually eliminate all non-standard source code constructs. While this was annoying at first (lots of warnings), we found great benefits from actually fixing those warnings, instead of suppressing them.

I do agree, however, that for some teams this could be very challenging and a more cl.exe compatible option should be required. For this purpose, we now default to the following clang++ flags:

  • -std=c++14
  • -Wall
  • -fms-compatibility-version=19.10
  • -fms-compatibility
  • -Wmicrosoft
  • -Wno-invalid-token-paste
  • -Wno-unknown-pragmas
  • -Wno-unused-variable
  • -Wno-unused-value

from clang-power-tools.

Enache-Ionut avatar Enache-Ionut commented on August 16, 2024

How this issue is solved I will close it now.

Thank you for taking the time and helping us make a better product.

from clang-power-tools.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.