diff options
author | David Carlier <devnexen@gmail.com> | 2023-01-20 22:12:35 +0000 |
---|---|---|
committer | David Carlier <devnexen@gmail.com> | 2023-01-20 22:12:35 +0000 |
commit | afd2ea90dfdb9aa7668c482e7c427f95c4847843 (patch) | |
tree | e0ba7b95daf44f319bbbf0a6aa58f7d0048d3b32 /instrumentation/afl-llvm-common.h | |
parent | 5163a49350ed17149cb3c52bc79bd87e86402510 (diff) | |
download | afl++-afd2ea90dfdb9aa7668c482e7c427f95c4847843.tar.gz |
LLVM plugin 16+ support proposal.
- Lifting the standard to C++17. - Beyond the cosmetic changes, it boils down to BasicBlock::getInstList being no longer available (and reading the header it is no accident).
Diffstat (limited to 'instrumentation/afl-llvm-common.h')
-rw-r--r-- | instrumentation/afl-llvm-common.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/instrumentation/afl-llvm-common.h b/instrumentation/afl-llvm-common.h index dee5f9fc..0112c325 100644 --- a/instrumentation/afl-llvm-common.h +++ b/instrumentation/afl-llvm-common.h @@ -8,6 +8,7 @@ #include <list> #include <string> #include <fstream> +#include <optional> #include <sys/time.h> #include "llvm/Config/llvm-config.h" @@ -35,6 +36,12 @@ typedef long double max_align_t; #if LLVM_VERSION_MAJOR >= 11 #define MNAME M.getSourceFileName() #define FMNAME F.getParent()->getSourceFileName() + #if LLVM_VERSION_MAJOR >= 16 + // None becomes deprecated + // the standard std::nullopt_t is recommended instead + // from C++17 and onwards. + constexpr std::nullopt_t None = std::nullopt; + #endif #else #define MNAME std::string("") #define FMNAME std::string("") |