|
@@ -96,7 +96,7 @@
|
|
wrong refs were written because of
|
|
wrong refs were written because of
|
|
interface parsing of other units PM
|
|
interface parsing of other units PM
|
|
moduleindex must be checked !! }
|
|
moduleindex must be checked !! }
|
|
-
|
|
|
|
|
|
+
|
|
function tsym.write_references : boolean;
|
|
function tsym.write_references : boolean;
|
|
var
|
|
var
|
|
ref : pref;
|
|
ref : pref;
|
|
@@ -324,7 +324,7 @@
|
|
unitsymtable:=punitsymtable(current_module^.symtable);
|
|
unitsymtable:=punitsymtable(current_module^.symtable);
|
|
prevsym:=nil;
|
|
prevsym:=nil;
|
|
end;
|
|
end;
|
|
-
|
|
|
|
|
|
+
|
|
destructor tunitsym.done;
|
|
destructor tunitsym.done;
|
|
begin
|
|
begin
|
|
if assigned(unitsymtable) and (unitsymtable^.unitsym=@self) then
|
|
if assigned(unitsymtable) and (unitsymtable^.unitsym=@self) then
|
|
@@ -1461,6 +1461,7 @@
|
|
end;
|
|
end;
|
|
{$endif GDB}
|
|
{$endif GDB}
|
|
|
|
|
|
|
|
+
|
|
{****************************************************************************
|
|
{****************************************************************************
|
|
TENUMSYM
|
|
TENUMSYM
|
|
****************************************************************************}
|
|
****************************************************************************}
|
|
@@ -1475,60 +1476,55 @@
|
|
def^.setmin(v);
|
|
def^.setmin(v);
|
|
if def^.max<v then
|
|
if def^.max<v then
|
|
def^.setmax(v);
|
|
def^.setmax(v);
|
|
-{$ifdef GDB}
|
|
|
|
order;
|
|
order;
|
|
-{$endif GDB}
|
|
|
|
end;
|
|
end;
|
|
|
|
|
|
- constructor tenumsym.load;
|
|
|
|
|
|
|
|
|
|
+ constructor tenumsym.load;
|
|
begin
|
|
begin
|
|
tsym.load;
|
|
tsym.load;
|
|
typ:=enumsym;
|
|
typ:=enumsym;
|
|
definition:=penumdef(readdefref);
|
|
definition:=penumdef(readdefref);
|
|
value:=readlong;
|
|
value:=readlong;
|
|
-{$ifdef GDB}
|
|
|
|
next := Nil;
|
|
next := Nil;
|
|
-{$endif GDB}
|
|
|
|
end;
|
|
end;
|
|
|
|
|
|
- procedure tenumsym.deref;
|
|
|
|
|
|
|
|
|
|
+ procedure tenumsym.deref;
|
|
begin
|
|
begin
|
|
resolvedef(pdef(definition));
|
|
resolvedef(pdef(definition));
|
|
-{$ifdef GDB}
|
|
|
|
order;
|
|
order;
|
|
-{$endif}
|
|
|
|
end;
|
|
end;
|
|
|
|
|
|
-{$ifdef GDB}
|
|
|
|
- procedure tenumsym.order;
|
|
|
|
- var sym : penumsym;
|
|
|
|
- begin
|
|
|
|
|
|
+
|
|
|
|
+ procedure tenumsym.order;
|
|
|
|
+ var
|
|
|
|
+ sym : penumsym;
|
|
|
|
+ begin
|
|
sym := definition^.first;
|
|
sym := definition^.first;
|
|
if sym = nil then
|
|
if sym = nil then
|
|
- begin
|
|
|
|
- definition^.first := @self;
|
|
|
|
- next := nil;
|
|
|
|
- exit;
|
|
|
|
- end;
|
|
|
|
- {reorder the symbols in increasing value }
|
|
|
|
|
|
+ begin
|
|
|
|
+ definition^.first := @self;
|
|
|
|
+ next := nil;
|
|
|
|
+ exit;
|
|
|
|
+ end;
|
|
|
|
+ { reorder the symbols in increasing value }
|
|
if value < sym^.value then
|
|
if value < sym^.value then
|
|
- begin
|
|
|
|
- next := sym;
|
|
|
|
- definition^.first := @self;
|
|
|
|
- end else
|
|
|
|
- begin
|
|
|
|
- while (sym^.value <= value) and assigned(sym^.next) do
|
|
|
|
|
|
+ begin
|
|
|
|
+ next := sym;
|
|
|
|
+ definition^.first := @self;
|
|
|
|
+ end
|
|
|
|
+ else
|
|
|
|
+ begin
|
|
|
|
+ while (sym^.value <= value) and assigned(sym^.next) do
|
|
sym := sym^.next;
|
|
sym := sym^.next;
|
|
- next := sym^.next;
|
|
|
|
- sym^.next := @self;
|
|
|
|
- end;
|
|
|
|
- end;
|
|
|
|
-{$endif GDB}
|
|
|
|
|
|
+ next := sym^.next;
|
|
|
|
+ sym^.next := @self;
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
|
|
- procedure tenumsym.write;
|
|
|
|
|
|
|
|
|
|
+ procedure tenumsym.write;
|
|
begin
|
|
begin
|
|
tsym.write;
|
|
tsym.write;
|
|
writedefref(definition);
|
|
writedefref(definition);
|
|
@@ -1536,6 +1532,7 @@
|
|
current_ppu^.writeentry(ibenumsym);
|
|
current_ppu^.writeentry(ibenumsym);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+
|
|
{$ifdef GDB}
|
|
{$ifdef GDB}
|
|
procedure tenumsym.concatstabto(asmlist : paasmoutput);
|
|
procedure tenumsym.concatstabto(asmlist : paasmoutput);
|
|
begin
|
|
begin
|
|
@@ -1543,6 +1540,7 @@
|
|
end;
|
|
end;
|
|
{$EndIf GDB}
|
|
{$EndIf GDB}
|
|
|
|
|
|
|
|
+
|
|
{****************************************************************************
|
|
{****************************************************************************
|
|
TTYPESYM
|
|
TTYPESYM
|
|
****************************************************************************}
|
|
****************************************************************************}
|
|
@@ -1717,7 +1715,10 @@
|
|
|
|
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.46 1998-09-23 15:39:13 pierre
|
|
|
|
|
|
+ Revision 1.47 1998-09-24 15:11:17 peter
|
|
|
|
+ * fixed enum for not GDB
|
|
|
|
+
|
|
|
|
+ Revision 1.46 1998/09/23 15:39:13 pierre
|
|
* browser bugfixes
|
|
* browser bugfixes
|
|
was adding a reference when looking for the symbol
|
|
was adding a reference when looking for the symbol
|
|
if -bSYM_NAME was used
|
|
if -bSYM_NAME was used
|