about summary refs log tree commit diff
path: root/GNUmakefile.llvm
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2023-01-25 10:26:16 +0100
committerGitHub <noreply@github.com>2023-01-25 10:26:16 +0100
commit16f71bfa24e69722bab32f9f8d06ed522e22d755 (patch)
tree99ec062b5a6d062a00323808f089bd84e7296274 /GNUmakefile.llvm
parent0251b9bfd8545b8070d8e5c1294c4b1e7968dcf4 (diff)
parent5837322310b0dc8a05347384900e7fbfcd1db42b (diff)
downloadafl++-16f71bfa24e69722bab32f9f8d06ed522e22d755.tar.gz
Merge pull request #1621 from devnexen/llvm_16_upd
LLVM plugin 16+ support proposal.
Diffstat (limited to 'GNUmakefile.llvm')
-rw-r--r--GNUmakefile.llvm6
1 files changed, 6 insertions, 0 deletions
diff --git a/GNUmakefile.llvm b/GNUmakefile.llvm
index d6e45d29..09e9b5be 100644
--- a/GNUmakefile.llvm
+++ b/GNUmakefile.llvm
@@ -48,6 +48,7 @@ LLVM_MINOR = $(shell $(LLVM_CONFIG) --version 2>/dev/null | sed 's/.*\.//' | sed
 LLVM_UNSUPPORTED = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^[0-2]\.|^3.[0-7]\.' && echo 1 || echo 0 )
 LLVM_TOO_NEW = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[5-9]' && echo 1 || echo 0 )
 LLVM_NEW_API = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[0-9]' && echo 1 || echo 0 )
+LLVM_NEWER_API = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[6-9]' && echo 1 || echo 0 )
 LLVM_10_OK = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[1-9]|^10\.[1-9]|^10\.0.[1-9]' && echo 1 || echo 0 )
 LLVM_HAVE_LTO = $(shell $(LLVM_CONFIG) --version 2>/dev/null | grep -E -q '^1[1-9]' && echo 1 || echo 0 )
 LLVM_BINDIR = $(shell $(LLVM_CONFIG) --bindir 2>/dev/null)
@@ -81,6 +82,11 @@ ifeq "$(LLVM_NEW_API)" "1"
   LLVM_TOO_OLD=0
 endif
 
+ifeq "$(LLVM_NEWER_API)" "1"
+  $(info [+] llvm_mode detected llvm 16+, enabling c++17)
+  LLVM_STDCXX = c++17
+endif
+
 ifeq "$(LLVM_TOO_OLD)" "1"
   $(info [!] llvm_mode detected an old version of llvm, upgrade to at least 9 or preferable 11!)
   $(shell sleep 1)