[llvm] r232268 - Recover the ability to 'b CheckFailed' after r231577
Duncan P. N. Exon Smith
dexonsmith at apple.com
Sat Mar 14 09:47:38 PDT 2015
Author: dexonsmith
Date: Sat Mar 14 11:47:37 2015
New Revision: 232268
URL: http://llvm.org/viewvc/llvm-project?rev=232268&view=rev
Log:
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.
Modified:
llvm/trunk/lib/Analysis/Lint.cpp
llvm/trunk/lib/IR/Verifier.cpp
Modified: llvm/trunk/lib/Analysis/Lint.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/Lint.cpp?rev=232268&r1=232267&r2=232268&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/Lint.cpp (original)
+++ llvm/trunk/lib/Analysis/Lint.cpp Sat Mar 14 11:47:37 2015
@@ -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 <typename... Ts>
- 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 <typename T1, typename... Ts>
+ void CheckFailed(const Twine &Message, const T1 &V1, const Ts &...Vs) {
+ CheckFailed(Message);
+ WriteValues({V1, Vs...});
}
};
}
Modified: llvm/trunk/lib/IR/Verifier.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Verifier.cpp?rev=232268&r1=232267&r2=232268&view=diff
==============================================================================
--- llvm/trunk/lib/IR/Verifier.cpp (original)
+++ llvm/trunk/lib/IR/Verifier.cpp Sat Mar 14 11:47:37 2015
@@ -131,15 +131,24 @@ private:
template <typename... Ts> 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 <typename... Ts>
- 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 <typename T1, typename... Ts>
+ void CheckFailed(const Twine &Message, const T1 &V1, const Ts &... Vs) {
+ CheckFailed(Message);
+ WriteTs(V1, Vs...);
+ }
};
class Verifier : public InstVisitor<Verifier>, VerifierSupport {
More information about the llvm-commits
mailing list