[llvm] r232268 - Recover the ability to 'b CheckFailed' after r231577
Robinson, Paul
Paul_Robinson at playstation.sony.com
Mon Mar 16 10:36:40 PDT 2015
> -----Original Message-----
> From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-
> bounces at cs.uiuc.edu] On Behalf Of Duncan P. N. Exon Smith
> Sent: Saturday, March 14, 2015 9:48 AM
> To: llvm-commits at cs.uiuc.edu
> Subject: [llvm] r232268 - Recover the ability to 'b CheckFailed' after
> r231577
>
> 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&vi
> ew=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.
I thought doxygen comments needed a triple-slash?
--paulr
> + //
> + // 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 {
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list