[llvm] r186035 - Add a comment.

David Blaikie dblaikie at gmail.com
Wed Jul 10 14:14:41 PDT 2013


On Wed, Jul 10, 2013 at 2:08 PM, Adrian Prantl <aprantl at apple.com> wrote:
> Author: adrian
> Date: Wed Jul 10 16:08:02 2013
> New Revision: 186035
>
> URL: http://llvm.org/viewvc/llvm-project?rev=186035&view=rev
> Log:
> Add a comment.

Is this the minimal source required to reproduce the issue? Is it
really dependent on templates?

I'd like to have the source reduced & the IR left untouched if
possible - rather than manually reducing the IR from more complex
source. This'll make it easier to regenerate the test case if it needs
to be tweaked/enhanced in the future.

>
> Modified:
>     llvm/trunk/test/DebugInfo/X86/dbg_value_direct.ll
>
> Modified: llvm/trunk/test/DebugInfo/X86/dbg_value_direct.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dbg_value_direct.ll?rev=186035&r1=186034&r2=186035&view=diff
> ==============================================================================
> --- llvm/trunk/test/DebugInfo/X86/dbg_value_direct.ll (original)
> +++ llvm/trunk/test/DebugInfo/X86/dbg_value_direct.ll Wed Jul 10 16:08:02 2013
> @@ -1,5 +1,44 @@
>  ; RUN: llc -filetype=obj -O0 -stack-protector-buffer-size=1 < %s
>  ; Test that we handle DBG_VALUEs in a register without crashing.
> +;
> +; Generated and reduced from: (with -fsanitize=address)
> +; class C;
> +; template < typename, typename = int, typename = C > class A;
> +; class B
> +; {
> +; };
> +; class C:B
> +; {
> +; public:
> +;     C (const C &):B ()
> +;     {
> +;     }
> +; };
> +; template < typename _CharT, typename, typename _Alloc > class A
> +; {
> +;     struct D:_Alloc
> +;     {
> +;     };
> +;     D _M_dataplus;
> +; public:
> +;     A (_CharT *);
> +; };
> +;
> +; template < typename _CharT, typename _Traits,
> +;          typename _Alloc > A < _CharT > operator+ (A < _Traits, _Alloc >,
> +;                  const _CharT *)
> +; {
> +;     A < _CharT > a (0);
> +;     return a;
> +; }
> +;
> +; int
> +; main ()
> +; {
> +;     A < int >b = 0;
> +;     A < char >c = b + "/glob_test_root/*a";
> +; }
> +
>  %class.A = type { %"struct.A<int, int, C>::D" }
>  %"struct.A<int, int, C>::D" = type { i8 }
>  %class.A.0 = type { %"struct.A<char, int, C>::D" }
>
>
> _______________________________________________
> 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