up to 2.2+20211017 & llvm13

OBS-URL: https://build.opensuse.org/package/show/devel:tools:statica/klee?expand=0&rev=107
This commit is contained in:
Jiri Slaby 2021-10-19 09:22:25 +00:00 committed by Git OBS Bridge
parent e0fb142e28
commit 3f21f921a8
15 changed files with 472 additions and 38 deletions

View File

@ -0,0 +1,43 @@
From: Lukas Zaoral <lzaoral@redhat.com>
Date: Tue, 24 Aug 2021 13:59:21 +0200
Subject: Support/FileHandling.cpp: rewrite to C++14
Patch-mainline: no
References: llvm 13
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
---
lib/Support/FileHandling.cpp | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/Support/FileHandling.cpp b/lib/Support/FileHandling.cpp
index bc65a641ce20..9809b87d0051 100644
--- a/lib/Support/FileHandling.cpp
+++ b/lib/Support/FileHandling.cpp
@@ -22,10 +22,10 @@ namespace klee {
std::unique_ptr<llvm::raw_fd_ostream>
klee_open_output_file(const std::string &path, std::string &error) {
- error = "";
- std::unique_ptr<llvm::raw_fd_ostream> f;
+ error.clear();
std::error_code ec;
- f = std::unique_ptr<llvm::raw_fd_ostream>(new llvm::raw_fd_ostream(path.c_str(), ec, llvm::sys::fs::F_None)); // FIXME C++14
+ auto f = std::make_unique<llvm::raw_fd_ostream>(path.c_str(), ec,
+ llvm::sys::fs::F_None);
if (ec)
error = ec.message();
if (!error.empty()) {
@@ -37,8 +37,8 @@ klee_open_output_file(const std::string &path, std::string &error) {
#ifdef HAVE_ZLIB_H
std::unique_ptr<llvm::raw_ostream>
klee_open_compressed_output_file(const std::string &path, std::string &error) {
- error = "";
- std::unique_ptr<llvm::raw_ostream> f(new compressed_fd_ostream(path, error));
+ error.clear();
+ auto f = std::make_unique<compressed_fd_ostream>(path, error);
if (!error.empty()) {
f.reset(nullptr);
}
--
2.33.1

View File

@ -0,0 +1,38 @@
From: Lukas Zaoral <lzaoral@redhat.com>
Date: Tue, 24 Aug 2021 13:59:28 +0200
Subject: llvm13: llvm::fs::F_None has been removed
Patch-mainline: no
References: llvm 13
... and should be replaced with llvm::fs::OF_None since LLVM 7.
See: https://reviews.llvm.org/D101506
https://github.com/llvm/llvm-project/commit/1f67a3cba9b09636c56e2109d8a35ae96dc15782
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
---
lib/Support/FileHandling.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/lib/Support/FileHandling.cpp b/lib/Support/FileHandling.cpp
index 9809b87d0051..462055210df7 100644
--- a/lib/Support/FileHandling.cpp
+++ b/lib/Support/FileHandling.cpp
@@ -24,8 +24,15 @@ std::unique_ptr<llvm::raw_fd_ostream>
klee_open_output_file(const std::string &path, std::string &error) {
error.clear();
std::error_code ec;
+
+#if LLVM_VERSION_CODE >= LLVM_VERSION(7, 0)
+ auto f = std::make_unique<llvm::raw_fd_ostream>(path.c_str(), ec,
+ llvm::sys::fs::OF_None);
+#else
auto f = std::make_unique<llvm::raw_fd_ostream>(path.c_str(), ec,
llvm::sys::fs::F_None);
+#endif
+
if (ec)
error = ec.message();
if (!error.empty()) {
--
2.33.1

View File

@ -0,0 +1,51 @@
From: Lukas Zaoral <lzaoral@redhat.com>
Date: Tue, 24 Aug 2021 13:59:29 +0200
Subject: llvm13: llvm::cl::GeneralCategory is no longer a global
Patch-mainline: no
References: llvm 13
Therefore, llvm::cl::getGeneralCategory() should be used instead.
See: https://reviews.llvm.org/D105959
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
---
tools/kleaver/main.cpp | 5 ++++-
tools/klee/main.cpp | 4 ++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/tools/kleaver/main.cpp b/tools/kleaver/main.cpp
index 9a79474c77e6..0a4cfbffa945 100644
--- a/tools/kleaver/main.cpp
+++ b/tools/kleaver/main.cpp
@@ -387,8 +387,11 @@ static bool printInputAsSMTLIBv2(const char *Filename,
}
int main(int argc, char **argv) {
-
+#if LLVM_VERSION_CODE >= LLVM_VERSION(13, 0)
+ KCommandLine::HideOptions(llvm::cl::getGeneralCategory());
+#else
KCommandLine::HideOptions(llvm::cl::GeneralCategory);
+#endif
bool success = true;
diff --git a/tools/klee/main.cpp b/tools/klee/main.cpp
index f340e7438af2..506493152073 100644
--- a/tools/klee/main.cpp
+++ b/tools/klee/main.cpp
@@ -1157,7 +1157,11 @@ linkWithUclibc(StringRef libDir, std::string opt_suffix,
int main(int argc, char **argv, char **envp) {
atexit(llvm_shutdown); // Call llvm_shutdown() on exit.
+#if LLVM_VERSION_CODE >= LLVM_VERSION(13, 0)
+ KCommandLine::HideOptions(llvm::cl::getGeneralCategory());
+#else
KCommandLine::HideOptions(llvm::cl::GeneralCategory);
+#endif
llvm::InitializeNativeTarget();
--
2.33.1

View File

@ -0,0 +1,78 @@
From: Lukas Zaoral <lzaoral@redhat.com>
Date: Tue, 24 Aug 2021 13:59:31 +0200
Subject: llvm13: CreateLoad API with implicit types has been deprecated
Patch-mainline: no
References: llvm 13
See: https://github.com/llvm/llvm-project/commit/6312c53870897435b38881795460ad9f34bf9819
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
---
lib/Core/ExternalDispatcher.cpp | 6 ++++--
lib/Module/IntrinsicCleaner.cpp | 13 +++++++++----
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/lib/Core/ExternalDispatcher.cpp b/lib/Core/ExternalDispatcher.cpp
index baa5327aad3d..b1bfff47c9e6 100644
--- a/lib/Core/ExternalDispatcher.cpp
+++ b/lib/Core/ExternalDispatcher.cpp
@@ -287,7 +287,8 @@ Function *ExternalDispatcherImpl::createDispatcher(Function *target,
ConstantInt::get(Type::getInt64Ty(ctx), (uintptr_t)(void *)&gTheArgsP),
PointerType::getUnqual(PointerType::getUnqual(Type::getInt64Ty(ctx))),
"argsp");
- auto argI64s = Builder.CreateLoad(argI64sp, "args");
+ auto argI64s = Builder.CreateLoad(
+ argI64sp->getType()->getPointerElementType(), argI64sp, "args");
// Get the target function type.
FunctionType *FTy = cast<FunctionType>(
@@ -306,7 +307,8 @@ Function *ExternalDispatcherImpl::createDispatcher(Function *target,
ConstantInt::get(Type::getInt32Ty(ctx), idx));
auto argp = Builder.CreateBitCast(argI64p, PointerType::getUnqual(argTy));
- args[i] = Builder.CreateLoad(argp);
+ args[i] =
+ Builder.CreateLoad(argp->getType()->getPointerElementType(), argp);
unsigned argSize = argTy->getPrimitiveSizeInBits();
idx += ((!!argSize ? argSize : 64) + 63) / 64;
diff --git a/lib/Module/IntrinsicCleaner.cpp b/lib/Module/IntrinsicCleaner.cpp
index b3b356d2959d..5e720e45684a 100644
--- a/lib/Module/IntrinsicCleaner.cpp
+++ b/lib/Module/IntrinsicCleaner.cpp
@@ -96,24 +96,29 @@ bool IntrinsicCleanerPass::runOnBasicBlock(BasicBlock &b, Module &M) {
Builder.CreatePointerCast(dst, i8pp, "vacopy.cast.dst");
auto castedSrc =
Builder.CreatePointerCast(src, i8pp, "vacopy.cast.src");
- auto load = Builder.CreateLoad(castedSrc, "vacopy.read");
+ auto load =
+ Builder.CreateLoad(castedSrc->getType()->getPointerElementType(),
+ castedSrc, "vacopy.read");
Builder.CreateStore(load, castedDst, false /* isVolatile */);
} else {
assert(WordSize == 8 && "Invalid word size!");
Type *i64p = PointerType::getUnqual(Type::getInt64Ty(ctx));
auto pDst = Builder.CreatePointerCast(dst, i64p, "vacopy.cast.dst");
auto pSrc = Builder.CreatePointerCast(src, i64p, "vacopy.cast.src");
- auto val = Builder.CreateLoad(pSrc, std::string());
+
+ auto pType = pSrc->getType()->getPointerElementType();
+
+ auto val = Builder.CreateLoad(pType, pSrc);
Builder.CreateStore(val, pDst, ii);
auto off = ConstantInt::get(Type::getInt64Ty(ctx), 1);
pDst = Builder.CreateGEP(nullptr, pDst, off, std::string());
pSrc = Builder.CreateGEP(nullptr, pSrc, off, std::string());
- val = Builder.CreateLoad(pSrc, std::string());
+ val = Builder.CreateLoad(pType, pSrc);
Builder.CreateStore(val, pDst);
pDst = Builder.CreateGEP(nullptr, pDst, off, std::string());
pSrc = Builder.CreateGEP(nullptr, pSrc, off, std::string());
- val = Builder.CreateLoad(pSrc, std::string());
+ val = Builder.CreateLoad(pType, pSrc);
Builder.CreateStore(val, pDst);
}
ii->eraseFromParent();
--
2.33.1

View File

@ -0,0 +1,62 @@
From: Lukas Zaoral <lzaoral@redhat.com>
Date: Tue, 24 Aug 2021 13:59:32 +0200
Subject: llvm13: CreateGEP no longer accepts nullptr
Patch-mainline: no
References: llvm 13
See: https://reviews.llvm.org/D105653
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
---
lib/Core/ExternalDispatcher.cpp | 2 +-
lib/Module/IntrinsicCleaner.cpp | 17 +++++++++--------
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/lib/Core/ExternalDispatcher.cpp b/lib/Core/ExternalDispatcher.cpp
index b1bfff47c9e6..e43a8a8368ef 100644
--- a/lib/Core/ExternalDispatcher.cpp
+++ b/lib/Core/ExternalDispatcher.cpp
@@ -303,7 +303,7 @@ Function *ExternalDispatcherImpl::createDispatcher(Function *target,
auto argTy =
(i < FTy->getNumParams() ? FTy->getParamType(i) : (*ai)->getType());
auto argI64p =
- Builder.CreateGEP(nullptr, argI64s,
+ Builder.CreateGEP(argI64s->getType()->getPointerElementType(), argI64s,
ConstantInt::get(Type::getInt32Ty(ctx), idx));
auto argp = Builder.CreateBitCast(argI64p, PointerType::getUnqual(argTy));
diff --git a/lib/Module/IntrinsicCleaner.cpp b/lib/Module/IntrinsicCleaner.cpp
index 5e720e45684a..f4b867e55316 100644
--- a/lib/Module/IntrinsicCleaner.cpp
+++ b/lib/Module/IntrinsicCleaner.cpp
@@ -106,19 +106,20 @@ bool IntrinsicCleanerPass::runOnBasicBlock(BasicBlock &b, Module &M) {
auto pDst = Builder.CreatePointerCast(dst, i64p, "vacopy.cast.dst");
auto pSrc = Builder.CreatePointerCast(src, i64p, "vacopy.cast.src");
- auto pType = pSrc->getType()->getPointerElementType();
+ auto pSrcType = pSrc->getType()->getPointerElementType();
+ auto pDstType = pDst->getType()->getPointerElementType();
- auto val = Builder.CreateLoad(pType, pSrc);
+ auto val = Builder.CreateLoad(pSrcType, pSrc);
Builder.CreateStore(val, pDst, ii);
auto off = ConstantInt::get(Type::getInt64Ty(ctx), 1);
- pDst = Builder.CreateGEP(nullptr, pDst, off, std::string());
- pSrc = Builder.CreateGEP(nullptr, pSrc, off, std::string());
- val = Builder.CreateLoad(pType, pSrc);
+ pDst = Builder.CreateGEP(pDstType, pDst, off);
+ pSrc = Builder.CreateGEP(pSrcType, pSrc, off);
+ val = Builder.CreateLoad(pSrcType, pSrc);
Builder.CreateStore(val, pDst);
- pDst = Builder.CreateGEP(nullptr, pDst, off, std::string());
- pSrc = Builder.CreateGEP(nullptr, pSrc, off, std::string());
- val = Builder.CreateLoad(pType, pSrc);
+ pDst = Builder.CreateGEP(pDstType, pDst, off);
+ pSrc = Builder.CreateGEP(pSrcType, pSrc, off);
+ val = Builder.CreateLoad(pSrcType, pSrc);
Builder.CreateStore(val, pDst);
}
ii->eraseFromParent();
--
2.33.1

View File

@ -0,0 +1,41 @@
From: Lukas Zaoral <lzaoral@redhat.com>
Date: Tue, 24 Aug 2021 13:59:33 +0200
Subject: llvm13: llvm::APInt::toString has been moved to StringExtras.h
Patch-mainline: no
References: llvm 13
See: https://reviews.llvm.org/D103888
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
---
lib/Expr/Expr.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/lib/Expr/Expr.cpp b/lib/Expr/Expr.cpp
index db05e8423d67..2b9eab0dbc37 100644
--- a/lib/Expr/Expr.cpp
+++ b/lib/Expr/Expr.cpp
@@ -17,6 +17,9 @@
#include "klee/Support/IntEvaluation.h"
#include "llvm/ADT/Hashing.h"
+#if LLVM_VERSION_CODE >= LLVM_VERSION(13, 0)
+#include "llvm/ADT/StringExtras.h"
+#endif
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/raw_ostream.h"
@@ -366,7 +369,11 @@ void ConstantExpr::toMemory(void *address) {
}
void ConstantExpr::toString(std::string &Res, unsigned radix) const {
+#if LLVM_VERSION_CODE >= LLVM_VERSION(13, 0)
+ Res = llvm::toString(value, radix, false);
+#else
Res = value.toString(radix, false);
+#endif
}
ref<ConstantExpr> ConstantExpr::Concat(const ref<ConstantExpr> &RHS) {
--
2.33.1

View File

@ -0,0 +1,27 @@
From: Lukas Zaoral <lzaoral@redhat.com>
Date: Wed, 13 Oct 2021 13:02:46 +0200
Subject: llvm13: Add LLVM 13 to lit.cfg
Patch-mainline: no
References: llvm 13
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
---
test/lit.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/lit.cfg b/test/lit.cfg
index bf20c15e60f2..60bcb781bbd5 100644
--- a/test/lit.cfg
+++ b/test/lit.cfg
@@ -158,7 +158,7 @@ config.substitutions.append(
# Add feature for the LLVM version in use, so it can be tested in REQUIRES and
# XFAIL checks. We also add "not-XXX" variants, for the same reason.
known_llvm_versions = { "3.8", "3.9", "4.0", "5.0", "6.0", "7.0", "7.1", "8.0",
- "9.0", "10.0", "11.0", "11.1", "12.0" }
+ "9.0", "10.0", "11.0", "11.1", "12.0", "13.0" }
current_llvm_version_tuple = (int(config.llvm_version_major), int(config.llvm_version_minor))
current_llvm_version = "%s.%s" % current_llvm_version_tuple
--
2.33.1

View File

@ -0,0 +1,51 @@
From: Lukas Zaoral <lzaoral@redhat.com>
Date: Sat, 16 Oct 2021 17:26:01 +0200
Subject: llvm13: Add LLVM 13 to Travis CI and GitHub Actions
Patch-mainline: no
References: llvm 13
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
---
.github/workflows/build.yaml | 4 ++++
.travis.yml | 3 +++
2 files changed, 7 insertions(+)
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 9aaa99c71e95..c542781532d4 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -36,6 +36,7 @@ jobs:
strategy:
matrix:
name: [
+ "LLVM 13",
"LLVM 12",
"LLVM 11",
"LLVM 10",
@@ -59,6 +60,9 @@ jobs:
"No TCMalloc, optimised runtime",
]
include:
+ - name: "LLVM 13"
+ env:
+ LLVM_VERSION: 13
- name: "LLVM 12"
env:
LLVM_VERSION: 12
diff --git a/.travis.yml b/.travis.yml
index 8c7598aad7cb..111ba1a0a3ba 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -53,6 +53,9 @@ env:
jobs:
include:
# Check supported LLVM versions
+ - name: "LLVM 13"
+ env: LLVM_VERSION=13.0
+
- name: "LLVM 12"
env: LLVM_VERSION=12.0
--
2.33.1

View File

@ -22,6 +22,7 @@
#include "llvm/Support/WithColor.h"
#include "llvm/Support/raw_ostream.h"
#include <cmath>
#include <map>
using namespace llvm;
static cl::extrahelp FileCheckOptsEnv(
@ -78,7 +79,7 @@ static cl::opt<bool> AllowEmptyInput(
"checks that some error message does not occur, for example."));
static cl::opt<bool> AllowUnusedPrefixes(
"allow-unused-prefixes", cl::init(true),
"allow-unused-prefixes", cl::init(false), cl::ZeroOrMore,
cl::desc("Allow prefixes to be specified but not appear in the test."));
static cl::opt<bool> MatchFullLines(
@ -212,11 +213,20 @@ static MarkerStyle GetMarker(FileCheckDiag::MatchType MatchTy) {
case FileCheckDiag::MatchFoundButDiscarded:
return MarkerStyle('!', raw_ostream::CYAN,
"discard: overlaps earlier match");
case FileCheckDiag::MatchFoundErrorNote:
// Note should always be overridden within the FileCheckDiag.
return MarkerStyle('!', raw_ostream::RED,
"error: unknown error after match",
/*FiltersAsError=*/true);
case FileCheckDiag::MatchNoneAndExcluded:
return MarkerStyle('X', raw_ostream::GREEN);
case FileCheckDiag::MatchNoneButExpected:
return MarkerStyle('X', raw_ostream::RED, "error: no match found",
/*FiltersAsError=*/true);
case FileCheckDiag::MatchNoneForInvalidPattern:
return MarkerStyle('X', raw_ostream::RED,
"error: match failed for invalid pattern",
/*FiltersAsError=*/true);
case FileCheckDiag::MatchFuzzy:
return MarkerStyle('?', raw_ostream::MAGENTA, "possible intended match",
/*FiltersAsError=*/true);
@ -248,7 +258,10 @@ static void DumpInputAnnotationHelp(raw_ostream &OS) {
// Labels for input lines.
OS << " - ";
WithColor(OS, raw_ostream::SAVEDCOLOR, true) << "L:";
OS << " labels line number L of the input file\n";
OS << " labels line number L of the input file\n"
<< " An extra space is added after each input line to represent"
<< " the\n"
<< " newline character\n";
// Labels for annotation lines.
OS << " - ";
@ -366,16 +379,25 @@ BuildInputAnnotations(const SourceMgr &SM, unsigned CheckFileBufferID,
const std::vector<FileCheckDiag> &Diags,
std::vector<InputAnnotation> &Annotations,
unsigned &LabelWidth) {
// How many diagnostics have we seen so far?
unsigned DiagCount = 0;
// How many diagnostics has the current check seen so far?
unsigned CheckDiagCount = 0;
struct CompareSMLoc {
bool operator()(const SMLoc &LHS, const SMLoc &RHS) const {
return LHS.getPointer() < RHS.getPointer();
}
};
// How many diagnostics does each pattern have?
std::map<SMLoc, unsigned, CompareSMLoc> DiagCountPerPattern;
for (auto Diag : Diags)
++DiagCountPerPattern[Diag.CheckLoc];
// How many diagnostics have we seen so far per pattern?
std::map<SMLoc, unsigned, CompareSMLoc> DiagIndexPerPattern;
// How many total diagnostics have we seen so far?
unsigned DiagIndex = 0;
// What's the widest label?
LabelWidth = 0;
for (auto DiagItr = Diags.begin(), DiagEnd = Diags.end(); DiagItr != DiagEnd;
++DiagItr) {
InputAnnotation A;
A.DiagIndex = DiagCount++;
A.DiagIndex = DiagIndex++;
// Build label, which uniquely identifies this check result.
unsigned CheckBufferID = SM.FindBufferContainingLoc(DiagItr->CheckLoc);
@ -391,17 +413,8 @@ BuildInputAnnotations(const SourceMgr &SM, unsigned CheckFileBufferID,
else
llvm_unreachable("expected diagnostic's check location to be either in "
"the check file or for an implicit pattern");
unsigned CheckDiagIndex = UINT_MAX;
auto DiagNext = std::next(DiagItr);
if (DiagNext != DiagEnd && DiagItr->CheckTy == DiagNext->CheckTy &&
DiagItr->CheckLoc == DiagNext->CheckLoc)
CheckDiagIndex = CheckDiagCount++;
else if (CheckDiagCount) {
CheckDiagIndex = CheckDiagCount;
CheckDiagCount = 0;
}
if (CheckDiagIndex != UINT_MAX)
Label << "'" << CheckDiagIndex;
if (DiagCountPerPattern[DiagItr->CheckLoc] > 1)
Label << "'" << DiagIndexPerPattern[DiagItr->CheckLoc]++;
Label.flush();
LabelWidth = std::max((std::string::size_type)LabelWidth, A.Label.size());
@ -418,6 +431,11 @@ BuildInputAnnotations(const SourceMgr &SM, unsigned CheckFileBufferID,
DiagItr->InputStartCol == DiagItr->InputEndCol)
A.Marker.Lead = ' ';
}
if (DiagItr->MatchTy == FileCheckDiag::MatchFoundErrorNote) {
assert(!DiagItr->Note.empty() &&
"expected custom note for MatchFoundErrorNote");
A.Marker.Note = "error: " + A.Marker.Note;
}
A.FoundAndExpectedMatch =
DiagItr->MatchTy == FileCheckDiag::MatchFoundAndExpected;
@ -662,15 +680,16 @@ static void DumpAnnotatedInput(raw_ostream &OS, const FileCheckRequest &Req,
COS.resetColor();
else if (WasInMatch && !InMatch)
COS.changeColor(raw_ostream::CYAN, true, true);
if (*InputFilePtr == '\n')
if (*InputFilePtr == '\n') {
Newline = true;
else
COS << ' ';
} else
COS << *InputFilePtr;
++InputFilePtr;
}
}
*LineOS << '\n';
unsigned InputLineWidth = InputFilePtr - InputFileLine - Newline;
unsigned InputLineWidth = InputFilePtr - InputFileLine;
// Print any annotations.
while (AnnotationItr != AnnotationEnd &&
@ -745,14 +764,11 @@ int main(int argc, char **argv) {
}
FileCheckRequest Req;
for (StringRef Prefix : CheckPrefixes)
Req.CheckPrefixes.push_back(Prefix);
append_range(Req.CheckPrefixes, CheckPrefixes);
for (StringRef Prefix : CommentPrefixes)
Req.CommentPrefixes.push_back(Prefix);
append_range(Req.CommentPrefixes, CommentPrefixes);
for (StringRef CheckNot : ImplicitCheckNot)
Req.ImplicitCheckNot.push_back(CheckNot);
append_range(Req.ImplicitCheckNot, ImplicitCheckNot);
bool GlobalDefineError = false;
for (StringRef G : GlobalDefines) {
@ -806,7 +822,7 @@ int main(int argc, char **argv) {
// Read the expected strings from the check file.
ErrorOr<std::unique_ptr<MemoryBuffer>> CheckFileOrErr =
MemoryBuffer::getFileOrSTDIN(CheckFilename);
MemoryBuffer::getFileOrSTDIN(CheckFilename, /*IsText=*/true);
if (std::error_code EC = CheckFileOrErr.getError()) {
errs() << "Could not open check file '" << CheckFilename
<< "': " << EC.message() << '\n';
@ -828,7 +844,7 @@ int main(int argc, char **argv) {
// Open the file to check and add it to SourceMgr.
ErrorOr<std::unique_ptr<MemoryBuffer>> InputFileOrErr =
MemoryBuffer::getFileOrSTDIN(InputFilename);
MemoryBuffer::getFileOrSTDIN(InputFilename, /*IsText=*/true);
if (InputFilename == "-")
InputFilename = "<stdin>"; // Overwrite for improved diagnostic messages
if (std::error_code EC = InputFileOrErr.getError()) {

View File

@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/klee/klee.git</param>
<param name="changesrevision">57d81af893ed60abb6b1772532ce73ac5e489d4b</param></service></servicedata>
<param name="changesrevision">5ee3a54001fe4291a0a5c3ce3beb33f856836cbb</param></service></servicedata>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d75d749119a0a277a3b7567c32cea55c7f2eed183ab5d1a8ae08d823882f8bab
size 19338253

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f11ffbef1a0ee24886b60f2c57a63fdab1fdf4accc89a95166749c3d09e099df
size 19338765

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Tue Oct 19 07:47:49 UTC 2021 - jslaby@suse.cz
- Update to version 2.2+20211017:
* test/Runtime/POSIX/Futimesat: futimesat(2) requires _GNU_SOURCE on glibc platforms
* test/Runtime/POSIX/Futimesat: Compile with -std=c99
* test/Feature/FunctionAlias.c: Add missing CHECK-UNKNOWN prefix
- add llvm 13 support
* 0001-Support-FileHandling.cpp-rewrite-to-C-14.patch
* 0002-llvm13-llvm-fs-F_None-has-been-removed.patch
* 0003-llvm13-llvm-cl-GeneralCategory-is-no-longer-a-global.patch
* 0004-llvm13-CreateLoad-API-with-implicit-types-has-been-d.patch
* 0005-llvm13-CreateGEP-no-longer-accepts-nullptr.patch
* 0006-llvm13-llvm-APInt-toString-has-been-moved-to-StringE.patch
* 0007-llvm13-Add-LLVM-13-to-lit.cfg.patch
* 0008-llvm13-Add-LLVM-13-to-Travis-CI-and-GitHub-Actions.patch
- switch to llvm 13
-------------------------------------------------------------------
Mon Oct 04 10:57:30 UTC 2021 - jslaby@suse.cz

View File

@ -1,5 +1,5 @@
name: klee
version: 2.2+20210915
mtime: 1631722460
commit: 57d81af893ed60abb6b1772532ce73ac5e489d4b
version: 2.2+20211017
mtime: 1634506376
commit: 5ee3a54001fe4291a0a5c3ce3beb33f856836cbb

View File

@ -16,7 +16,7 @@
#
%define llvm_version_major 12
%define llvm_version_major 13
%define llvm_version %{llvm_version_major}
%ifarch x86_64
@ -31,7 +31,7 @@ Name: klee
Summary: LLVM Execution Engine
License: NCSA
Group: Development/Languages/Other
Version: 2.2+20210915
Version: 2.2+20211017
Release: 0
URL: http://klee.github.io/
Source0: %{name}-%{version}.tar.xz
@ -39,6 +39,15 @@ Source1: %{name}-rpmlintrc
Source2: https://raw.githubusercontent.com/llvm/llvm-project/llvmorg-%{llvm_version_major}.0.0/llvm/utils/not/not.cpp
Source3: https://raw.githubusercontent.com/llvm/llvm-project/llvmorg-%{llvm_version_major}.0.0/llvm/utils/FileCheck/FileCheck.cpp
Patch0: 0001-test-disable-until-it-is-fixed.patch
Patch1: 0001-Support-FileHandling.cpp-rewrite-to-C-14.patch
Patch2: 0002-llvm13-llvm-fs-F_None-has-been-removed.patch
Patch3: 0003-llvm13-llvm-cl-GeneralCategory-is-no-longer-a-global.patch
Patch4: 0004-llvm13-CreateLoad-API-with-implicit-types-has-been-d.patch
Patch5: 0005-llvm13-CreateGEP-no-longer-accepts-nullptr.patch
Patch6: 0006-llvm13-llvm-APInt-toString-has-been-moved-to-StringE.patch
Patch7: 0007-llvm13-Add-LLVM-13-to-lit.cfg.patch
Patch8: 0008-llvm13-Add-LLVM-13-to-Travis-CI-and-GitHub-Actions.patch
BuildRequires: clang%{llvm_version}
BuildRequires: cmake
BuildRequires: gperftools-devel