From 5c62a20be716576b6522200844dfc596981e8d4f Mon Sep 17 00:00:00 2001 From: Konstantin Romanov Date: Fri, 12 Jul 2024 22:04:19 -0400 Subject: [PATCH] Enable LLVM 18. Signed-off-by: Konstantin Romanov --- .travis.yml | 21 +++++++++++++-------- Dockerfile | 7 ++++--- src/tool_application_support.cpp | 6 ++++++ 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9161f51..9516ba4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,38 +8,43 @@ matrix: compiler: gcc language: cpp sudo: true - script: docker build --build-arg TARGET_LLVM_VERSION=10 . + script: docker build --progress plain --build-arg TARGET_LLVM_VERSION=10 . - os: linux compiler: gcc language: cpp sudo: true - script: docker build --build-arg TARGET_LLVM_VERSION=11 . + script: docker build --progress plain --build-arg TARGET_LLVM_VERSION=11 . - os: linux compiler: gcc language: cpp sudo: true - script: docker build --build-arg TARGET_LLVM_VERSION=12 . + script: docker build --progress plain --build-arg TARGET_LLVM_VERSION=12 . - os: linux compiler: gcc language: cpp sudo: true - script: docker build --build-arg TARGET_LLVM_VERSION=13 . + script: docker build --progress plain --build-arg TARGET_LLVM_VERSION=13 . - os: linux dist: jammy compiler: gcc language: cpp sudo: true - script: docker build --build-arg TARGET_LLVM_VERSION=14 --build-arg BASE_IMAGE=ubuntu:22.04 --build-arg GCC_VERSION=9 --build-arg IMAGE_REPO=jammy . + script: docker build --progress plain --build-arg TARGET_LLVM_VERSION=14 --build-arg BASE_IMAGE=ubuntu:22.04 --build-arg GCC_VERSION=9 --build-arg IMAGE_REPO=jammy . - os: linux dist: jammy compiler: gcc language: cpp sudo: true - script: docker build --build-arg TARGET_LLVM_VERSION=15 --build-arg BASE_IMAGE=ubuntu:22.04 --build-arg GCC_VERSION=9 --build-arg IMAGE_REPO=jammy . + script: docker build --progress plain --build-arg TARGET_LLVM_VERSION=15 --build-arg BASE_IMAGE=ubuntu:22.04 --build-arg GCC_VERSION=9 --build-arg IMAGE_REPO=jammy . - os: linux dist: jammy compiler: gcc language: cpp sudo: true - script: docker build --build-arg TARGET_LLVM_VERSION=17 --build-arg BASE_IMAGE=ubuntu:22.04 --build-arg GCC_VERSION=9 --build-arg IMAGE_REPO=jammy . - + script: docker build --progress plain --build-arg TARGET_LLVM_VERSION=17 --build-arg BASE_IMAGE=ubuntu:22.04 --build-arg GCC_VERSION=9 --build-arg IMAGE_REPO=jammy . + - os: linux + dist: jammy + compiler: gcc + language: cpp + sudo: true + script: docker build --progress plain --build-arg TARGET_LLVM_VERSION=18 --build-arg BASE_IMAGE=ubuntu:22.04 --build-arg GCC_VERSION=12 --build-arg IMAGE_REPO=jammy . diff --git a/Dockerfile b/Dockerfile index 5152bc0..1de0f1d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,9 +38,10 @@ RUN apt-get install -y \ # Clang & friends clang-"$TARGET_LLVM_VERSION" \ libclang-common-"$TARGET_LLVM_VERSION"-dev \ - libclang-"$TARGET_LLVM_VERSION"-dev \ - # libc++ - libc++-"$TARGET_LLVM_VERSION"-dev + libclang-"$TARGET_LLVM_VERSION"-dev + +# LLVM 18 produces an ABI conflict +RUN if [ $TARGET_LLVM_VERSION -lt 18 ] ; then apt-get install -y libc++-"$TARGET_LLVM_VERSION"-dev; fi # Set up build environment ENV CC=/usr/bin/gcc-"$GCC_VERSION" \ diff --git a/src/tool_application_support.cpp b/src/tool_application_support.cpp index b3c508b..00d0d8b 100644 --- a/src/tool_application_support.cpp +++ b/src/tool_application_support.cpp @@ -8,7 +8,13 @@ #include #include #include + +#if LLVM_VERSION_MAJOR >= 18 +#include +#else #include +#endif + #include #include