From f3d5e3d4c2e06760232bd2f31c17ee8a2c2da839 Mon Sep 17 00:00:00 2001 From: Christoffer Lerno Date: Sat, 29 Jun 2024 20:30:37 +0200 Subject: [PATCH] Set minimum LLVM version for compilation. --- CMakeLists.txt | 4 ++++ src/build/build_options.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 87921fd6e..8d1f1b280 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,6 +130,10 @@ message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}") message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}") message(STATUS "Libraries located in: ${LLVM_LIBRARY_DIRS}") +if (NOT LLVM_PACKAGE_VERSION VERSION_GREATER_EQUAL 15.0) + message(FATAL_ERROR "LLVM version 15.0 or later is required.") +endif() + if(LLVM_ENABLE_RTTI) message(STATUS "LLVM was built with RTTI") else() diff --git a/src/build/build_options.c b/src/build/build_options.c index d5fd58b32..f27e63241 100644 --- a/src/build/build_options.c +++ b/src/build/build_options.c @@ -47,7 +47,7 @@ const char *trust_level[3] = { [TRUST_FULL] = "full", }; -#define EOUTPUT(string, ...) fprintf(stderr, string "\n", ##__VA_ARGS__) +#define EOUTPUT(string, ...) fprintf(stderr, string "\n", ##__VA_ARGS__) // NOLINT #define PRINTF(string, ...) fprintf(stdout, string "\n", ##__VA_ARGS__) // NOLINT #define FAIL_WITH_ERR(string, ...) do { fprintf(stderr, "Error: " string "\n\n", ##__VA_ARGS__); usage(); exit_compiler(EXIT_FAILURE); } while (0) /* NOLINT */ @@ -237,7 +237,7 @@ void append_file(BuildOptions *build_options) { if (vec_size(build_options->files) == MAX_FILES) { - fprintf(stderr, "Max %d files may be specified\n", MAX_FILES); + EOUTPUT("Max %d files may be specified.", MAX_FILES); exit_compiler(EXIT_FAILURE); } vec_add(build_options->files, current_arg);