mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 12:39:24 +02:00
* stabs fixing
This commit is contained in:
parent
631a4cd660
commit
319ddd55cb
@ -2795,6 +2795,17 @@ implementation
|
|||||||
if assigned(procinfo^._class) then
|
if assigned(procinfo^._class) then
|
||||||
if (not assigned(procinfo^.parent) or
|
if (not assigned(procinfo^.parent) or
|
||||||
not assigned(procinfo^.parent^._class)) then
|
not assigned(procinfo^.parent^._class)) then
|
||||||
|
begin
|
||||||
|
if (po_classmethod in aktprocsym^.definition^.procoptions) or
|
||||||
|
((po_virtualmethod in aktprocsym^.definition^.procoptions) and
|
||||||
|
(potype_constructor=aktprocsym^.definition^.proctypeoption)) or
|
||||||
|
(po_staticmethod in aktprocsym^.definition^.procoptions) then
|
||||||
|
begin
|
||||||
|
exprasmlist^.concat(new(pai_stabs,init(strpnew(
|
||||||
|
'"pvmt:p'+pvmtdef^.numberstring+'",'+
|
||||||
|
tostr(N_PSYM)+',0,0,'+tostr(procinfo^.selfpointer_offset)))));
|
||||||
|
end
|
||||||
|
else
|
||||||
begin
|
begin
|
||||||
if not(is_class(procinfo^._class)) then
|
if not(is_class(procinfo^._class)) then
|
||||||
st:='v'
|
st:='v'
|
||||||
@ -2802,7 +2813,8 @@ implementation
|
|||||||
st:='p';
|
st:='p';
|
||||||
exprasmlist^.concat(new(pai_stabs,init(strpnew(
|
exprasmlist^.concat(new(pai_stabs,init(strpnew(
|
||||||
'"$t:'+st+procinfo^._class^.numberstring+'",'+
|
'"$t:'+st+procinfo^._class^.numberstring+'",'+
|
||||||
tostr(N_PSYM)+',0,0,'+tostr(procinfo^.selfpointer_offset)))))
|
tostr(N_PSYM)+',0,0,'+tostr(procinfo^.selfpointer_offset)))));
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
@ -2937,7 +2949,10 @@ implementation
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.12 2000-11-22 15:12:06 jonas
|
Revision 1.13 2000-11-28 00:28:07 pierre
|
||||||
|
* stabs fixing
|
||||||
|
|
||||||
|
Revision 1.12 2000/11/22 15:12:06 jonas
|
||||||
* fixed inline-related problems (partially "merges")
|
* fixed inline-related problems (partially "merges")
|
||||||
|
|
||||||
Revision 1.11 2000/11/17 10:30:24 florian
|
Revision 1.11 2000/11/17 10:30:24 florian
|
||||||
|
@ -4645,7 +4645,6 @@ Const local_symtable_index : longint = $8001;
|
|||||||
var
|
var
|
||||||
onb : word;
|
onb : word;
|
||||||
begin
|
begin
|
||||||
if globalnb=0 then
|
|
||||||
numberstring;
|
numberstring;
|
||||||
if objecttype=odt_class then
|
if objecttype=odt_class then
|
||||||
begin
|
begin
|
||||||
@ -5545,7 +5544,10 @@ Const local_symtable_index : longint = $8001;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.13 2000-11-26 18:09:40 florian
|
Revision 1.14 2000-11-28 00:28:06 pierre
|
||||||
|
* stabs fixing
|
||||||
|
|
||||||
|
Revision 1.13 2000/11/26 18:09:40 florian
|
||||||
* fixed rtti for chars
|
* fixed rtti for chars
|
||||||
|
|
||||||
Revision 1.12 2000/11/19 16:23:35 florian
|
Revision 1.12 2000/11/19 16:23:35 florian
|
||||||
|
@ -601,7 +601,7 @@
|
|||||||
if assigned(owner) then
|
if assigned(owner) then
|
||||||
begin
|
begin
|
||||||
if (owner^.symtabletype = objectsymtable) then
|
if (owner^.symtabletype = objectsymtable) then
|
||||||
obj := owner^.name^+'__'+name;
|
obj := upper(owner^.name^)+'__'+name;
|
||||||
{ this code was correct only as long as the local symboltable
|
{ this code was correct only as long as the local symboltable
|
||||||
of the parent had the same name as the function
|
of the parent had the same name as the function
|
||||||
but this is no true anymore !! PM
|
but this is no true anymore !! PM
|
||||||
@ -2213,7 +2213,10 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.13 2000-11-04 14:25:22 florian
|
Revision 1.14 2000-11-28 00:28:07 pierre
|
||||||
|
* stabs fixing
|
||||||
|
|
||||||
|
Revision 1.13 2000/11/04 14:25:22 florian
|
||||||
+ merged Attila's changes for interfaces, not tested yet
|
+ merged Attila's changes for interfaces, not tested yet
|
||||||
|
|
||||||
Revision 1.12 2000/10/31 22:02:52 peter
|
Revision 1.12 2000/10/31 22:02:52 peter
|
||||||
|
@ -1129,6 +1129,20 @@ implementation
|
|||||||
if (symtabletype=unitsymtable) and
|
if (symtabletype=unitsymtable) and
|
||||||
assigned(punitsymtable(@self)^.unitsym) then
|
assigned(punitsymtable(@self)^.unitsym) then
|
||||||
inc(punitsymtable(@self)^.unitsym^.refs);
|
inc(punitsymtable(@self)^.unitsym^.refs);
|
||||||
|
|
||||||
|
{$ifdef GDB}
|
||||||
|
{ if it is a type, we need the stabs of this type
|
||||||
|
this might be the cause of the class debug problems
|
||||||
|
as TCHILDCLASS.Create did not generate appropriate
|
||||||
|
stabs debug info if TCHILDCLASS wasn't used anywhere else PM }
|
||||||
|
if (hp^.typ=typesym) and make_ref then
|
||||||
|
begin
|
||||||
|
if assigned(ptypesym(hp)^.restype.def) then
|
||||||
|
pstoreddef(ptypesym(hp)^.restype.def)^.numberstring
|
||||||
|
else
|
||||||
|
ptypesym(hp)^.isusedinstab:=true;
|
||||||
|
end;
|
||||||
|
{$endif GDB}
|
||||||
{ unitsym are only loaded for browsing PM }
|
{ unitsym are only loaded for browsing PM }
|
||||||
{ this was buggy anyway because we could use }
|
{ this was buggy anyway because we could use }
|
||||||
{ unitsyms from other units in _USES !! }
|
{ unitsyms from other units in _USES !! }
|
||||||
@ -2352,7 +2366,13 @@ implementation
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.16 2000-11-12 22:17:47 peter
|
Revision 1.17 2000-11-28 00:28:07 pierre
|
||||||
|
* stabs fixing
|
||||||
|
|
||||||
|
Revision 1.1.2.8 2000/11/17 11:14:37 pierre
|
||||||
|
* one more class stabs fix
|
||||||
|
|
||||||
|
Revision 1.16 2000/11/12 22:17:47 peter
|
||||||
* some realname updates for messages
|
* some realname updates for messages
|
||||||
|
|
||||||
Revision 1.15 2000/11/06 15:54:15 florian
|
Revision 1.15 2000/11/06 15:54:15 florian
|
||||||
@ -2368,6 +2388,9 @@ end.
|
|||||||
Revision 1.12 2000/10/31 22:02:52 peter
|
Revision 1.12 2000/10/31 22:02:52 peter
|
||||||
* symtable splitted, no real code changes
|
* symtable splitted, no real code changes
|
||||||
|
|
||||||
|
Revision 1.1.2.7 2000/10/16 19:43:04 pierre
|
||||||
|
* trying to correct class stabss once more
|
||||||
|
|
||||||
Revision 1.11 2000/10/15 07:47:53 peter
|
Revision 1.11 2000/10/15 07:47:53 peter
|
||||||
* unit names and procedure names are stored mixed case
|
* unit names and procedure names are stored mixed case
|
||||||
|
|
||||||
@ -2390,6 +2413,9 @@ end.
|
|||||||
Revision 1.5 2000/08/20 14:58:41 peter
|
Revision 1.5 2000/08/20 14:58:41 peter
|
||||||
* give fatal if objfpc/delphi mode things are found (merged)
|
* give fatal if objfpc/delphi mode things are found (merged)
|
||||||
|
|
||||||
|
Revision 1.1.2.6 2000/08/20 14:56:46 peter
|
||||||
|
* give fatal if objfpc/delphi mode things are found
|
||||||
|
|
||||||
Revision 1.4 2000/08/16 18:33:54 peter
|
Revision 1.4 2000/08/16 18:33:54 peter
|
||||||
* splitted namedobjectitem.next into indexnext and listnext so it
|
* splitted namedobjectitem.next into indexnext and listnext so it
|
||||||
can be used in both lists
|
can be used in both lists
|
||||||
@ -2399,6 +2425,4 @@ end.
|
|||||||
* memdebug/memory patches (merged)
|
* memdebug/memory patches (merged)
|
||||||
* only once illegal directive (merged)
|
* only once illegal directive (merged)
|
||||||
|
|
||||||
Revision 1.2 2000/07/13 11:32:50 michael
|
|
||||||
+ removed logs
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user