> >   0x0000002a:   DW_TAG_variable
> >                   DW_AT_name      ("oldname")
> >                   DW_AT_type      (0x0000003f "int")
> >                   DW_AT_external  (true)
> >                   DW_AT_decl_file ("/folk/kkumar/tcllvm/llvm-build-lldb-
> rel/bin/test.c")
> >                   DW_AT_decl_line (1)
> >                   DW_AT_location  (DW_OP_addr 0x0)
> >
> >   0x0000003f:   DW_TAG_base_type
> >                   DW_AT_name      ("int")
> >                   DW_AT_encoding  (DW_ATE_signed)
> >                   DW_AT_byte_size (0x04)
> >
> >   0x00000046:   DW_TAG_variable
> >                   DW_AT_name      ("newname")
> >                   DW_AT_type      (0x0000003f "int")
> >                   DW_AT_decl_file ("/folk/kkumar/tcllvm/llvm-build-lldb-
> rel/bin/test.c")
> >                   DW_AT_decl_line (2)
> >                   DW_AT_declaration       (true)
> >
> >   0x00000051:   DW_TAG_imported_declaration
> >                   DW_AT_decl_file ("/folk/kkumar/tcllvm/llvm-build-lldb-
> rel/bin/test.c")
> >                   DW_AT_decl_line (2)
> >                   DW_AT_import    (0x00000046)
> >                   DW_AT_name      ("newname")

I agree with David, this sequence doesn't seem to do what's desired.
There's nothing that ties "newname" to "oldname" here.  What you 
want is something more like this:

0x0000002a: DW_TAG_variable
              DW_AT_name ("oldname")
              ...
0x0000003a: DW_TAG_imported_declaration
              DW_AT_import (0x0000002a)
              DW_AT_name ("newname")

That is, there would not be a separate DW_TAG_variable for "newname";
instead, the imported_declaration would import the DIE for "oldname"
giving it the name "newname".

--paulr

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to