diff options
author | Thomas Preud'homme <thomasp@graphcore.ai> | 2019-07-10 12:49:28 +0000 |
---|---|---|
committer | Thomas Preud'homme <thomasp@graphcore.ai> | 2019-07-10 12:49:28 +0000 |
commit | 2bf04f25ff0d56710e12228a00fdd60501d7746e (patch) | |
tree | c6ca96d31f844cd9de569fb9898e19f5b392faa9 /llvm/lib/Support/FileCheck.cpp | |
parent | f6ea43b8b302acfae974065f0aa16e7432db099e (diff) | |
download | llvm-2bf04f25ff0d56710e12228a00fdd60501d7746e.zip llvm-2bf04f25ff0d56710e12228a00fdd60501d7746e.tar.gz llvm-2bf04f25ff0d56710e12228a00fdd60501d7746e.tar.bz2 |
[FileCheck] Simplify numeric variable interface
Summary:
This patch simplifies 2 aspects in the FileCheckNumericVariable code.
First, setValue() method is turned into a void function since being
called only on undefined variable is an invariant and is now asserted
rather than returned. This remove the assert from the callers.
Second, clearValue() method is also turned into a void function since
the only caller does not check its return value since it may be trying
to clear the value of variable that is already cleared without this
being noteworthy.
Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk
Subscribers: JonChesterfield, rogfer01, hfinkel, kristina, rnk, tra, arichardson, grimar, dblaikie, probinson, llvm-commits, hiraditya
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64231
> llvm-svn: 365249
llvm-svn: 365625
Diffstat (limited to 'llvm/lib/Support/FileCheck.cpp')
-rw-r--r-- | llvm/lib/Support/FileCheck.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/llvm/lib/Support/FileCheck.cpp b/llvm/lib/Support/FileCheck.cpp index 93a3f05..5ec126f 100644 --- a/llvm/lib/Support/FileCheck.cpp +++ b/llvm/lib/Support/FileCheck.cpp @@ -24,18 +24,15 @@ using namespace llvm; -bool FileCheckNumericVariable::setValue(uint64_t NewValue) { - if (Value) - return true; +void FileCheckNumericVariable::setValue(uint64_t NewValue) { + assert(!Value && "Overwriting numeric variable's value is not allowed"); Value = NewValue; - return false; } -bool FileCheckNumericVariable::clearValue() { +void FileCheckNumericVariable::clearValue() { if (!Value) - return true; + return; Value = None; - return false; } Expected<uint64_t> FileCheckExpression::eval() const { @@ -625,8 +622,7 @@ Expected<size_t> FileCheckPattern::match(StringRef Buffer, size_t &MatchLen, if (MatchedValue.getAsInteger(10, Val)) return FileCheckErrorDiagnostic::get(SM, MatchedValue, "Unable to represent numeric value"); - if (DefinedNumericVariable->setValue(Val)) - llvm_unreachable("Numeric variable redefined"); + DefinedNumericVariable->setValue(Val); } // Like CHECK-NEXT, CHECK-EMPTY's match range is considered to start after |