[pkg-d-commits] [ldc] 03/06: Fix LLVM 5.0 and test LLVM 4.0+5.0 (#2043)

Matthias Klumpp mak at moszumanska.debian.org
Sun Apr 23 22:35:58 UTC 2017


This is an automated email from the git hooks/post-receive script.

mak pushed a commit to annotated tag v0.17.4
in repository ldc.

commit 70f9421b41b6af9b5d961ab04c642baaaede91e3
Author: Johan Engelen <jbc.engelen at gmail.com>
Date:   Thu Mar 23 20:00:26 2017 +0100

    Fix LLVM 5.0 and test LLVM 4.0+5.0 (#2043)
    
    * Cherry-pick: Travis LLVM 4.0 + CircleCI LLVM trunk (#2031)
    
    * Fix LLVM 5.0 build.
---
 .travis.yml                  | 6 +++++-
 circle.yml                   | 8 ++++----
 cmake/Modules/FindLLVM.cmake | 4 ++++
 gen/dibuilder.cpp            | 6 ++++--
 4 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index baf6600..32b9a47 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,7 +4,9 @@ sudo: false
 matrix:
   include:
     - os: linux
-      env: LLVM_VERSION=3.9.0
+      env: LLVM_VERSION=4.0.0
+    - os: linux
+      env: LLVM_VERSION=3.9.1
     - os: linux
       env: LLVM_VERSION=3.8.1
     - os: linux
@@ -20,6 +22,8 @@ matrix:
 
 cache:
   directories:
+    - llvm-4.0.0
+    - llvm-3.9.1
     - llvm-3.9.0
     - llvm-3.8.1
     - llvm-3.7.1
diff --git a/circle.yml b/circle.yml
index c94d47d..9638e30 100644
--- a/circle.yml
+++ b/circle.yml
@@ -14,7 +14,7 @@ dependencies:
   pre:
     # LLVM's official APT repo:
     - sudo add-apt-repository -y 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty main'
-    - sudo add-apt-repository -y 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main'
+    #- sudo add-apt-repository -y 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-5.0 main'
     - wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
     - sudo apt-get update
 
@@ -27,11 +27,11 @@ dependencies:
   override:
     - sudo apt-get remove clang llvm
     - sudo apt-get install libconfig++8-dev libedit-dev
-    - sudo apt-get install llvm-4.0 llvm-4.0-dev clang-4.0
+    - sudo apt-get install llvm-5.0 llvm-5.0-dev clang-5.0
     - pip install --user lit
   post:
-    - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 99
-    - sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-4.0 99
+    - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-5.0 99
+    - sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-5.0 99
     #- sudo update-alternatives --install /usr/bin/clang clang ~/$CIRCLE_PROJECT_REPONAME/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04/bin/clang 99
     #- sudo update-alternatives --install /usr/bin/clang++ clang++ ~/$CIRCLE_PROJECT_REPONAME/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04/bin/clang++ 99
     - gcc --version
diff --git a/cmake/Modules/FindLLVM.cmake b/cmake/Modules/FindLLVM.cmake
index 2062136..ff9f55f 100644
--- a/cmake/Modules/FindLLVM.cmake
+++ b/cmake/Modules/FindLLVM.cmake
@@ -238,6 +238,10 @@ if(CMAKE_COMPILER_IS_GNUCXX OR (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang"))
         set(LLVM_CXXFLAGS "${LLVM_CXXFLAGS} -fno-rtti")
     endif()
 endif()
+# GCC (at least on Travis) does not know the -Wstring-conversion flag, so remove it.
+if(CMAKE_COMPILER_IS_GNUCXX)
+    STRING(REGEX REPLACE "-Wstring-conversion" "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
+endif()
 
 string(REGEX REPLACE "([0-9]+).*" "\\1" LLVM_VERSION_MAJOR "${LLVM_VERSION_STRING}" )
 string(REGEX REPLACE "[0-9]+\\.([0-9]+).*[A-Za-z]*" "\\1" LLVM_VERSION_MINOR "${LLVM_VERSION_STRING}" )
diff --git a/gen/dibuilder.cpp b/gen/dibuilder.cpp
index 2b05aae..2320068 100644
--- a/gen/dibuilder.cpp
+++ b/gen/dibuilder.cpp
@@ -207,11 +207,13 @@ ldc::DIType ldc::DIBuilder::CreatePointerType(Type *type) {
 
   // find base type
   Type *nt = t->nextOf();
-  ldc::DIType basetype(CreateTypeDescription(nt, false));
 
-  return DBuilder.createPointerType(basetype,
+  return DBuilder.createPointerType(CreateTypeDescription(nt, false),
                                     getTypeAllocSize(T) * 8, // size (bits)
                                     getABITypeAlign(T) * 8,  // align (bits)
+#if LDC_LLVM_VER >= 500
+                                    llvm::None,              // DWARFAddressSpace
+#endif
                                     type->toChars()          // name
                                     );
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-d/ldc.git



More information about the pkg-d-commits mailing list