[llvm-dev] llvm-config --cxxflags should report C++ language standard version

Johan Engelen via llvm-dev llvm-dev at lists.llvm.org
Wed Oct 30 23:53:12 PDT 2019

On Thu, Oct 31, 2019 at 3:46 AM Saleem Abdulrasool <compnerd at compnerd.org>

> On Wed, Oct 30, 2019 at 4:17 PM Johan Engelen <jbc.engelen at gmail.com>
> wrote:
>> Hi all,
>>   Since  2724d9e12960cc1d93eeabbfc9aa1bffffa041cc, llvm-config -cxxflags
>> no longer reports the C++ language standard version (e.g. "-std=c++14")
>> used to compile LLVM. This may break builds of projects that build with the
>> same flags as LLVM, e.g. the LDC compiler.
>> Quoting from llvm/tools/llvm-config/CMakeLists.txt:
>> ```
>> # The language standard potentially affects the ABI/API of LLVM, so we
>> want
>> # to make sure it is reported by llvm-config.
>> ```
>> Even in the case of default C++ version, in my opinion llvm-config should
>> explicitly report it.
> I will add an option to report the C++ version, though that would be a new
> option and require reworking the consumers to be aware of that.  It would
> be better to actually rely on CMake to provide the details of the build
> rather than `llvm-config`.

Note that this is about the details for the build of a project that uses
LLVM. I don't think projects should be forced to use CMake for setting up a
build when they link to LLVM. The new option would help, but I feel it is
better to be have the C++ version be reported by default and that a new
option would disable it. In most cases I think one would want the c++
version to be specified because otherwise the project will be forced to
compile with the same compiler and same compiler version as the LLVM
package because things rely on compiler defaults to be the same. Hence the
comment in llvm-config/CMakeLists.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191031/a87f1071/attachment.html>

More information about the llvm-dev mailing list