From b6d5ff18b12a5162c76eb493da97fc86de0100ad Mon Sep 17 00:00:00 2001 From: Virgile Prevosto <virgile.prevosto@m4x.org> Date: Fri, 15 Mar 2024 14:18:45 +0100 Subject: [PATCH] [clang] Preliminary support for clang 17 --- framaCIRGen_src/CMakeLists.txt | 6 ++++-- framaCIRGen_src/FramaCAttributes.cpp | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/framaCIRGen_src/CMakeLists.txt b/framaCIRGen_src/CMakeLists.txt index b4e9aa32..210e8767 100644 --- a/framaCIRGen_src/CMakeLists.txt +++ b/framaCIRGen_src/CMakeLists.txt @@ -28,9 +28,11 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_BUILD_TYPE Debug) + find_program(LLVM_CONFIG - NAMES $ENV{OPAM_LLVM_CONFIG} llvm-config llvm-config-15 llvm-config-14 - llvm-config-13 llvm-config-12 llvm-config-11 + NAMES $ENV{OPAM_LLVM_CONFIG} llvm-config llvm-config-17 llvm-config-16 + llvm-config-15 llvm-config-14 llvm-config-13 llvm-config-12 llvm-config-11 REQUIRED) execute_process(COMMAND ${LLVM_CONFIG} --cmakedir OUTPUT_VARIABLE CMAKE_LLVM_PREFIX) diff --git a/framaCIRGen_src/FramaCAttributes.cpp b/framaCIRGen_src/FramaCAttributes.cpp index 53914174..335bb046 100644 --- a/framaCIRGen_src/FramaCAttributes.cpp +++ b/framaCIRGen_src/FramaCAttributes.cpp @@ -27,6 +27,7 @@ #include "clang/AST/ASTContext.h" #include "clang/AST/Attr.h" +#include "clang/Basic/Version.h" #include "clang/Sema/ParsedAttr.h" #include "clang/Sema/Sema.h" #include "clang/Sema/SemaDiagnostic.h" @@ -64,7 +65,11 @@ struct FramaCBuiltinAttrInfo : public ParsedAttrInfo { return AttributeNotApplied; } // Attach an annotate attribute to the Decl. +#if CLANG_VERSION_MAJOR >= 17 + D->addAttr(AnnotateAttr::Create(S.Context, "FC_BUILTIN", Attr)); +#else D->addAttr(AnnotateAttr::Create(S.Context, "FC_BUILTIN", Attr.getRange())); +#endif return AttributeApplied; } }; -- GitLab