]> git.ipfire.org Git - thirdparty/gcc.git/commit
Write LF_POINTER CodeView types for pointers to member functions or data
authorMark Harmstone <mark@harmstone.com>
Fri, 1 Nov 2024 00:38:44 +0000 (00:38 +0000)
committerMark Harmstone <mark@harmstone.com>
Tue, 5 Nov 2024 00:47:35 +0000 (00:47 +0000)
commitb0f4f556ea9f07d0b6fb6407ab25a193d27c806e
treea38ca846223932eab0eaa2018a6f1944ad9e6f87
parent7ac24078e06d95ecd234b5bfa07ff8dd47650791
Write LF_POINTER CodeView types for pointers to member functions or data

Translate DW_TAG_ptr_to_member_type DIEs into special extended
LF_POINTER CodeView types.

gcc/
* dwarf2codeview.cc (struct codeview_custom_type): Add new fields to
lf_pointer struct in union.
(write_lf_pointer): Write containing_class and ptr_to_mem_type if
applicable.
(get_type_num_subroutine_type): Write correct containing_class_type if
this is a pointer to a member function.
(get_type_num_ptr_to_member_type): New function.
(get_type_num): Call get_type_num_ptr_to_member_type.
* dwarf2codeview.h (CV_PTR_MODE_MASK, CV_PTR_MODE_PMEM): Define.
(CV_PTR_MODE_PMFUNC, CV_PMTYPE_D_Single, CV_PMTYPE_F_Single): Likewise.
gcc/dwarf2codeview.cc
gcc/dwarf2codeview.h