[llvm-bugs] [Bug 46431] New: [codeview] The 'this' symbol is not marked as compiler generated.

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Jun 24 02:27:23 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=46431

            Bug ID: 46431
           Summary: [codeview] The 'this' symbol is not marked as compiler
                    generated.
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: DebugInfo
          Assignee: unassignedbugs at nondot.org
          Reporter: international.phantom at gmail.com
                CC: jdevlieghere at apple.com, keith.walker at arm.com,
                    llvm-bugs at lists.llvm.org,
                    paul_robinson at playstation.sony.com

For the given test:

//----------------------------------------------------------
class CLASS {
  public:
    int member(int Param);
};

int CLASS::member(int Param) {
  return Param;
}
//----------------------------------------------------------

----------------------------
CodeView generated by Clang:
----------------------------

 0 | S_GPROC32_ID `CLASS::member`
     type = `0x1008 (member)`, flags = none
 0 | S_LOCAL `this`
     type=0x1009 (CLASS*), flags = param
 0 | S_LOCAL `Param`
     type=0x0074 (int), flags = param
 0 | S_PROC_ID_END

Both 'this' and 'Param' are marked as 'param' (LocalSymFlags::IsParameter).

The 'this' should have the (LocalSymFlags::IsCompilerGenerated) as well.

-------------------------
DWARF generated by Clang:
-------------------------

 DW_TAG_class_type
   DW_AT_name   ("CLASS")

   DW_TAG_subprogram
     DW_AT_name ("member")
     DW_AT_type (0x00000064 "int")
     DW_AT_accessibility        (DW_ACCESS_public)

     DW_TAG_formal_parameter
       DW_AT_type       (0x0000006b "CLASS*")
       DW_AT_artificial (true)

     DW_TAG_formal_parameter
       DW_AT_type       (0x00000064 "int")

Only the 'this' parameter is marked as 'DW_AT_artificial', indicating that is
compiler generated.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200624/bfcb98e3/attachment.html>


More information about the llvm-bugs mailing list