Compiler puts debug info for the wrong class sections if Dawrd debug info is used
Original Reporter info from Mantis: PaulIsh
-
Reporter name: Paul Ishenin
Original Reporter info from Mantis: PaulIsh
- Reporter name: Paul Ishenin
Description:
It is easy to test on any LCL application:
(gdb) ptype TMouse
type = ^TMOUSE = class : public TOBJECT
public
FCAPTURE : LONGWORD;
FWHEELSCROLLLINES : LONGINT;
procedure SETCAPTURE ();
function GETCAPTURE () : LONGWORD;
function GETCURSORPOS () : POINT;
function GETISDRAGGING () : BOOLEAN;
procedure SETCURSORPOS ();
function GETWHEELSCROLLLINES () : LONGINT;
function GETDRAGIMMEDIATE () : BOOLEAN;
procedure SETDRAGIMMEDIATE ();
function GETDRAGTHRESHOLD () : LONGINT;
procedure SETDRAGTHRESHOLD ();
end
(gdb) ptype TObject
type = ^TOBJECT = class
end
TMouse has all that methods in the private section instead of public. And look at TObject - it is empty since it has no private section. Seems compiler puts private section in the debug info instead of public and marks it as public.
Steps to reproduce:
Compile FPC using: make clean all OPT="-gw -gl"
Compile LCL using -gw
Compile any LCL project using drawf debug info.
Mantis conversion info:
- Mantis ID: 14729
- OS: windows XP
- Platform: windows
- Version: 2.5.1
- Fixed in version: 2.6.0
- Fixed in revision: 13833 (#dce9b384)
- Monitored by: » Vincent (Vincent Snijders)