DWARF: specialize OLD_OBJECT <foo> does not create debug info for any methods
Original Reporter info from Mantis: Martin @martin_frb
-
Reporter name: Martin Friebe
Original Reporter info from Mantis: Martin @martin_frb
- Reporter name: Martin Friebe
Description:
program dbg_generic;
{$mode objfpc}{$H+}
uses LazListClasses; // package LazUtils
type
TMySize = specialize TLazListClassesItemSize<integer>;
TMyList = specialize TLazShiftBufferListObjBase<PInteger, TMySize>;
var
l: TMyList;
begin
l.Create;
l.InsertRows(1,1);
end.
The resulting dwarf DW_TAG_structure_type has no entries for the functions TMySize.Create or TMySize.InsertRows. (or any other functions).
TMySize is also misnamed in dwarf. It is
DW_AT_name TLazShiftBufferListObjBase$2$crcC02A5682
----------------------------------
Specializing a "class" will create entries for all the methods.
But it will still have an internal $crc name.
(Not checked for advanced records)
Mantis conversion info:
- Mantis ID: 37661
- OS: win 10
- OS Build: 10
- Build: 46514
- Platform: 64bit Intel
- Version: 3.3.1