I made a small experiment where I manually edited the DW_AT_name in the 
assembler output:


Baseline:

$ lldb with_params
(lldb) target create "with_params"
(lldb) b 5
(lldb) r
Process 28369 stopped
* thread #1, name = 'with_params', stop reason = breakpoint 1.1
    frame #0: 0x00000000004004fc with_params`main(argc=1, 
argv=0x00007fffffffe578) at template.cpp:5
   2    
   3    int main(int argc, char **argv) {
   4      MyC<int> c = {23};
-> 5      return c.t;
   6    }
Target 0: (with_params) stopped.
(lldb) p c
(MyC<int>) $0 = (t = 23)
^^^^^^^^^^


Without the parameters:


$ lldb no_params
(lldb) target create "no_params"
(lldb) b 5
* thread #1, name = 'no_params', stop reason = breakpoint 1.1
    frame #0: 0x00000000004004fc no_params`main(argc=1, 
argv=0x00007fffffffe588) at template.cpp:5
   2    
   3    int main(int argc, char **argv) {
   4      MyC<int> c = {23};
-> 5      return c.t;
   6    }
Target 0: (no_params) stopped.
(lldb) p c
(MyC) $0 = (t = 23)
^^^^^


Note how lldb uses the typename to print the result type of the expression.

-- adrian
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to