: Pat(P), Loc(L), CheckTy(Ty) {}
/// Check - Match check string and its "not strings" and/or "dag strings".
- size_t Check(const SourceMgr &SM, StringRef Buffer, bool IsLabel,
+ size_t Check(const SourceMgr &SM, StringRef Buffer,
size_t &MatchLen, StringMap<StringRef> &VariableTable) const;
/// CheckNext - Verify there is a single line in the given buffer.
}
size_t CheckString::Check(const SourceMgr &SM, StringRef Buffer,
- bool IsLabel, size_t &MatchLen,
+ size_t &MatchLen,
StringMap<StringRef> &VariableTable) const {
size_t LastPos = 0;
std::vector<const Pattern *> NotStrings;
- if (!IsLabel) {
+ if (CheckTy != Check::CheckLabel) {
// Match "dag strings" (with mixed "not strings" if any).
LastPos = CheckDag(SM, Buffer, NotStrings, VariableTable);
if (LastPos == StringRef::npos)
}
MatchPos += LastPos;
- if (!IsLabel) {
+ if (CheckTy != Check::CheckLabel) {
StringRef SkippedRegion = Buffer.substr(LastPos, MatchPos);
// If this check is a "CHECK-NEXT", verify that the previous match was on
// Scan to next CHECK-LABEL match, ignoring CHECK-NOT and CHECK-DAG
size_t MatchLabelLen = 0;
- size_t MatchLabelPos = CheckLabelStr.Check(SM, Buffer, true,
+ size_t MatchLabelPos = CheckLabelStr.Check(SM, Buffer,
MatchLabelLen, VariableTable);
if (MatchLabelPos == StringRef::npos) {
hasError = true;
// Check each string within the scanned region, including a second check
// of any final CHECK-LABEL (to verify CHECK-NOT and CHECK-DAG)
size_t MatchLen = 0;
- size_t MatchPos = CheckStr.Check(SM, CheckRegion, false, MatchLen,
+ size_t MatchPos = CheckStr.Check(SM, CheckRegion, MatchLen,
VariableTable);
if (MatchPos == StringRef::npos) {