www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - FYI: build broken with LLVM 10 since 25 oct 2019

reply Johan Engelen <j j.nl> writes:
Before you spend time on it, see:
https://lists.llvm.org/pipermail/llvm-dev/2019-October/136380.html

We can fix this on our end too [1], but I'm waiting for what LLVM 
will do.

-Johan

[1] For example:
if(NOT (LDC_LLVM_VER LESS 1000))
     set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard to 
conform to")
     set(CMAKE_CXX_STANDARD_REQUIRED YES)
     set(CMAKE_CXX_EXTENSIONS NO)
endif()
Oct 30 2019
parent reply Fangrui Song <i maskray.me> writes:
On 2019-10-30, Johan Engelen wrote:
Before you spend time on it, see:
https://lists.llvm.org/pipermail/llvm-dev/2019-October/136380.html

We can fix this on our end too [1], but I'm waiting for what LLVM will 
do.

-Johan

[1] For example:
if(NOT (LDC_LLVM_VER LESS 1000))
    set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard to conform 
to")
    set(CMAKE_CXX_STANDARD_REQUIRED YES)
    set(CMAKE_CXX_EXTENSIONS NO)
endif()
I don't think llvm-config should print -std=c++14, because users may want -std=c++17, -std=c++2a or -std=gnu++2a. Providing a default CMAKE_CXX_STANDARD value should be ok but overriding it is probably not a good idea.
Nov 30 2019
parent Johan <j j.nl> writes:
On Sunday, 1 December 2019 at 02:00:14 UTC, Fangrui Song wrote:
 On 2019-10-30, Johan Engelen wrote:
Before you spend time on it, see:
https://lists.llvm.org/pipermail/llvm-dev/2019-October/136380.html

We can fix this on our end too [1], but I'm waiting for what 
LLVM will do.
I don't think llvm-config should print -std=c++14, because users may want -std=c++17, -std=c++2a or -std=gnu++2a.
Changing C++ standard may change the ABI (aswell as the API), hence it is necessary that llvm-config outputs which c++ standard was used to build LLVM. It was fixed fairly quickly after my forum post btw, so there is no build problem any more. -Johan
Dec 01 2019