diff --git a/framaCIRGen_src/CMakeLists.txt b/framaCIRGen_src/CMakeLists.txt
index b4e9aa3216449236d63c66b00350d9d9127e7354..210e87676e166efa0aca70d55192b79f24e933a0 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 53914174738b4dba08576a071869e52713463244..335bb046ca36131a93efa548619f8e44b3adcb2b 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;
   }
 };