[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