[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