mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-21 06:59:51 +01:00
* small updates for ag386bin
This commit is contained in:
parent
c3137d9426
commit
e25d934e2f
@ -27,6 +27,12 @@ interface
|
|||||||
uses
|
uses
|
||||||
dos,cobjects,globtype,globals,aasm;
|
dos,cobjects,globtype,globals,aasm;
|
||||||
|
|
||||||
|
{$ifdef Ag386Bin}
|
||||||
|
{$define NoAg386Att}
|
||||||
|
{$define NoAg386Int}
|
||||||
|
{$define NoAg386Nsm}
|
||||||
|
{$endif}
|
||||||
|
|
||||||
const
|
const
|
||||||
{$ifdef tp}
|
{$ifdef tp}
|
||||||
AsmOutSize=1024;
|
AsmOutSize=1024;
|
||||||
@ -562,7 +568,10 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.36 1999-02-22 02:15:01 peter
|
Revision 1.37 1999-02-24 00:59:11 peter
|
||||||
|
* small updates for ag386bin
|
||||||
|
|
||||||
|
Revision 1.36 1999/02/22 02:15:01 peter
|
||||||
* updates for ag386bin
|
* updates for ag386bin
|
||||||
|
|
||||||
Revision 1.35 1999/02/17 10:16:26 peter
|
Revision 1.35 1999/02/17 10:16:26 peter
|
||||||
|
|||||||
@ -174,12 +174,13 @@ unit cobjects;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
Tnamed_object=object
|
Tnamed_object=object
|
||||||
name:Pstring;
|
_name:Pstring;
|
||||||
left,right:Pnamed_object;
|
left,right:Pnamed_object;
|
||||||
speedvalue:longint;
|
speedvalue:longint;
|
||||||
owner:Pdictionary;
|
owner:Pdictionary;
|
||||||
constructor init(const n:string);
|
constructor init(const n:string);
|
||||||
destructor done;virtual;
|
destructor done;virtual;
|
||||||
|
function name:string;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$ifdef BUFFEREDFILE}
|
{$ifdef BUFFEREDFILE}
|
||||||
@ -831,23 +832,27 @@ end;
|
|||||||
****************************************************************************}
|
****************************************************************************}
|
||||||
|
|
||||||
constructor Tnamed_object.init(const n:string);
|
constructor Tnamed_object.init(const n:string);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
left:=nil;
|
left:=nil;
|
||||||
right:=nil;
|
right:=nil;
|
||||||
name:=stringdup(n);
|
_name:=stringdup(n);
|
||||||
speedvalue:=getspeedvalue(n);
|
speedvalue:=getspeedvalue(n);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor Tnamed_object.done;
|
destructor Tnamed_object.done;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
stringdispose(name);
|
stringdispose(_name);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function Tnamed_object.name:string;
|
||||||
|
begin
|
||||||
|
name:=_name^;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{****************************************************************************
|
{****************************************************************************
|
||||||
TDICTIONARY
|
TDICTIONARY
|
||||||
****************************************************************************}
|
****************************************************************************}
|
||||||
|
|
||||||
constructor Tdictionary.init(usehash:boolean);
|
constructor Tdictionary.init(usehash:boolean);
|
||||||
|
|
||||||
@ -938,8 +943,8 @@ function Tdictionary.insert(obj:Pnamed_object):Pnamed_object;
|
|||||||
begin
|
begin
|
||||||
new(s1);
|
new(s1);
|
||||||
new(s2);
|
new(s2);
|
||||||
s1^:=osym^.name^;
|
s1^:=osym^._name^;
|
||||||
s2^:=obj^.name^;
|
s2^:=obj^._name^;
|
||||||
if s1^>s2^ then
|
if s1^>s2^ then
|
||||||
begin
|
begin
|
||||||
dispose(s2);
|
dispose(s2);
|
||||||
@ -964,7 +969,7 @@ function Tdictionary.insert(obj:Pnamed_object):Pnamed_object;
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
obj^.owner:=@self;
|
obj^.owner:=@self;
|
||||||
obj^.speedvalue:=getspeedvalue(obj^.name^);
|
obj^.speedvalue:=getspeedvalue(obj^._name^);
|
||||||
if assigned(hasharray) then
|
if assigned(hasharray) then
|
||||||
insert:=_insert(hasharray^[obj^.speedvalue mod hasharraysize])
|
insert:=_insert(hasharray^[obj^.speedvalue mod hasharraysize])
|
||||||
else
|
else
|
||||||
@ -997,13 +1002,13 @@ begin
|
|||||||
hp:=hp^.right
|
hp:=hp^.right
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
if (hp^.name^=s) then
|
if (hp^._name^=s) then
|
||||||
begin
|
begin
|
||||||
speedsearch:=hp;
|
speedsearch:=hp;
|
||||||
exit;
|
exit;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if s>hp^.name^ then
|
if s>hp^._name^ then
|
||||||
hp:=hp^.left
|
hp:=hp^.left
|
||||||
else
|
else
|
||||||
hp:=hp^.right;
|
hp:=hp^.right;
|
||||||
@ -1408,7 +1413,10 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.17 1999-01-19 11:00:33 daniel
|
Revision 1.18 1999-02-24 00:59:13 peter
|
||||||
|
* small updates for ag386bin
|
||||||
|
|
||||||
|
Revision 1.17 1999/01/19 11:00:33 daniel
|
||||||
+ Tdictionary object: Tsymtable will become object(TTdictionary) in the
|
+ Tdictionary object: Tsymtable will become object(TTdictionary) in the
|
||||||
future
|
future
|
||||||
+ Tnamed_item object: Tsym will become object(Tnamed_item) in the future
|
+ Tnamed_item object: Tsym will become object(Tnamed_item) in the future
|
||||||
|
|||||||
@ -315,7 +315,7 @@ unit pdecl;
|
|||||||
aktvarsym:=new(pvarsym,init_C(s,target_os.Cprefix+C_name,p));
|
aktvarsym:=new(pvarsym,init_C(s,target_os.Cprefix+C_name,p));
|
||||||
tokenpos:=storetokenpos;
|
tokenpos:=storetokenpos;
|
||||||
aktvarsym^.var_options:=aktvarsym^.var_options or vo_is_external;
|
aktvarsym^.var_options:=aktvarsym^.var_options or vo_is_external;
|
||||||
externals^.concat(new(pai_external,init(aktvarsym^.mangledname,EXT_NEAR)));
|
concat_external(aktvarsym^.mangledname,EXT_NEAR);
|
||||||
symtablestack^.insert(aktvarsym);
|
symtablestack^.insert(aktvarsym);
|
||||||
symdone:=true;
|
symdone:=true;
|
||||||
end;
|
end;
|
||||||
@ -494,7 +494,7 @@ unit pdecl;
|
|||||||
importlib^.importvariable(aktvarsym^.mangledname,dll_name,C_name)
|
importlib^.importvariable(aktvarsym^.mangledname,dll_name,C_name)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
externals^.concat(new(pai_external,init(aktvarsym^.mangledname,EXT_NEAR)));
|
concat_external(aktvarsym^.mangledname,EXT_NEAR);
|
||||||
end;
|
end;
|
||||||
symdone:=true;
|
symdone:=true;
|
||||||
end
|
end
|
||||||
@ -2193,7 +2193,10 @@ unit pdecl;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.99 1999-02-22 23:33:29 florian
|
Revision 1.100 1999-02-24 00:59:14 peter
|
||||||
|
* small updates for ag386bin
|
||||||
|
|
||||||
|
Revision 1.99 1999/02/22 23:33:29 florian
|
||||||
+ message directive for integers added
|
+ message directive for integers added
|
||||||
|
|
||||||
Revision 1.98 1999/02/22 20:13:36 florian
|
Revision 1.98 1999/02/22 20:13:36 florian
|
||||||
|
|||||||
@ -525,15 +525,30 @@ implementation
|
|||||||
)
|
)
|
||||||
,(
|
,(
|
||||||
id : as_i386_dbg;
|
id : as_i386_dbg;
|
||||||
idtxt : 'DBG'
|
idtxt : 'DBG';
|
||||||
|
asmbin : '';
|
||||||
|
asmcmd : '';
|
||||||
|
externals : true;
|
||||||
|
labelprefix : '';
|
||||||
|
comment : ''
|
||||||
)
|
)
|
||||||
,(
|
,(
|
||||||
id : as_i386_coff;
|
id : as_i386_coff;
|
||||||
idtxt : 'COFF'
|
idtxt : 'COFF';
|
||||||
|
asmbin : '';
|
||||||
|
asmcmd : '';
|
||||||
|
externals : true;
|
||||||
|
labelprefix : '';
|
||||||
|
comment : ''
|
||||||
)
|
)
|
||||||
,(
|
,(
|
||||||
id : as_i386_pecoff;
|
id : as_i386_pecoff;
|
||||||
idtxt : 'PECOFF'
|
idtxt : 'PECOFF';
|
||||||
|
asmbin : '';
|
||||||
|
asmcmd : '';
|
||||||
|
externals : true;
|
||||||
|
labelprefix : '';
|
||||||
|
comment : ''
|
||||||
)
|
)
|
||||||
{$endif i386}
|
{$endif i386}
|
||||||
{$ifdef m68k}
|
{$ifdef m68k}
|
||||||
@ -1327,7 +1342,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.57 1999-02-22 02:15:42 peter
|
Revision 1.58 1999-02-24 00:59:16 peter
|
||||||
|
* small updates for ag386bin
|
||||||
|
|
||||||
|
Revision 1.57 1999/02/22 02:15:42 peter
|
||||||
* updates for ag386bin
|
* updates for ag386bin
|
||||||
|
|
||||||
Revision 1.56 1999/01/10 15:38:01 peter
|
Revision 1.56 1999/01/10 15:38:01 peter
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user