From: Duncan P. N. Exon Smith Date: Sat, 14 Mar 2015 16:47:37 +0000 (+0000) Subject: Recover the ability to 'b CheckFailed' after r231577 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f141a5534e099091efc6511931288b228f0ae484;p=oota-llvm.git Recover the ability to 'b CheckFailed' after r231577 Given that the stated purpose of `CheckFailed()` is to provide a nice spot for a breakpoint, it'd be nice not to have to use a regex to break on it. Recover the ability to simply use `b CheckFailed` by specializing the message-only version, and by changing the variadic version to call into the message-only version. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232268 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/Lint.cpp b/lib/Analysis/Lint.cpp index 887688737b0..9260eb2c007 100644 --- a/lib/Analysis/Lint.cpp +++ b/lib/Analysis/Lint.cpp @@ -141,13 +141,20 @@ namespace { } } - // CheckFailed - A check failed, so print out the condition and the message - // that failed. This provides a nice place to put a breakpoint if you want - // to see why something is not correct. - template - void CheckFailed(const Twine &Message, const Ts &...Vs) { - MessagesStr << Message << '\n'; - WriteValues({Vs...}); + // \brief A check failed, so printout out the condition and the message. + // + // This provides a nice place to put a breakpoint if you want to see why + // something is not correct. + void CheckFailed(const Twine &Message) { MessagesStr << Message << '\n'; } + + // \brief A check failed (with values to print). + // + // This calls the Message-only version so that the above is easier to set a + // breakpoint on. + template + void CheckFailed(const Twine &Message, const T1 &V1, const Ts &...Vs) { + CheckFailed(Message); + WriteValues({V1, Vs...}); } }; } diff --git a/lib/IR/Verifier.cpp b/lib/IR/Verifier.cpp index 9e77c32ee4b..85251551f99 100644 --- a/lib/IR/Verifier.cpp +++ b/lib/IR/Verifier.cpp @@ -131,15 +131,24 @@ private: template void WriteTs() {} public: - // CheckFailed - A check failed, so print out the condition and the message - // that failed. This provides a nice place to put a breakpoint if you want - // to see why something is not correct. - template - void CheckFailed(const Twine &Message, const Ts &... Vs) { + // \brief A check failed, so printout out the condition and the message. + // + // This provides a nice place to put a breakpoint if you want to see why + // something is not correct. + void CheckFailed(const Twine &Message) { OS << Message << '\n'; - WriteTs(Vs...); Broken = true; } + + // \brief A check failed (with values to print). + // + // This calls the Message-only version so that the above is easier to set a + // breakpoint on. + template + void CheckFailed(const Twine &Message, const T1 &V1, const Ts &... Vs) { + CheckFailed(Message); + WriteTs(V1, Vs...); + } }; class Verifier : public InstVisitor, VerifierSupport {