+ added procedure directive parsing for procvars

(accepted are popstack cdecl and pascal)
  + added C vars with the following syntax
    var C calias 'true_c_name';(can be followed by external)
    reason is that you must add the Cprefix

    which is target dependent
This commit is contained in:
pierre 1998-06-09 16:01:33 +00:00
parent 56bc103c33
commit 5ad339b3d8
12 changed files with 838 additions and 638 deletions

View File

@ -1085,28 +1085,9 @@ implementation
ungetpersistanttemp(p^.procdefinition^.parast^.call_offset,
p^.procdefinition^.parast^.datasize);
end;
if (not inlined) and ((p^.procdefinition^.options and poclearstack)<>0) then
begin
{ consider the alignment with the rest (PM) }
pushedparasize:=pushedparasize+pop_size;
must_pop:=false;
if pushedparasize=4 then
{ better than an add on all processors }
exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_EDI)))
{ the pentium has two pipes and pop reg is pairable }
{ but the registers must be different! }
else if (pushedparasize=8) and
not(cs_littlesize in aktswitches) and
(aktoptprocessor=pentium) and
(procinfo._class=nil) then
begin
exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_EDI)));
exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_ESI)));
end
else exprasmlist^.concat(new(pai386,op_const_reg(A_ADD,S_L,pushedparasize,R_ESP)));
end;
end
else
{ now procedure variable case }
begin
if (pushedparasize mod 4)<>0 then
begin
@ -1143,6 +1124,29 @@ implementation
end;
end;
{ this was only for normal functions
displaced here so we also get
it to work for procvars PM }
if (not inlined) and ((p^.procdefinition^.options and poclearstack)<>0) then
begin
{ consider the alignment with the rest (PM) }
pushedparasize:=pushedparasize+pop_size;
must_pop:=false;
if pushedparasize=4 then
{ better than an add on all processors }
exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_EDI)))
{ the pentium has two pipes and pop reg is pairable }
{ but the registers must be different! }
else if (pushedparasize=8) and
not(cs_littlesize in aktswitches) and
(aktoptprocessor=pentium) and
(procinfo._class=nil) then
begin
exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_EDI)));
exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_ESI)));
end
else exprasmlist^.concat(new(pai386,op_const_reg(A_ADD,S_L,pushedparasize,R_ESP)));
end;
dont_call:
pushedparasize:=oldpushedparasize;
@ -1281,7 +1285,6 @@ implementation
emitcall(p^.procdefinition^.mangledname);}
emitcall('IOCHECK',true);
end;
{ this should be optimized (PM) }
if must_pop then
exprasmlist^.concat(new(pai386,op_const_reg(A_ADD,S_L,pop_size,R_ESP)));
{ restore registers }
@ -2190,7 +2193,16 @@ implementation
end.
{
$Log$
Revision 1.2 1998-06-08 13:13:29 pierre
Revision 1.3 1998-06-09 16:01:33 pierre
+ added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
Revision 1.2 1998/06/08 13:13:29 pierre
+ temporary variables now in temp_gen.pas unit
because it is processor independent
* mppc68k.bat modified to undefine i386 and support_mmx

View File

@ -81,129 +81,139 @@ implementation
varsym :
begin
hregister:=R_NO;
symtabletype:=p^.symtable^.symtabletype;
{ in case it is a register variable: }
if pvarsym(p^.symtableentry)^.reg<>R_NO then
if (pvarsym(p^.symtableentry)^.var_options and vo_is_C_var)<>0 then
begin
p^.location.loc:=LOC_CREGISTER;
p^.location.register:=pvarsym(p^.symtableentry)^.reg;
unused:=unused-[pvarsym(p^.symtableentry)^.reg];
stringdispose(p^.location.reference.symbol);
p^.location.reference.symbol:=stringdup(p^.symtableentry^.mangledname);
if (pvarsym(p^.symtableentry)^.var_options and vo_is_external)<>0 then
maybe_concat_external(p^.symtableentry^.owner,p^.symtableentry^.mangledname);
end
else
begin
{ first handle local and temporary variables }
if (symtabletype in [parasymtable,inlinelocalsymtable,
inlineparasymtable,localsymtable]) then
symtabletype:=p^.symtable^.symtabletype;
{ in case it is a register variable: }
if pvarsym(p^.symtableentry)^.reg<>R_NO then
begin
p^.location.reference.base:=procinfo.framepointer;
p^.location.reference.offset:=pvarsym(p^.symtableentry)^.address;
if (symtabletype=localsymtable) or (symtabletype=inlinelocalsymtable) then
p^.location.reference.offset:=-p^.location.reference.offset;
if (symtabletype=parasymtable) or (symtabletype=inlineparasymtable) then
inc(p^.location.reference.offset,p^.symtable^.call_offset);
if (lexlevel>(p^.symtable^.symtablelevel)) then
begin
hregister:=getregister32;
{ make a reference }
hp:=new_reference(procinfo.framepointer,
procinfo.framepointer_offset);
exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister)));
simple_loadn:=false;
i:=lexlevel-1;
while i>(p^.symtable^.symtablelevel) do
begin
{ make a reference }
hp:=new_reference(hregister,8);
exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister)));
dec(i);
end;
p^.location.reference.base:=hregister;
end;
p^.location.loc:=LOC_CREGISTER;
p^.location.register:=pvarsym(p^.symtableentry)^.reg;
unused:=unused-[pvarsym(p^.symtableentry)^.reg];
end
else
case symtabletype of
unitsymtable,globalsymtable,
staticsymtable : begin
stringdispose(p^.location.reference.symbol);
p^.location.reference.symbol:=stringdup(p^.symtableentry^.mangledname);
if symtabletype=unitsymtable then
concat_external(p^.symtableentry^.mangledname,EXT_NEAR);
end;
objectsymtable : begin
if (pvarsym(p^.symtableentry)^.properties and sp_static)<>0 then
begin
stringdispose(p^.location.reference.symbol);
p^.location.reference.symbol:=stringdup(p^.symtableentry^.mangledname);
if p^.symtable^.defowner^.owner^.symtabletype=unitsymtable then
concat_external(p^.symtableentry^.mangledname,EXT_NEAR);
end
else
begin
p^.location.reference.base:=R_ESI;
p^.location.reference.offset:=pvarsym(p^.symtableentry)^.address;
end;
end;
withsymtable:
begin
hregister:=getregister32;
p^.location.reference.base:=hregister;
{ make a reference }
{ symtable datasize field
contains the offset of the temp
stored }
hp:=new_reference(procinfo.framepointer,
p^.symtable^.datasize);
exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister)));
p^.location.reference.offset:=
pvarsym(p^.symtableentry)^.address;
end;
end;
{ in case call by reference, then calculate: }
if (pvarsym(p^.symtableentry)^.varspez=vs_var) or
((pvarsym(p^.symtableentry)^.varspez=vs_const) and
dont_copy_const_param(pvarsym(p^.symtableentry)^.definition)) or
{ call by value open arrays are also indirect addressed }
is_open_array(pvarsym(p^.symtableentry)^.definition) then
begin
simple_loadn:=false;
if hregister=R_NO then
hregister:=getregister32;
if (p^.location.reference.base=procinfo.framepointer) then
{ first handle local and temporary variables }
if (symtabletype in [parasymtable,inlinelocalsymtable,
inlineparasymtable,localsymtable]) then
begin
highframepointer:=p^.location.reference.base;
highoffset:=p^.location.reference.offset;
p^.location.reference.base:=procinfo.framepointer;
p^.location.reference.offset:=pvarsym(p^.symtableentry)^.address;
if (symtabletype=localsymtable) or (symtabletype=inlinelocalsymtable) then
p^.location.reference.offset:=-p^.location.reference.offset;
if (symtabletype=parasymtable) or (symtabletype=inlineparasymtable) then
inc(p^.location.reference.offset,p^.symtable^.call_offset);
if (lexlevel>(p^.symtable^.symtablelevel)) then
begin
hregister:=getregister32;
{ make a reference }
hp:=new_reference(procinfo.framepointer,
procinfo.framepointer_offset);
exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister)));
simple_loadn:=false;
i:=lexlevel-1;
while i>(p^.symtable^.symtablelevel) do
begin
{ make a reference }
hp:=new_reference(hregister,8);
exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister)));
dec(i);
end;
p^.location.reference.base:=hregister;
end;
end
else
begin
highframepointer:=R_EDI;
highoffset:=p^.location.reference.offset;
exprasmlist^.concat(new(pai386,op_reg_reg(A_MOV,S_L,
p^.location.reference.base,R_EDI)));
case symtabletype of
unitsymtable,globalsymtable,
staticsymtable : begin
stringdispose(p^.location.reference.symbol);
p^.location.reference.symbol:=stringdup(p^.symtableentry^.mangledname);
if symtabletype=unitsymtable then
concat_external(p^.symtableentry^.mangledname,EXT_NEAR);
end;
objectsymtable : begin
if (pvarsym(p^.symtableentry)^.properties and sp_static)<>0 then
begin
stringdispose(p^.location.reference.symbol);
p^.location.reference.symbol:=stringdup(p^.symtableentry^.mangledname);
if p^.symtable^.defowner^.owner^.symtabletype=unitsymtable then
concat_external(p^.symtableentry^.mangledname,EXT_NEAR);
end
else
begin
p^.location.reference.base:=R_ESI;
p^.location.reference.offset:=pvarsym(p^.symtableentry)^.address;
end;
end;
withsymtable:
begin
hregister:=getregister32;
p^.location.reference.base:=hregister;
{ make a reference }
{ symtable datasize field
contains the offset of the temp
stored }
hp:=new_reference(procinfo.framepointer,
p^.symtable^.datasize);
exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister)));
p^.location.reference.offset:=
pvarsym(p^.symtableentry)^.address;
end;
end;
exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,newreference(p^.location.reference),
hregister)));
clear_reference(p^.location.reference);
p^.location.reference.base:=hregister;
end;
{
if (pvarsym(p^.symtableentry)^.definition^.deftype=objectdef) and
((pobjectdef(pvarsym(p^.symtableentry)^.definition)^.options and oois_class)<>0) then
begin
simple_loadn:=false;
if hregister=R_NO then
hregister:=getregister32;
exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,newreference(p^.location.reference),
hregister)));
clear_reference(p^.location.reference);
p^.location.reference.base:=hregister;
{ in case call by reference, then calculate: }
if (pvarsym(p^.symtableentry)^.varspez=vs_var) or
((pvarsym(p^.symtableentry)^.varspez=vs_const) and
dont_copy_const_param(pvarsym(p^.symtableentry)^.definition)) or
{ call by value open arrays are also indirect addressed }
is_open_array(pvarsym(p^.symtableentry)^.definition) then
begin
simple_loadn:=false;
if hregister=R_NO then
hregister:=getregister32;
if (p^.location.reference.base=procinfo.framepointer) then
begin
highframepointer:=p^.location.reference.base;
highoffset:=p^.location.reference.offset;
end
else
begin
highframepointer:=R_EDI;
highoffset:=p^.location.reference.offset;
exprasmlist^.concat(new(pai386,op_reg_reg(A_MOV,S_L,
p^.location.reference.base,R_EDI)));
end;
exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,newreference(p^.location.reference),
hregister)));
clear_reference(p^.location.reference);
p^.location.reference.base:=hregister;
end;
{
if (pvarsym(p^.symtableentry)^.definition^.deftype=objectdef) and
((pobjectdef(pvarsym(p^.symtableentry)^.definition)^.options and oois_class)<>0) then
begin
simple_loadn:=false;
if hregister=R_NO then
hregister:=getregister32;
exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,newreference(p^.location.reference),
hregister)));
clear_reference(p^.location.reference);
p^.location.reference.base:=hregister;
end;
}
end;
}
end;
end;
procsym:
@ -510,7 +520,16 @@ implementation
end.
{
$Log$
Revision 1.2 1998-06-08 13:13:34 pierre
Revision 1.3 1998-06-09 16:01:35 pierre
+ added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
Revision 1.2 1998/06/08 13:13:34 pierre
+ temporary variables now in temp_gen.pas unit
because it is processor independent
* mppc68k.bat modified to undefine i386 and support_mmx

View File

@ -4909,7 +4909,7 @@ end;
i,j,k : longint;
begin
if (p^.typ=varsym) and (pvarsym(p)^.regable) then
if (p^.typ=varsym) and ((pvarsym(p)^.var_options and vo_regable)<>0) then
begin
{ walk through all momentary register variables }
for i:=1 to maxvarregs do
@ -5137,7 +5137,16 @@ end.
{
$Log$
Revision 1.6 1998-06-08 13:13:36 pierre
Revision 1.7 1998-06-09 16:01:36 pierre
+ added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
Revision 1.6 1998/06/08 13:13:36 pierre
+ temporary variables now in temp_gen.pas unit
because it is processor independent
* mppc68k.bat modified to undefine i386 and support_mmx

View File

@ -280,7 +280,7 @@ implementation
i,j,k : longint;
begin
if (p^.typ=varsym) and (pvarsym(p)^.regable) then
if (p^.typ=varsym) and ((pvarsym(p)^.var_options and vo_regable)<>0) then
begin
{ walk through all momentary register variables }
for i:=1 to maxvarregs do
@ -516,7 +516,16 @@ implementation
end.
{
$Log$
Revision 1.37 1998-06-08 13:13:41 pierre
Revision 1.38 1998-06-09 16:01:37 pierre
+ added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
Revision 1.37 1998/06/08 13:13:41 pierre
+ temporary variables now in temp_gen.pas unit
because it is processor independent
* mppc68k.bat modified to undefine i386 and support_mmx

View File

@ -204,6 +204,7 @@ unit files;
ibunitname = 34;
ibwidestringdef = 35;
ibstaticlibs = 36;
ibvarsym_C = 37;
ibend = 255;
{ unit flags }
@ -937,7 +938,16 @@ unit files;
end.
{
$Log$
Revision 1.16 1998-06-04 10:42:19 pierre
Revision 1.17 1998-06-09 16:01:40 pierre
+ added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
Revision 1.16 1998/06/04 10:42:19 pierre
* small bug fix in load_ppu or openppu
Revision 1.15 1998/05/28 14:37:53 peter

View File

@ -1,4 +1,4 @@
const msgtxt : array[1..14129] of char=(
const msgtxt : array[1..14132] of char=(
'I','_','C','o','m','p','i','l','e','r',':',' ','$','1',#000,
'I','_','U','n','i','t','s',' ','a','r','e',' ','s','e','a',
'r','c','h','e','d',' ','i','n',':',' ','$','1',#000,'D','_',
@ -391,7 +391,7 @@ const msgtxt : array[1..14129] of char=(
' ','b','e',' ','r','e','s','o','l','v','e','d',' ','h','e',
'r','e',' ','t','o',' ','u','s','e',' ','t','h','e',' ','c',
'l','a','s','s',' ','a','s',' ','a','n','c','h','e','s','t',
'o','r',#000,'N','_','L','o','c','a','l',' ','v','a','r','i',
'o','r',#000,'W','_','L','o','c','a','l',' ','v','a','r','i',
'a','b','l','e',' ','$','1',' ','d','o','e','s','n',#039,'t',
' ','s','e','e','m',' ','t','o',' ','b','e',' ','i','n','i',
't','i','a','l','i','z','e','d',' ','y','e','t',' ','!',#000,
@ -461,483 +461,484 @@ const msgtxt : array[1..14129] of char=(
' ','n','o','t',' ','s','e','e','m',' ','t','o',' ','b','e',
' ','s','e','t',#000,'E','_','U','n','k','n','o','w','n',' ',
'f','i','e','l','d',' ','i','d','e','n','t','i','f','i','e',
'r',#000,'N','_','L','o','c','a','l',' ','v','a','r','i','a',
'r',#000,'W','_','L','o','c','a','l',' ','v','a','r','i','a',
'b','l','e',' ','$','1',' ','d','o','e','s',' ','n','o','t',
' ','s','e','e','m',' ','t','o',' ','b','e',' ','i','n','i',
't','i','a','l','i','z','e','d',#000,'E','_','i','d','e','n',
't','i','f','i','e','r',' ','i','d','e','n','t','s',' ','n',
'o',' ','m','e','m','b','e','r',#000,'E','_','B','R','E','A',
'K',' ','n','o','t',' ','a','l','l','o','w','e','d',#000,'E',
'_','C','O','N','T','I','N','U','E',' ','n','o','t',' ','a',
'l','l','o','w','e','d',#000,'E','_','E','x','p','r','e','s',
's','i','o','n',' ','t','o','o',' ','c','o','m','p','l','i',
'c','a','t','e','d',' ','-',' ','F','P','U',' ','s','t','a',
'c','k',' ','o','v','e','r','f','l','o','w',#000,'E','_','I',
'l','l','e','g','a','l',' ','e','x','p','r','e','s','s','i',
'o','n',#000,'E','_','I','n','v','a','l','i','d',' ','i','n',
't','e','g','e','r',#000,'E','_','I','l','l','e','g','a','l',
' ','q','u','a','l','i','f','i','e','r',#000,'E','_','H','i',
'g','h',' ','r','a','n','g','e',' ','l','i','m','i','t',' ',
'<',' ','l','o','w',' ','r','a','n','g','e',' ','l','i','m',
'i','t',#000,'E','_','I','l','l','e','g','a','l',' ','c','o',
'u','n','t','e','r',' ','v','a','r','i','a','b','l','e',#000,
'E','_','C','a','n',#039,'t',' ','d','e','t','e','r','m','i',
'n','e',' ','w','h','i','c','h',' ','o','v','e','r','l','o',
'a','d','e','d',' ','f','u','n','c','t','i','o','n',' ','t',
'o',' ','c','a','l','l',#000,'E','_','P','a','r','a','m','e',
't','e','r',' ','l','i','s','t',' ','s','i','z','e',' ','e',
'x','c','e','e','d','s',' ','6','5','5','3','5',' ','b','y',
't','e','s',#000,'E','_','I','l','l','e','g','a','l',' ','t',
'y','p','e',' ','c','o','n','v','e','r','s','i','o','n',#000,
'E','_','F','i','l','e',' ','t','y','p','e','s',' ','m','u',
's','t',' ','b','e',' ','v','a','r',' ','p','a','r','a','m',
'e','t','e','r','s',#000,'E','_','T','h','e',' ','u','s','e',
' ','o','f',' ','a',' ','f','a','r',' ','p','o','i','n','t',
'e','r',' ','i','s','n',#039,'t',' ','a','l','l','o','w','e',
'd',' ','t','h','e','r','e',#000,'E','_','i','l','l','e','g',
'a','l',' ','c','a','l','l',' ','b','y',' ','r','e','f','e',
'r','e','n','c','e',' ','p','a','r','a','m','e','t','e','r',
's',#000,'E','_','E','X','P','O','R','T',' ','d','e','c','l',
'a','r','e','d',' ','f','u','n','c','t','i','o','n','s',' ',
'c','a','n',#039,'t',' ','b','e',' ','c','a','l','l','e','d',
#000,'W','_','P','o','s','s','i','b','l','e',' ','i','l','l',
'e','g','a','l',' ','c','a','l','l',' ','o','f',' ','c','o',
'n','s','t','r','u','c','t','o','r',' ','o','r',' ','d','e',
's','t','r','u','c','t','o','r',' ','(','d','o','e','s','n',
#039,'t',' ','m','a','t','c','h',' ','t','o',' ','t','h','i',
's',' ','c','o','n','t','e','x','t',')',#000,'N','_','I','n',
'e','f','f','i','c','i','e','n','t',' ','c','o','d','e',#000,
'W','_','u','n','r','e','a','c','h','a','b','l','e',' ','c',
'o','d','e',#000,'E','_','p','r','o','c','e','d','u','r','e',
' ','c','a','l','l',' ','w','i','t','h',' ','s','t','a','c',
'k','f','r','a','m','e',' ','E','S','P','/','S','P',#000,'E',
'_','A','b','s','t','r','a','c','t',' ','m','e','t','h','o',
'd','s',' ','c','a','n',#039,'t',' ','b','e',' ','c','a','l',
'l','e','d',' ','d','i','r','e','c','t','l','y',#000,'F','_',
'I','n','t','e','r','n','a','l',' ','E','r','r','o','r',' ',
'i','n',' ','g','e','t','f','l','o','a','t','r','e','g','(',
')',',',' ','a','l','l','o','c','a','t','i','o','n',' ','f',
'a','i','l','u','r','e',#000,'F','_','U','n','k','n','o','w',
'n',' ','f','l','o','a','t',' ','t','y','p','e',#000,'F','_',
'S','e','c','o','n','d','V','e','c','n','(',')',' ','b','a',
's','e',' ','d','e','f','i','n','e','d',' ','t','w','i','c',
'e',#000,'F','_','E','x','t','e','n','d','e','d',' ','c','g',
'6','8','k',' ','n','o','t',' ','s','u','p','p','o','r','t',
'e','d',#000,'F','_','3','2','-','b','i','t',' ','u','n','s',
'i','g','n','e','d',' ','n','o','t',' ','s','u','p','p','o',
'r','t','e','d',' ','i','n',' ','M','C','6','8','0','0','0',
' ','m','o','d','e',#000,'F','_','I','n','t','e','r','n','a',
'l',' ','E','r','r','o','r',' ','i','n',' ','s','e','c','o',
'n','d','i','n','l','i','n','e','(',')',#000,'D','_','R','e',
'g','i','s','t','e','r',' ','$','1',' ','w','e','i','g','h',
't',' ','$','2',' ','$','3',#000,'E','_','S','t','a','c','k',
' ','l','i','m','i','t',' ','e','x','c','e','d','e','e','d',
' ','i','n',' ','l','o','c','a','l',' ','r','o','u','t','i',
'n','e',#000,'D','_','S','t','a','c','k',' ','f','r','a','m',
'e',' ','i','s',' ','o','m','i','t','e','d',#000,'F','_','D',
'i','v','i','d','e',' ','b','y',' ','z','e','r','o',' ','i',
'n',' ','a','s','m',' ','e','v','a','l','u','a','t','o','r',
'o',' ','m','e','m','b','e','r',' ','$','1',#000,'E','_','B',
'R','E','A','K',' ','n','o','t',' ','a','l','l','o','w','e',
'd',#000,'E','_','C','O','N','T','I','N','U','E',' ','n','o',
't',' ','a','l','l','o','w','e','d',#000,'E','_','E','x','p',
'r','e','s','s','i','o','n',' ','t','o','o',' ','c','o','m',
'p','l','i','c','a','t','e','d',' ','-',' ','F','P','U',' ',
's','t','a','c','k',' ','o','v','e','r','f','l','o','w',#000,
'E','_','I','l','l','e','g','a','l',' ','e','x','p','r','e',
's','s','i','o','n',#000,'E','_','I','n','v','a','l','i','d',
' ','i','n','t','e','g','e','r',#000,'E','_','I','l','l','e',
'g','a','l',' ','q','u','a','l','i','f','i','e','r',#000,'E',
'_','H','i','g','h',' ','r','a','n','g','e',' ','l','i','m',
'i','t',' ','<',' ','l','o','w',' ','r','a','n','g','e',' ',
'l','i','m','i','t',#000,'E','_','I','l','l','e','g','a','l',
' ','c','o','u','n','t','e','r',' ','v','a','r','i','a','b',
'l','e',#000,'E','_','C','a','n',#039,'t',' ','d','e','t','e',
'r','m','i','n','e',' ','w','h','i','c','h',' ','o','v','e',
'r','l','o','a','d','e','d',' ','f','u','n','c','t','i','o',
'n',' ','t','o',' ','c','a','l','l',#000,'E','_','P','a','r',
'a','m','e','t','e','r',' ','l','i','s','t',' ','s','i','z',
'e',' ','e','x','c','e','e','d','s',' ','6','5','5','3','5',
' ','b','y','t','e','s',#000,'E','_','I','l','l','e','g','a',
'l',' ','t','y','p','e',' ','c','o','n','v','e','r','s','i',
'o','n',#000,'E','_','F','i','l','e',' ','t','y','p','e','s',
' ','m','u','s','t',' ','b','e',' ','v','a','r',' ','p','a',
'r','a','m','e','t','e','r','s',#000,'E','_','T','h','e',' ',
'u','s','e',' ','o','f',' ','a',' ','f','a','r',' ','p','o',
'i','n','t','e','r',' ','i','s','n',#039,'t',' ','a','l','l',
'o','w','e','d',' ','t','h','e','r','e',#000,'E','_','i','l',
'l','e','g','a','l',' ','c','a','l','l',' ','b','y',' ','r',
'e','f','e','r','e','n','c','e',' ','p','a','r','a','m','e',
't','e','r','s',#000,'E','_','E','X','P','O','R','T',' ','d',
'e','c','l','a','r','e','d',' ','f','u','n','c','t','i','o',
'n','s',' ','c','a','n',#039,'t',' ','b','e',' ','c','a','l',
'l','e','d',#000,'W','_','P','o','s','s','i','b','l','e',' ',
'i','l','l','e','g','a','l',' ','c','a','l','l',' ','o','f',
' ','c','o','n','s','t','r','u','c','t','o','r',' ','o','r',
' ','d','e','s','t','r','u','c','t','o','r',' ','(','d','o',
'e','s','n',#039,'t',' ','m','a','t','c','h',' ','t','o',' ',
't','h','i','s',' ','c','o','n','t','e','x','t',')',#000,'N',
'_','I','n','e','f','f','i','c','i','e','n','t',' ','c','o',
'd','e',#000,'W','_','u','n','r','e','a','c','h','a','b','l',
'e',' ','c','o','d','e',#000,'E','_','p','r','o','c','e','d',
'u','r','e',' ','c','a','l','l',' ','w','i','t','h',' ','s',
't','a','c','k','f','r','a','m','e',' ','E','S','P','/','S',
'P',#000,'E','_','A','b','s','t','r','a','c','t',' ','m','e',
't','h','o','d','s',' ','c','a','n',#039,'t',' ','b','e',' ',
'c','a','l','l','e','d',' ','d','i','r','e','c','t','l','y',
#000,'F','_','I','n','t','e','r','n','a','l',' ','E','r','r',
'o','r',' ','i','n',' ','g','e','t','f','l','o','a','t','r',
'e','g','(',')',',',' ','a','l','l','o','c','a','t','i','o',
'n',' ','f','a','i','l','u','r','e',#000,'F','_','U','n','k',
'n','o','w','n',' ','f','l','o','a','t',' ','t','y','p','e',
#000,'F','_','S','e','c','o','n','d','V','e','c','n','(',')',
' ','b','a','s','e',' ','d','e','f','i','n','e','d',' ','t',
'w','i','c','e',#000,'F','_','E','x','t','e','n','d','e','d',
' ','c','g','6','8','k',' ','n','o','t',' ','s','u','p','p',
'o','r','t','e','d',#000,'F','_','3','2','-','b','i','t',' ',
'u','n','s','i','g','n','e','d',' ','n','o','t',' ','s','u',
'p','p','o','r','t','e','d',' ','i','n',' ','M','C','6','8',
'0','0','0',' ','m','o','d','e',#000,'F','_','I','n','t','e',
'r','n','a','l',' ','E','r','r','o','r',' ','i','n',' ','s',
'e','c','o','n','d','i','n','l','i','n','e','(',')',#000,'D',
'_','R','e','g','i','s','t','e','r',' ','$','1',' ','w','e',
'i','g','h','t',' ','$','2',' ','$','3',#000,'E','_','S','t',
'a','c','k',' ','l','i','m','i','t',' ','e','x','c','e','d',
'e','e','d',' ','i','n',' ','l','o','c','a','l',' ','r','o',
'u','t','i','n','e',#000,'D','_','S','t','a','c','k',' ','f',
'r','a','m','e',' ','i','s',' ','o','m','i','t','e','d',#000,
'F','_','D','i','v','i','d','e',' ','b','y',' ','z','e','r',
'o',' ','i','n',' ','a','s','m',' ','e','v','a','l','u','a',
't','o','r',#000,'F','_','E','v','a','l','u','a','t','o','r',
' ','s','t','a','c','k',' ','o','v','e','r','f','l','o','w',
#000,'F','_','E','v','a','l','u','a','t','o','r',' ','s','t',
'a','c','k',' ','o','v','e','r','f','l','o','w',#000,'F','_',
'E','v','a','l','u','a','t','o','r',' ','s','t','a','c','k',
' ','u','n','d','e','r','f','l','o','w',#000,'F','_','I','n',
'v','a','l','i','d',' ','n','u','m','e','r','i','c',' ','f',
'o','r','m','a','t',' ','i','n',' ','a','s','m',' ','e','v',
'a','l','u','a','t','o','r',#000,'F','_','I','n','v','a','l',
'i','d',' ','O','p','e','r','a','t','o','r',' ','i','n',' ',
'a','s','m',' ','e','v','a','l','u','a','t','o','r',#000,'F',
'_','U','n','k','n','o','w','n',' ','e','r','r','o','r',' ',
'a','c','k',' ','u','n','d','e','r','f','l','o','w',#000,'F',
'_','I','n','v','a','l','i','d',' ','n','u','m','e','r','i',
'c',' ','f','o','r','m','a','t',' ','i','n',' ','a','s','m',
' ','e','v','a','l','u','a','t','o','r',#000,'F','_','I','n',
'v','a','l','i','d',' ','O','p','e','r','a','t','o','r',' ',
'i','n',' ','a','s','m',' ','e','v','a','l','u','a','t','o',
'r',#000,'W','_','I','n','v','a','l','i','d',' ','n','u','m',
'e','r','i','c',' ','v','a','l','u','e',#000,'E','_','e','s',
'c','a','p','e',' ','s','e','q','u','e','n','c','e',' ','i',
'g','n','o','r','e','d',':',' ','$','1',#000,'E','_','A','s',
'm',' ','s','y','n','t','a','x',' ','e','r','r','o','r',' ',
'-',' ','P','r','e','f','i','x',' ','n','o','t',' ','f','o',
'u','n','d',#000,'E','_','A','s','m',' ','s','y','n','t','a',
'x',' ','e','r','r','o','r',' ','-',' ','T','r','y','i','n',
'g',' ','t','o',' ','a','d','d',' ','m','o','r','e',' ','t',
'h','a','n',' ','o','n','e',' ','p','r','e','f','i','x',#000,
'E','_','A','s','m',' ','s','y','n','t','a','x',' ','e','r',
'r','o','r',' ','-',' ','O','p','c','o','d','e',' ','n','o',
't',' ','f','o','u','n','d',#000,'E','_','I','n','v','a','l',
'i','d',' ','s','y','m','b','o','l',' ','r','e','f','e','r',
'e','n','c','e',#000,'W','_','C','a','l','l','i','n','g',' ',
'a','n',' ','o','v','e','r','l','o','a','d',' ','f','u','n',
'c','t','i','o','n',' ','i','n',' ','a','n',' ','a','s','m',
#000,'E','_','C','o','n','s','t','a','n','t',' ','v','a','l',
'u','e',' ','o','u','t',' ','o','f',' ','b','o','u','n','d',
's',#000,'E','_','N','o','n','-','l','a','b','e','l',' ','p',
'a','t','t','e','r','n',' ','c','o','n','t','a','i','n','s',
' ','@',#000,'E','_','I','n','v','a','l','i','d',' ','O','p',
'e','r','a','n','d',':',' ','$','1',#000,'W','_','O','v','e',
'r','r','i','d','e',' ','o','p','e','r','a','t','o','r',' ',
'n','o','t',' ','s','u','p','p','o','r','t','e','d',#000,'E',
'_','E','r','r','o','r',' ','i','n',' ','b','i','n','a','r',
'y',' ','c','o','n','s','t','a','n','t',':',' ','$','1',#000,
'E','_','E','r','r','o','r',' ','i','n',' ','o','c','t','a',
'l',' ','c','o','n','s','t','a','n','t',':',' ','$','1',#000,
'E','_','E','r','r','o','r',' ','i','n',' ','h','e','x','a',
'd','e','c','i','m','a','l',' ','c','o','n','s','t','a','n',
't',':',' ','$','1',#000,'E','_','E','r','r','o','r',' ','i',
'n',' ','i','n','t','e','g','e','r',' ','c','o','n','s','t',
'a','n','t',':',' ','$','1',#000,'E','_','I','n','v','a','l',
'i','d',' ','l','a','b','e','l','e','d',' ','o','p','c','o',
'd','e',#000,'F','_','I','n','t','e','r','n','a','l',' ','e',
'r','r','o','r',' ','i','n',' ','F','i','n','d','t','y','p',
'e','(',')',#000,'E','_','I','n','v','a','l','i','d',' ','s',
'i','z','e',' ','f','o','r',' ','M','O','V','S','X','/','M',
'O','V','Z','X',#000,'E','_','1','6','-','b','i','t',' ','b',
'a','s','e',' ','i','n',' ','3','2','-','b','i','t',' ','s',
'e','g','m','e','n','t',#000,'E','_','1','6','-','b','i','t',
' ','i','n','d','e','x',' ','i','n',' ','3','2','-','b','i',
't',' ','s','e','g','m','e','n','t',#000,'E','_','I','n','v',
'a','l','i','d',' ','O','p','c','o','d','e',#000,'E','_','C',
'o','n','s','t','a','n','t',' ','r','e','f','e','r','e','n',
'c','e',' ','n','o','t',' ','a','l','l','o','w','e','d',#000,
'W','_','F','w','a','i','t',' ','c','a','n',' ','c','a','u',
's','e',' ','e','m','u','l','a','t','i','o','n',' ','p','r',
'o','b','l','e','m','s',' ','w','i','t','h',' ','e','m','u',
'3','8','7',#000,'E','_','I','n','v','a','l','i','d',' ','c',
'o','m','b','i','n','a','t','i','o','n',' ','o','f',' ','o',
'p','c','o','d','e',' ','a','n','d',' ','o','p','e','r','a',
'n','d','s',#000,'W','_','O','p','c','o','d','e',' ','$','1',
' ','n','o','t',' ','i','n',' ','t','a','b','l','e',',',' ',
'o','p','e','r','a','n','d','s',' ','n','o','t',' ','c','h',
'e','c','k','e','d',#000,'F','_','I','n','t','e','r','n','a',
'l',' ','E','r','r','o','r',' ','i','n',' ','C','o','n','c',
'a','t','O','p','c','o','d','e','(',')',#000,'E','_','I','n',
'v','a','l','i','d',' ','s','i','z','e',' ','i','n',' ','r',
'e','f','e','r','e','n','c','e',#000,'E','_','I','n','v','a',
'l','i','d',' ','m','i','d','d','l','e',' ','s','i','z','e',
'd',' ','o','p','e','r','a','n','d',#000,'E','_','I','n','v',
'a','l','i','d',' ','t','h','r','e','e',' ','o','p','e','r',
'a','n','d',' ','o','p','c','o','d','e',#000,'E','_','A','s',
's','e','m','b','l','e','r',' ','s','y','n','t','a','x',' ',
'e','r','r','o','r',#000,'E','_','I','n','v','a','l','i','d',
' ','o','p','e','r','a','n','d',' ','t','y','p','e',#000,'E',
'_','S','e','g','m','e','n','t',' ','o','v','e','r','r','i',
'd','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',
'e','d',#000,'E','_','I','n','v','a','l','i','d',' ','c','o',
'n','s','t','a','n','t',' ','s','y','m','b','o','l',' ','$',
'1',#000,'F','_','I','n','t','e','r','n','a','l',' ','E','r',
'r','r','o','r',' ','c','o','n','v','e','r','t','i','n','g',
' ','b','i','n','a','r','y',#000,'F','_','I','n','t','e','r',
'n','a','l',' ','E','r','r','r','o','r',' ','c','o','n','v',
'e','r','t','i','n','g',' ','h','e','x','a','d','e','c','i',
'm','a','l',#000,'F','_','I','n','t','e','r','n','a','l',' ',
'E','r','r','r','o','r',' ','c','o','n','v','e','r','t','i',
'n','g',' ','o','c','t','a','l',#000,'E','_','I','n','v','a',
'l','i','d',' ','c','o','n','s','t','a','n','t',' ','e','x',
'p','r','e','s','s','i','o','n',#000,'E','_','U','n','k','n',
'o','w','n',' ','i','d','e','n','t','i','f','i','e','r',':',
' ','$','1',#000,'E','_','T','r','y','i','n','g',' ','t','o',
' ','d','e','f','i','n','e',' ','a','n',' ','i','n','d','e',
'x',' ','r','e','g','i','s','t','e','r',' ','m','o','r','e',
' ','t','h','a','n',' ','o','n','c','e',#000,'E','_','I','n',
'v','a','l','i','d',' ','f','i','e','l','d',' ','s','p','e',
'c','i','f','i','e','r',#000,'F','_','I','n','t','e','r','n',
'a','l',' ','E','r','r','o','r',' ','i','n',' ','B','u','i',
'l','d','S','c','a','l','i','n','g','(',')',#000,'E','_','I',
'n','v','a','l','i','d',' ','s','c','a','l','i','n','g',' ',
'f','a','c','t','o','r',#000,'E','_','I','n','v','a','l','i',
'd',' ','s','c','a','l','i','n','g',' ','v','a','l','u','e',
#000,'E','_','S','c','a','l','i','n','g',' ','v','a','l','u',
'e',' ','o','n','l','y',' ','a','l','l','o','w','e','d',' ',
'w','i','t','h',' ','i','n','d','e','x',#000,'E','_','I','n',
'v','a','l','i','d',' ','a','s','s','e','m','b','l','e','r',
' ','s','y','n','t','a','x','.',' ','N','o',' ','r','e','f',
' ','w','i','t','h',' ','b','r','a','c','k','e','t','s',')',
#000,'E','_','E','x','p','r','e','s','s','i','o','n','s',' ',
'o','f',' ','t','h','e',' ','f','o','r','m',' ','[','s','r',
'e','g',':','r','e','g','.','.','.',']',' ','a','r','e',' ',
'c','u','r','r','e','n','t','l','y',' ','n','o','t',' ','s',
'u','p','p','o','r','t','e','d',#000,'E','_','T','r','y','i',
'n','g',' ','t','o',' ','d','e','f','i','n','e',' ','a',' ',
's','e','g','m','e','n','t',' ','r','e','g','i','s','t','e',
'r',' ','t','w','i','c','e',#000,'E','_','T','r','y','i','n',
'g',' ','t','o',' ','d','e','f','i','n','e',' ','a',' ','b',
'a','s','e',' ','r','e','g','i','s','t','e','r',' ','t','w',
'i','c','e',#000,'E','_','T','r','y','i','n','g',' ','t','o',
' ','u','s','e',' ','a',' ','n','e','g','a','t','i','v','e',
' ','i','n','d','e','x',' ','r','e','g','i','s','t','e','r',
#000,'E','_','A','s','m',' ','s','y','n','t','a','x',' ','e',
'r','r','o','r',' ','-',' ','e','r','r','o','r',' ','i','n',
' ','r','e','f','e','r','e','n','c','e',#000,'E','_','L','o',
'c','a','l',' ','s','y','m','b','o','l','s',' ','n','o','t',
' ','a','l','l','o','w','e','d',' ','a','s',' ','r','e','f',
'e','r','e','n','c','e','s',#000,'E','_','I','n','v','a','l',
'i','d',' ','o','p','e','r','a','n','d',' ','i','n',' ','b',
'r','a','c','k','e','t',' ','e','x','p','r','e','s','s','i',
'o','n',#000,'E','_','I','n','v','a','l','i','d',' ','s','y',
'm','b','o','l',' ','n','a','m','e',':',' ','$','1',#000,'E',
'_','I','n','v','a','l','i','d',' ','R','e','f','e','r','e',
'n','c','e',' ','s','y','n','t','a','x',#000,'E','_','I','n',
'v','a','l','i','d',' ','s','t','r','i','n','g',' ','a','s',
' ','o','p','c','o','d','e',' ','o','p','e','r','a','n','d',
':',' ','$','1',#000,'W','_','@','C','O','D','E',' ','a','n',
'd',' ','@','D','A','T','A',' ','n','o','t',' ','s','u','p',
'p','o','r','t','e','d',#000,'E','_','N','u','l','l',' ','l',
'a','b','e','l',' ','r','e','f','e','r','e','n','c','e','s',
' ','a','r','e',' ','n','o','t',' ','a','l','l','o','w','e',
'd',#000,'E','_','C','a','n','n','o','t',' ','u','s','e',' ',
'S','E','L','F',' ','o','u','t','s','i','d','e',' ','a',' ',
'm','e','t','h','o','d',#000,'E','_','A','s','m',' ','s','y',
'n','t','a','x',' ','e','r','r','o','r',' ','-',' ','S','h',
'o','u','l','d',' ','s','t','a','r','t',' ','w','i','t','h',
' ','b','r','a','c','k','e','t',#000,'E','_','A','s','m',' ',
's','y','n','t','a','x',' ','e','r','r','o','r',' ','-',' ',
'r','e','g','i','s','t','e','r',':',' ','$','1',#000,'E','_',
'S','E','G',' ','a','n','d',' ','O','F','F','S','E','T',' ',
'n','o','t',' ','s','u','p','p','o','r','t','e','d',#000,'E',
'r',#000,'F','_','U','n','k','n','o','w','n',' ','e','r','r',
'o','r',' ','i','n',' ','a','s','m',' ','e','v','a','l','u',
'a','t','o','r',#000,'W','_','I','n','v','a','l','i','d',' ',
'n','u','m','e','r','i','c',' ','v','a','l','u','e',#000,'E',
'_','e','s','c','a','p','e',' ','s','e','q','u','e','n','c',
'e',' ','i','g','n','o','r','e','d',':',' ','$','1',#000,'E',
'_','A','s','m',' ','s','y','n','t','a','x',' ','e','r','r',
'o','r',' ','-',' ','i','n',' ','o','p','c','o','d','e',' ',
'o','p','e','r','a','n','d',#000,'E','_','I','n','v','a','l',
'i','d',' ','S','t','r','i','n','g',' ','e','x','p','r','e',
's','s','i','o','n',#000,'E','_','C','o','n','s','t','a','n',
't',' ','e','x','p','r','e','s','s','i','o','n',' ','o','u',
't',' ','o','f',' ','b','o','u','n','d','s',#000,'F','_','I',
'n','t','e','r','n','a','l',' ','E','r','r','o','r',' ','i',
'n',' ','B','u','i','l','d','C','o','n','s','t','a','n','t',
'(',')',#000,'W','_','A',' ','r','e','p','e','a','t',' ','p',
'r','e','f','i','x',' ','a','n','d',' ','a',' ','s','e','g',
'm','e','n','t',' ','o','v','e','r','r','i','d','e',' ','o',
'n',' ','<','=',' ','i','3','8','6',' ','m','a','y',' ','r',
'e','s','u','l','t',' ','i','n',' ','e','r','r','o','r','s',
' ','i','f',' ','a','n',' ','i','n','t','e','r','r','u','p',
't',' ','o','c','c','u','r','s',#000,'E','_','I','n','v','a',
'l','i','d',' ','o','r',' ','m','i','s','s','i','n','g',' ',
'o','p','c','o','d','e',#000,'E','_','I','n','v','a','l','i',
'o','r',' ','-',' ','P','r','e','f','i','x',' ','n','o','t',
' ','f','o','u','n','d',#000,'E','_','A','s','m',' ','s','y',
'n','t','a','x',' ','e','r','r','o','r',' ','-',' ','T','r',
'y','i','n','g',' ','t','o',' ','a','d','d',' ','m','o','r',
'e',' ','t','h','a','n',' ','o','n','e',' ','p','r','e','f',
'i','x',#000,'E','_','A','s','m',' ','s','y','n','t','a','x',
' ','e','r','r','o','r',' ','-',' ','O','p','c','o','d','e',
' ','n','o','t',' ','f','o','u','n','d',#000,'E','_','I','n',
'v','a','l','i','d',' ','s','y','m','b','o','l',' ','r','e',
'f','e','r','e','n','c','e',#000,'W','_','C','a','l','l','i',
'n','g',' ','a','n',' ','o','v','e','r','l','o','a','d',' ',
'f','u','n','c','t','i','o','n',' ','i','n',' ','a','n',' ',
'a','s','m',#000,'E','_','C','o','n','s','t','a','n','t',' ',
'v','a','l','u','e',' ','o','u','t',' ','o','f',' ','b','o',
'u','n','d','s',#000,'E','_','N','o','n','-','l','a','b','e',
'l',' ','p','a','t','t','e','r','n',' ','c','o','n','t','a',
'i','n','s',' ','@',#000,'E','_','I','n','v','a','l','i','d',
' ','O','p','e','r','a','n','d',':',' ','$','1',#000,'W','_',
'O','v','e','r','r','i','d','e',' ','o','p','e','r','a','t',
'o','r',' ','n','o','t',' ','s','u','p','p','o','r','t','e',
'd',#000,'E','_','E','r','r','o','r',' ','i','n',' ','b','i',
'n','a','r','y',' ','c','o','n','s','t','a','n','t',':',' ',
'$','1',#000,'E','_','E','r','r','o','r',' ','i','n',' ','o',
'c','t','a','l',' ','c','o','n','s','t','a','n','t',':',' ',
'$','1',#000,'E','_','E','r','r','o','r',' ','i','n',' ','h',
'e','x','a','d','e','c','i','m','a','l',' ','c','o','n','s',
't','a','n','t',':',' ','$','1',#000,'E','_','E','r','r','o',
'r',' ','i','n',' ','i','n','t','e','g','e','r',' ','c','o',
'n','s','t','a','n','t',':',' ','$','1',#000,'E','_','I','n',
'v','a','l','i','d',' ','l','a','b','e','l','e','d',' ','o',
'p','c','o','d','e',#000,'F','_','I','n','t','e','r','n','a',
'l',' ','e','r','r','o','r',' ','i','n',' ','F','i','n','d',
't','y','p','e','(',')',#000,'E','_','I','n','v','a','l','i',
'd',' ','s','i','z','e',' ','f','o','r',' ','M','O','V','S',
'X','/','M','O','V','Z','X',#000,'E','_','1','6','-','b','i',
't',' ','b','a','s','e',' ','i','n',' ','3','2','-','b','i',
't',' ','s','e','g','m','e','n','t',#000,'E','_','1','6','-',
'b','i','t',' ','i','n','d','e','x',' ','i','n',' ','3','2',
'-','b','i','t',' ','s','e','g','m','e','n','t',#000,'E','_',
'I','n','v','a','l','i','d',' ','O','p','c','o','d','e',#000,
'E','_','C','o','n','s','t','a','n','t',' ','r','e','f','e',
'r','e','n','c','e',' ','n','o','t',' ','a','l','l','o','w',
'e','d',#000,'W','_','F','w','a','i','t',' ','c','a','n',' ',
'c','a','u','s','e',' ','e','m','u','l','a','t','i','o','n',
' ','p','r','o','b','l','e','m','s',' ','w','i','t','h',' ',
'e','m','u','3','8','7',#000,'E','_','I','n','v','a','l','i',
'd',' ','c','o','m','b','i','n','a','t','i','o','n',' ','o',
'f',' ','p','r','e','f','i','x',' ','a','n','d',' ','o','p',
'c','o','d','e',':',' ','$','1',#000,'E','_','I','n','v','a',
'l','i','d',' ','c','o','m','b','i','n','a','t','i','o','n',
' ','o','f',' ','o','v','e','r','r','i','d','e',' ','a','n',
'd',' ','o','p','c','o','d','e',':',' ','$','1',#000,'E','_',
'T','o','o',' ','m','a','n','y',' ','o','p','e','r','a','n',
'd','s',' ','o','n',' ','l','i','n','e',#000,'E','_','D','u',
'p','l','i','c','a','t','e',' ','l','o','c','a','l',' ','s',
'y','m','b','o','l',':',' ','$','1',#000,'E','_','U','n','k',
'n','o','w','n',' ','l','a','b','e','l',' ','i','d','e','n',
't','i','f','e','r',':',' ','$','1',#000,'E','_','A','s','s',
'e','m','b','l','e',' ','n','o','d','e',' ','s','y','n','t',
'a','x',' ','e','r','r','o','r',#000,'E','_','U','n','d','e',
'f','i','n','e','d',' ','l','o','c','a','l',' ','s','y','m',
'b','o','l',':',' ','$','1',#000,'D','_','S','t','a','r','t',
'i','n','g',' ','i','n','t','e','l',' ','s','t','y','l','e',
'd',' ','a','s','s','e','m','b','l','e','r',' ','p','a','r',
's','i','n','g','.','.','.',#000,'D','_','F','i','n','i','s',
'h','e','d',' ','i','n','t','e','l',' ','s','t','y','l','e',
'd',' ','a','s','s','e','m','b','l','e','r',' ','p','a','r',
's','i','n','g','.','.','.',#000,'E','_','N','o','t',' ','a',
' ','d','i','r','e','c','t','i','v','e',' ','o','r',' ','l',
'o','c','a','l',' ','s','y','m','b','o','l',':',' ','$','1',
#000,'E','_','/',' ','a','t',' ','b','e','g','i','n','n','i',
'n','g',' ','o','f',' ','l','i','n','e',' ','n','o','t',' ',
'a','l','l','o','w','e','d',#000,'E','_','N','O','R',' ','n',
'o','t',' ','s','u','p','p','o','r','t','e','d',#000,'E','_',
'I','n','v','a','l','i','d',' ','f','l','o','a','t','i','n',
'g',' ','p','o','i','n','t',' ','r','e','g','i','s','t','e',
'r',' ','n','a','m','e',#000,'W','_','M','o','d','u','l','o',
' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',#000,
'E','_','I','n','v','a','l','i','d',' ','f','l','o','a','t',
'i','n','g',' ','p','o','i','n','t',' ','c','o','n','s','t',
'a','n','t',':',' ','$','1',#000,'E','_','S','i','z','e',' ',
's','u','f','f','i','x',' ','a','n','d',' ','d','e','s','t',
'i','n','a','t','i','o','n',' ','r','e','g','i','s','t','e',
'r',' ','d','o',' ','n','o','t',' ','m','a','t','c','h',#000,
'E','_','I','n','t','e','r','n','a','l',' ','e','r','r','o',
'r',' ','i','n',' ','C','o','n','c','a','t','L','a','b','e',
'l','e','d','I','n','s','t','r','(',')',#000,'W','_','F','l',
'o','a','t','i','n','g',' ','p','o','i','n','t',' ','b','i',
'n','a','r','y',' ','r','e','p','r','e','s','e','n','t','a',
't','i','o','n',' ','i','g','n','o','r','e','d',#000,'W','_',
'F','l','o','a','t','i','n','g',' ','p','o','i','n','t',' ',
'h','e','x','a','d','e','c','i','m','a','l',' ','r','e','p',
'r','e','s','e','n','t','a','t','i','o','n',' ','i','g','n',
'o','r','e','d',#000,'W','_','F','l','o','a','t','i','n','g',
' ','p','o','i','n','t',' ','o','c','t','a','l',' ','r','e',
'p','r','e','s','e','n','t','a','t','i','o','n',' ','i','g',
'n','o','r','e','d',#000,'E','_','I','n','v','a','l','i','d',
' ','r','e','a','l',' ','c','o','n','s','t','a','n','t',' ',
'e','x','p','r','e','s','s','i','o','n',#000,'E','_','P','a',
'r','e','n','t','h','e','s','i','s',' ','a','r','e',' ','n',
'o','t',' ','a','l','l','o','w','e','d',#000,'E','_','I','n',
'v','a','l','i','d',' ','R','e','f','e','r','e','n','c','e',
#000,'E','_','C','a','n','n','o','t',' ','u','s','e',' ','_',
'_','S','E','L','F',' ','o','u','t','s','i','d','e',' ','a',
' ','m','e','t','h','o','d',#000,'E','_','C','a','n','n','o',
't',' ','u','s','e',' ','_','_','O','L','D','E','B','P',' ',
'o','u','t','s','i','d','e',' ','a',' ','n','e','s','t','e',
'd',' ','p','r','o','c','e','d','u','r','e',#000,'W','_','I',
'd','e','n','t','i','f','i','e','r',' ','$','1',' ','s','u',
'p','p','o','s','e','d',' ','e','x','t','e','r','n','a','l',
#000,'E','_','I','n','v','a','l','i','d',' ','s','e','g','m',
'e','n','t',' ','o','v','e','r','r','i','d','e',' ','e','x',
'p','r','e','s','s','i','o','n',#000,'E','_','S','t','r','i',
'n','g','s',' ','n','o','t',' ','a','l','l','o','w','e','d',
' ','a','s',' ','c','o','n','s','t','a','n','t','s',#000,'D',
'_','S','t','a','r','t','i','n','g',' ','A','T','&','T',' ',
's','t','y','l','e','d',' ','a','s','s','e','m','b','l','e',
'r',' ','p','a','r','s','i','n','g','.','.','.',#000,'D','_',
'F','i','n','i','s','h','e','d',' ','A','T','&','T',' ','s',
't','y','l','e','d',' ','a','s','s','e','m','b','l','e','r',
' ','p','a','r','s','i','n','g','.','.','.',#000,'E','_','S',
'w','i','t','c','h','i','n','g',' ','s','e','c','t','i','o',
'n','s',' ','i','s',' ','n','o','t',' ','a','l','l','o','w',
'e','d',' ','i','n',' ','a','n',' ','a','s','s','e','m','b',
'l','e','r',' ','b','l','o','c','k',#000,'E','_','I','n','v',
'a','l','i','d',' ','g','l','o','b','a','l',' ','d','e','f',
'i','n','i','t','i','o','n',#000,'E','_','L','i','n','e',' ',
's','e','p','a','r','a','t','o','r',' ','e','x','p','e','c',
't','e','d',#000,'W','_','g','l','o','b','l',' ','n','o','t',
' ','s','u','p','p','o','r','t','e','d',#000,'W','_','a','l',
'i','g','n',' ','n','o','t',' ','s','u','p','p','o','r','t',
'e','d',#000,'W','_','l','c','o','m','m',' ','n','o','t',' ',
's','u','p','p','o','r','t','e','d',#000,'W','_','c','o','m',
'm',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',
#000,'E','_','I','n','v','a','l','i','d',' ','l','o','c','a',
'l',' ','c','o','m','m','o','n',' ','d','e','f','i','n','i',
't','i','o','n',#000,'E','_','I','n','v','a','l','i','d',' ',
'g','l','o','b','a','l',' ','c','o','m','m','o','n',' ','d',
'e','f','i','n','i','t','i','o','n',#000,'E','_','l','o','c',
'a','l',' ','s','y','m','b','o','l',':',' ','$','1',' ','n',
'o','t',' ','f','o','u','n','d',' ','i','n','s','i','d','e',
' ','a','s','m',' ','s','t','a','t','e','m','e','n','t',#000,
'E','_','a','s','s','e','m','b','l','e','r',' ','c','o','d',
'e',' ','n','o','t',' ','r','e','t','u','r','n','e','d',' ',
't','o',' ','t','e','x','t',#000,'F','_','i','n','t','e','r',
'n','a','l',' ','e','r','r','o','r',' ','i','n',' ','B','u',
'i','l','d','R','e','f','e','r','e','n','c','e','(',')',#000,
'E','_','i','n','v','a','l','i','d',' ','o','p','c','o','d',
'e',' ','s','i','z','e',#000,'W','_','N','E','A','R',' ','i',
'g','n','o','r','e','d',#000,'W','_','F','A','R',' ','i','g',
'n','o','r','e','d',#000,'D','_','C','r','e','a','t','i','n',
'g',' ','i','n','l','i','n','e',' ','a','s','m',' ','l','o',
'o','k','u','p',' ','t','a','b','l','e','s',#000,'W','_','U',
's','i','n','g',' ','a',' ','d','e','f','i','n','e','d',' ',
'n','a','m','e',' ','a','s',' ','a',' ','l','o','c','a','l',
' ','l','a','b','e','l',#000,'F','_','i','n','t','e','r','n',
'a','l',' ','e','r','r','o','r',' ','i','n',' ','H','a','n',
'd','l','e','E','x','t','e','n','d','(',')',#000,'E','_','I',
'n','v','a','l','i','d',' ','c','h','a','r','a','c','t','e',
'r',':',' ','<',#000,'E','_','I','n','v','a','l','i','d',' ',
'c','h','a','r','a','c','t','e','r',':',' ','>',#000,'E','_',
'U','n','s','u','p','p','o','r','t','e','d',' ','o','p','c',
'o','d','e',#000,'E','_','I','n','c','r','e','m','e','n','t',
' ','a','n','d',' ','D','e','c','r','e','m','e','n','t',' ',
'm','o','d','e',' ','n','o','t',' ','a','l','l','o','w','e',
'd',' ','t','o','g','e','t','h','e','r',#000,'E','_','I','n',
'v','a','l','i','d',' ','R','e','g','i','s','t','e','r',' ',
'l','i','s','t',' ','i','n',' ','m','o','v','e','m','/','f',
'm','o','v','e','m',#000,'E','_','I','n','v','a','l','i','d',
' ','R','e','g','i','s','t','e','r',' ','l','i','s','t',' ',
'f','o','r',' ','o','p','c','o','d','e',#000,'E','_','6','8',
'0','2','0','+',' ','m','o','d','e',' ','r','e','q','u','i',
'r','e','d',' ','t','o',' ','a','s','s','e','m','b','l','e',
#000,'D','_','S','t','a','r','t','i','n','g',' ','M','o','t',
'o','r','o','l','a',' ','s','t','y','l','e','d',' ','a','s',
's','e','m','b','l','e','r',' ','p','a','r','s','i','n','g',
'.','.','.',#000,'D','_','F','i','n','i','s','h','e','d',' ',
'f',' ','o','p','c','o','d','e',' ','a','n','d',' ','o','p',
'e','r','a','n','d','s',#000,'W','_','O','p','c','o','d','e',
' ','$','1',' ','n','o','t',' ','i','n',' ','t','a','b','l',
'e',',',' ','o','p','e','r','a','n','d','s',' ','n','o','t',
' ','c','h','e','c','k','e','d',#000,'F','_','I','n','t','e',
'r','n','a','l',' ','E','r','r','o','r',' ','i','n',' ','C',
'o','n','c','a','t','O','p','c','o','d','e','(',')',#000,'E',
'_','I','n','v','a','l','i','d',' ','s','i','z','e',' ','i',
'n',' ','r','e','f','e','r','e','n','c','e',#000,'E','_','I',
'n','v','a','l','i','d',' ','m','i','d','d','l','e',' ','s',
'i','z','e','d',' ','o','p','e','r','a','n','d',#000,'E','_',
'I','n','v','a','l','i','d',' ','t','h','r','e','e',' ','o',
'p','e','r','a','n','d',' ','o','p','c','o','d','e',#000,'E',
'_','A','s','s','e','m','b','l','e','r',' ','s','y','n','t',
'a','x',' ','e','r','r','o','r',#000,'E','_','I','n','v','a',
'l','i','d',' ','o','p','e','r','a','n','d',' ','t','y','p',
'e',#000,'E','_','S','e','g','m','e','n','t',' ','o','v','e',
'r','r','i','d','e','s',' ','n','o','t',' ','s','u','p','p',
'o','r','t','e','d',#000,'E','_','I','n','v','a','l','i','d',
' ','c','o','n','s','t','a','n','t',' ','s','y','m','b','o',
'l',' ','$','1',#000,'F','_','I','n','t','e','r','n','a','l',
' ','E','r','r','r','o','r',' ','c','o','n','v','e','r','t',
'i','n','g',' ','b','i','n','a','r','y',#000,'F','_','I','n',
't','e','r','n','a','l',' ','E','r','r','r','o','r',' ','c',
'o','n','v','e','r','t','i','n','g',' ','h','e','x','a','d',
'e','c','i','m','a','l',#000,'F','_','I','n','t','e','r','n',
'a','l',' ','E','r','r','r','o','r',' ','c','o','n','v','e',
'r','t','i','n','g',' ','o','c','t','a','l',#000,'E','_','I',
'n','v','a','l','i','d',' ','c','o','n','s','t','a','n','t',
' ','e','x','p','r','e','s','s','i','o','n',#000,'E','_','U',
'n','k','n','o','w','n',' ','i','d','e','n','t','i','f','i',
'e','r',':',' ','$','1',#000,'E','_','T','r','y','i','n','g',
' ','t','o',' ','d','e','f','i','n','e',' ','a','n',' ','i',
'n','d','e','x',' ','r','e','g','i','s','t','e','r',' ','m',
'o','r','e',' ','t','h','a','n',' ','o','n','c','e',#000,'E',
'_','I','n','v','a','l','i','d',' ','f','i','e','l','d',' ',
's','p','e','c','i','f','i','e','r',#000,'F','_','I','n','t',
'e','r','n','a','l',' ','E','r','r','o','r',' ','i','n',' ',
'B','u','i','l','d','S','c','a','l','i','n','g','(',')',#000,
'E','_','I','n','v','a','l','i','d',' ','s','c','a','l','i',
'n','g',' ','f','a','c','t','o','r',#000,'E','_','I','n','v',
'a','l','i','d',' ','s','c','a','l','i','n','g',' ','v','a',
'l','u','e',#000,'E','_','S','c','a','l','i','n','g',' ','v',
'a','l','u','e',' ','o','n','l','y',' ','a','l','l','o','w',
'e','d',' ','w','i','t','h',' ','i','n','d','e','x',#000,'E',
'_','I','n','v','a','l','i','d',' ','a','s','s','e','m','b',
'l','e','r',' ','s','y','n','t','a','x','.',' ','N','o',' ',
'r','e','f',' ','w','i','t','h',' ','b','r','a','c','k','e',
't','s',')',#000,'E','_','E','x','p','r','e','s','s','i','o',
'n','s',' ','o','f',' ','t','h','e',' ','f','o','r','m',' ',
'[','s','r','e','g',':','r','e','g','.','.','.',']',' ','a',
'r','e',' ','c','u','r','r','e','n','t','l','y',' ','n','o',
't',' ','s','u','p','p','o','r','t','e','d',#000,'E','_','T',
'r','y','i','n','g',' ','t','o',' ','d','e','f','i','n','e',
' ','a',' ','s','e','g','m','e','n','t',' ','r','e','g','i',
's','t','e','r',' ','t','w','i','c','e',#000,'E','_','T','r',
'y','i','n','g',' ','t','o',' ','d','e','f','i','n','e',' ',
'a',' ','b','a','s','e',' ','r','e','g','i','s','t','e','r',
' ','t','w','i','c','e',#000,'E','_','T','r','y','i','n','g',
' ','t','o',' ','u','s','e',' ','a',' ','n','e','g','a','t',
'i','v','e',' ','i','n','d','e','x',' ','r','e','g','i','s',
't','e','r',#000,'E','_','A','s','m',' ','s','y','n','t','a',
'x',' ','e','r','r','o','r',' ','-',' ','e','r','r','o','r',
' ','i','n',' ','r','e','f','e','r','e','n','c','e',#000,'E',
'_','L','o','c','a','l',' ','s','y','m','b','o','l','s',' ',
'n','o','t',' ','a','l','l','o','w','e','d',' ','a','s',' ',
'r','e','f','e','r','e','n','c','e','s',#000,'E','_','I','n',
'v','a','l','i','d',' ','o','p','e','r','a','n','d',' ','i',
'n',' ','b','r','a','c','k','e','t',' ','e','x','p','r','e',
's','s','i','o','n',#000,'E','_','I','n','v','a','l','i','d',
' ','s','y','m','b','o','l',' ','n','a','m','e',':',' ','$',
'1',#000,'E','_','I','n','v','a','l','i','d',' ','R','e','f',
'e','r','e','n','c','e',' ','s','y','n','t','a','x',#000,'E',
'_','I','n','v','a','l','i','d',' ','s','t','r','i','n','g',
' ','a','s',' ','o','p','c','o','d','e',' ','o','p','e','r',
'a','n','d',':',' ','$','1',#000,'W','_','@','C','O','D','E',
' ','a','n','d',' ','@','D','A','T','A',' ','n','o','t',' ',
's','u','p','p','o','r','t','e','d',#000,'E','_','N','u','l',
'l',' ','l','a','b','e','l',' ','r','e','f','e','r','e','n',
'c','e','s',' ','a','r','e',' ','n','o','t',' ','a','l','l',
'o','w','e','d',#000,'E','_','C','a','n','n','o','t',' ','u',
's','e',' ','S','E','L','F',' ','o','u','t','s','i','d','e',
' ','a',' ','m','e','t','h','o','d',#000,'E','_','A','s','m',
' ','s','y','n','t','a','x',' ','e','r','r','o','r',' ','-',
' ','S','h','o','u','l','d',' ','s','t','a','r','t',' ','w',
'i','t','h',' ','b','r','a','c','k','e','t',#000,'E','_','A',
's','m',' ','s','y','n','t','a','x',' ','e','r','r','o','r',
' ','-',' ','r','e','g','i','s','t','e','r',':',' ','$','1',
#000,'E','_','S','E','G',' ','a','n','d',' ','O','F','F','S',
'E','T',' ','n','o','t',' ','s','u','p','p','o','r','t','e',
'd',#000,'E','_','A','s','m',' ','s','y','n','t','a','x',' ',
'e','r','r','o','r',' ','-',' ','i','n',' ','o','p','c','o',
'd','e',' ','o','p','e','r','a','n','d',#000,'E','_','I','n',
'v','a','l','i','d',' ','S','t','r','i','n','g',' ','e','x',
'p','r','e','s','s','i','o','n',#000,'E','_','C','o','n','s',
't','a','n','t',' ','e','x','p','r','e','s','s','i','o','n',
' ','o','u','t',' ','o','f',' ','b','o','u','n','d','s',#000,
'F','_','I','n','t','e','r','n','a','l',' ','E','r','r','o',
'r',' ','i','n',' ','B','u','i','l','d','C','o','n','s','t',
'a','n','t','(',')',#000,'W','_','A',' ','r','e','p','e','a',
't',' ','p','r','e','f','i','x',' ','a','n','d',' ','a',' ',
's','e','g','m','e','n','t',' ','o','v','e','r','r','i','d',
'e',' ','o','n',' ','<','=',' ','i','3','8','6',' ','m','a',
'y',' ','r','e','s','u','l','t',' ','i','n',' ','e','r','r',
'o','r','s',' ','i','f',' ','a','n',' ','i','n','t','e','r',
'r','u','p','t',' ','o','c','c','u','r','s',#000,'E','_','I',
'n','v','a','l','i','d',' ','o','r',' ','m','i','s','s','i',
'n','g',' ','o','p','c','o','d','e',#000,'E','_','I','n','v',
'a','l','i','d',' ','c','o','m','b','i','n','a','t','i','o',
'n',' ','o','f',' ','p','r','e','f','i','x',' ','a','n','d',
' ','o','p','c','o','d','e',':',' ','$','1',#000,'E','_','I',
'n','v','a','l','i','d',' ','c','o','m','b','i','n','a','t',
'i','o','n',' ','o','f',' ','o','v','e','r','r','i','d','e',
' ','a','n','d',' ','o','p','c','o','d','e',':',' ','$','1',
#000,'E','_','T','o','o',' ','m','a','n','y',' ','o','p','e',
'r','a','n','d','s',' ','o','n',' ','l','i','n','e',#000,'E',
'_','D','u','p','l','i','c','a','t','e',' ','l','o','c','a',
'l',' ','s','y','m','b','o','l',':',' ','$','1',#000,'E','_',
'U','n','k','n','o','w','n',' ','l','a','b','e','l',' ','i',
'd','e','n','t','i','f','e','r',':',' ','$','1',#000,'E','_',
'A','s','s','e','m','b','l','e',' ','n','o','d','e',' ','s',
'y','n','t','a','x',' ','e','r','r','o','r',#000,'E','_','U',
'n','d','e','f','i','n','e','d',' ','l','o','c','a','l',' ',
's','y','m','b','o','l',':',' ','$','1',#000,'D','_','S','t',
'a','r','t','i','n','g',' ','i','n','t','e','l',' ','s','t',
'y','l','e','d',' ','a','s','s','e','m','b','l','e','r',' ',
'p','a','r','s','i','n','g','.','.','.',#000,'D','_','F','i',
'n','i','s','h','e','d',' ','i','n','t','e','l',' ','s','t',
'y','l','e','d',' ','a','s','s','e','m','b','l','e','r',' ',
'p','a','r','s','i','n','g','.','.','.',#000,'E','_','N','o',
't',' ','a',' ','d','i','r','e','c','t','i','v','e',' ','o',
'r',' ','l','o','c','a','l',' ','s','y','m','b','o','l',':',
' ','$','1',#000,'E','_','/',' ','a','t',' ','b','e','g','i',
'n','n','i','n','g',' ','o','f',' ','l','i','n','e',' ','n',
'o','t',' ','a','l','l','o','w','e','d',#000,'E','_','N','O',
'R',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',
#000,'E','_','I','n','v','a','l','i','d',' ','f','l','o','a',
't','i','n','g',' ','p','o','i','n','t',' ','r','e','g','i',
's','t','e','r',' ','n','a','m','e',#000,'W','_','M','o','d',
'u','l','o',' ','n','o','t',' ','s','u','p','p','o','r','t',
'e','d',#000,'E','_','I','n','v','a','l','i','d',' ','f','l',
'o','a','t','i','n','g',' ','p','o','i','n','t',' ','c','o',
'n','s','t','a','n','t',':',' ','$','1',#000,'E','_','S','i',
'z','e',' ','s','u','f','f','i','x',' ','a','n','d',' ','d',
'e','s','t','i','n','a','t','i','o','n',' ','r','e','g','i',
's','t','e','r',' ','d','o',' ','n','o','t',' ','m','a','t',
'c','h',#000,'E','_','I','n','t','e','r','n','a','l',' ','e',
'r','r','o','r',' ','i','n',' ','C','o','n','c','a','t','L',
'a','b','e','l','e','d','I','n','s','t','r','(',')',#000,'W',
'_','F','l','o','a','t','i','n','g',' ','p','o','i','n','t',
' ','b','i','n','a','r','y',' ','r','e','p','r','e','s','e',
'n','t','a','t','i','o','n',' ','i','g','n','o','r','e','d',
#000,'W','_','F','l','o','a','t','i','n','g',' ','p','o','i',
'n','t',' ','h','e','x','a','d','e','c','i','m','a','l',' ',
'r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ',
'i','g','n','o','r','e','d',#000,'W','_','F','l','o','a','t',
'i','n','g',' ','p','o','i','n','t',' ','o','c','t','a','l',
' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n',
' ','i','g','n','o','r','e','d',#000,'E','_','I','n','v','a',
'l','i','d',' ','r','e','a','l',' ','c','o','n','s','t','a',
'n','t',' ','e','x','p','r','e','s','s','i','o','n',#000,'E',
'_','P','a','r','e','n','t','h','e','s','i','s',' ','a','r',
'e',' ','n','o','t',' ','a','l','l','o','w','e','d',#000,'E',
'_','I','n','v','a','l','i','d',' ','R','e','f','e','r','e',
'n','c','e',#000,'E','_','C','a','n','n','o','t',' ','u','s',
'e',' ','_','_','S','E','L','F',' ','o','u','t','s','i','d',
'e',' ','a',' ','m','e','t','h','o','d',#000,'E','_','C','a',
'n','n','o','t',' ','u','s','e',' ','_','_','O','L','D','E',
'B','P',' ','o','u','t','s','i','d','e',' ','a',' ','n','e',
's','t','e','d',' ','p','r','o','c','e','d','u','r','e',#000,
'W','_','I','d','e','n','t','i','f','i','e','r',' ','$','1',
' ','s','u','p','p','o','s','e','d',' ','e','x','t','e','r',
'n','a','l',#000,'E','_','I','n','v','a','l','i','d',' ','s',
'e','g','m','e','n','t',' ','o','v','e','r','r','i','d','e',
' ','e','x','p','r','e','s','s','i','o','n',#000,'E','_','S',
't','r','i','n','g','s',' ','n','o','t',' ','a','l','l','o',
'w','e','d',' ','a','s',' ','c','o','n','s','t','a','n','t',
's',#000,'D','_','S','t','a','r','t','i','n','g',' ','A','T',
'&','T',' ','s','t','y','l','e','d',' ','a','s','s','e','m',
'b','l','e','r',' ','p','a','r','s','i','n','g','.','.','.',
#000,'D','_','F','i','n','i','s','h','e','d',' ','A','T','&',
'T',' ','s','t','y','l','e','d',' ','a','s','s','e','m','b',
'l','e','r',' ','p','a','r','s','i','n','g','.','.','.',#000,
'E','_','S','w','i','t','c','h','i','n','g',' ','s','e','c',
't','i','o','n','s',' ','i','s',' ','n','o','t',' ','a','l',
'l','o','w','e','d',' ','i','n',' ','a','n',' ','a','s','s',
'e','m','b','l','e','r',' ','b','l','o','c','k',#000,'E','_',
'I','n','v','a','l','i','d',' ','g','l','o','b','a','l',' ',
'd','e','f','i','n','i','t','i','o','n',#000,'E','_','L','i',
'n','e',' ','s','e','p','a','r','a','t','o','r',' ','e','x',
'p','e','c','t','e','d',#000,'W','_','g','l','o','b','l',' ',
'n','o','t',' ','s','u','p','p','o','r','t','e','d',#000,'W',
'_','a','l','i','g','n',' ','n','o','t',' ','s','u','p','p',
'o','r','t','e','d',#000,'W','_','l','c','o','m','m',' ','n',
'o','t',' ','s','u','p','p','o','r','t','e','d',#000,'W','_',
'c','o','m','m',' ','n','o','t',' ','s','u','p','p','o','r',
't','e','d',#000,'E','_','I','n','v','a','l','i','d',' ','l',
'o','c','a','l',' ','c','o','m','m','o','n',' ','d','e','f',
'i','n','i','t','i','o','n',#000,'E','_','I','n','v','a','l',
'i','d',' ','g','l','o','b','a','l',' ','c','o','m','m','o',
'n',' ','d','e','f','i','n','i','t','i','o','n',#000,'E','_',
'l','o','c','a','l',' ','s','y','m','b','o','l',':',' ','$',
'1',' ','n','o','t',' ','f','o','u','n','d',' ','i','n','s',
'i','d','e',' ','a','s','m',' ','s','t','a','t','e','m','e',
'n','t',#000,'E','_','a','s','s','e','m','b','l','e','r',' ',
'c','o','d','e',' ','n','o','t',' ','r','e','t','u','r','n',
'e','d',' ','t','o',' ','t','e','x','t',#000,'F','_','i','n',
't','e','r','n','a','l',' ','e','r','r','o','r',' ','i','n',
' ','B','u','i','l','d','R','e','f','e','r','e','n','c','e',
'(',')',#000,'E','_','i','n','v','a','l','i','d',' ','o','p',
'c','o','d','e',' ','s','i','z','e',#000,'W','_','N','E','A',
'R',' ','i','g','n','o','r','e','d',#000,'W','_','F','A','R',
' ','i','g','n','o','r','e','d',#000,'D','_','C','r','e','a',
't','i','n','g',' ','i','n','l','i','n','e',' ','a','s','m',
' ','l','o','o','k','u','p',' ','t','a','b','l','e','s',#000,
'W','_','U','s','i','n','g',' ','a',' ','d','e','f','i','n',
'e','d',' ','n','a','m','e',' ','a','s',' ','a',' ','l','o',
'c','a','l',' ','l','a','b','e','l',#000,'F','_','i','n','t',
'e','r','n','a','l',' ','e','r','r','o','r',' ','i','n',' ',
'H','a','n','d','l','e','E','x','t','e','n','d','(',')',#000,
'E','_','I','n','v','a','l','i','d',' ','c','h','a','r','a',
'c','t','e','r',':',' ','<',#000,'E','_','I','n','v','a','l',
'i','d',' ','c','h','a','r','a','c','t','e','r',':',' ','>',
#000,'E','_','U','n','s','u','p','p','o','r','t','e','d',' ',
'o','p','c','o','d','e',#000,'E','_','I','n','c','r','e','m',
'e','n','t',' ','a','n','d',' ','D','e','c','r','e','m','e',
'n','t',' ','m','o','d','e',' ','n','o','t',' ','a','l','l',
'o','w','e','d',' ','t','o','g','e','t','h','e','r',#000,'E',
'_','I','n','v','a','l','i','d',' ','R','e','g','i','s','t',
'e','r',' ','l','i','s','t',' ','i','n',' ','m','o','v','e',
'm','/','f','m','o','v','e','m',#000,'E','_','I','n','v','a',
'l','i','d',' ','R','e','g','i','s','t','e','r',' ','l','i',
's','t',' ','f','o','r',' ','o','p','c','o','d','e',#000,'E',
'_','6','8','0','2','0','+',' ','m','o','d','e',' ','r','e',
'q','u','i','r','e','d',' ','t','o',' ','a','s','s','e','m',
'b','l','e',#000,'D','_','S','t','a','r','t','i','n','g',' ',
'M','o','t','o','r','o','l','a',' ','s','t','y','l','e','d',
' ','a','s','s','e','m','b','l','e','r',' ','p','a','r','s',
'i','n','g','.','.','.',#000,'W','_','X','D','E','F',' ','n',
'o','t',' ','s','u','p','p','o','r','t','e','d',#000,'W','_',
'F','u','n','c','t','i','o','n','s',' ','w','i','t','h',' ',
'v','o','i','d',' ','r','e','t','u','r','n',' ','v','a','l',
'u','e',' ','c','a','n',#039,'t',' ','r','e','t','u','r','n',
' ','a','n','y',' ','v','a','l','u','e',' ','i','n',' ','a',
's','m',' ','c','o','d','e',#000,'E','_','I','n','v','a','l',
'i','d',' ','s','u','f','f','i','x',' ','f','o','r',' ','i',
'n','t','e','l',' ','a','s','s','e','m','b','l','e','r',#000,
'E','_','E','x','t','e','n','d','e','d',' ','n','o','t',' ',
's','u','p','p','o','r','t','e','d',' ','i','n',' ','t','h',
'i','s',' ','m','o','d','e',#000,'E','_','C','o','m','p',' ',
'n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','i',
'n',' ','t','h','i','s',' ','m','o','d','e',#000,'W','_','Y',
'o','u',' ','n','e','e','d',' ','G','N','U',' ','a','s',' ',
'v','e','r','s','i','o','n',' ','>','=',' ','2','.','8','1',
' ','t','o',' ','c','o','m','p','i','l','e',' ','t','h','i',
's',' ','M','M','X',' ','c','o','d','e',#000,'I','_','A','s',
's','e','m','b','l','i','n','g',' ','(','p','i','p','e',')',
' ','$','1',#000,'E','_','C','a','n',#039,'t',' ','c','r','e',
'a','t','e',' ','a','s','s','e','m','b','e','r',' ','f','i',
'l','e',' ','$','1',#000,'W','_','A','s','s','e','m','b','l',
'e','r',' ','$','1',' ','n','o','t',' ','f','o','u','n','d',
',',' ','s','w','i','t','c','h','i','n','g',' ','t','o',' ',
'e','x','t','e','r','n','a','l',' ','a','s','s','e','m','b',
'l','i','n','g',#000,'U','_','U','s','i','n','g',' ','a','s',
's','e','m','b','l','e','r',':',' ','$','1',#000,'W','_','E',
'r','r','o','r',' ','w','h','i','l','e',' ','a','s','s','e',
'm','b','l','i','n','g',#000,'W','_','C','a','n',#039,'t',' ',
'c','a','l','l',' ','t','h','e',' ','a','s','s','e','m','b',
'l','e','r',',',' ','s','w','i','t','c','h','i','n','g',' ',
'i','n','g','.','.','.',#000,'D','_','F','i','n','i','s','h',
'e','d',' ','M','o','t','o','r','o','l','a',' ','s','t','y',
'l','e','d',' ','a','s','s','e','m','b','l','e','r',' ','p',
'a','r','s','i','n','g','.','.','.',#000,'W','_','X','D','E',
'F',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',
#000,'W','_','F','u','n','c','t','i','o','n','s',' ','w','i',
't','h',' ','v','o','i','d',' ','r','e','t','u','r','n',' ',
'v','a','l','u','e',' ','c','a','n',#039,'t',' ','r','e','t',
'u','r','n',' ','a','n','y',' ','v','a','l','u','e',' ','i',
'n',' ','a','s','m',' ','c','o','d','e',#000,'E','_','I','n',
'v','a','l','i','d',' ','s','u','f','f','i','x',' ','f','o',
'r',' ','i','n','t','e','l',' ','a','s','s','e','m','b','l',
'e','r',#000,'E','_','E','x','t','e','n','d','e','d',' ','n',
'o','t',' ','s','u','p','p','o','r','t','e','d',' ','i','n',
' ','t','h','i','s',' ','m','o','d','e',#000,'E','_','C','o',
'm','p',' ','n','o','t',' ','s','u','p','p','o','r','t','e',
'd',' ','i','n',' ','t','h','i','s',' ','m','o','d','e',#000,
'W','_','Y','o','u',' ','n','e','e','d',' ','G','N','U',' ',
'a','s',' ','v','e','r','s','i','o','n',' ','>','=',' ','2',
'.','8','1',' ','t','o',' ','c','o','m','p','i','l','e',' ',
't','h','i','s',' ','M','M','X',' ','c','o','d','e',#000,'I',
'_','A','s','s','e','m','b','l','i','n','g',' ','(','p','i',
'p','e',')',' ','$','1',#000,'E','_','C','a','n',#039,'t',' ',
'c','r','e','a','t','e',' ','a','s','s','e','m','b','e','r',
' ','f','i','l','e',' ','$','1',#000,'W','_','A','s','s','e',
'm','b','l','e','r',' ','$','1',' ','n','o','t',' ','f','o',
'u','n','d',',',' ','s','w','i','t','c','h','i','n','g',' ',
't','o',' ','e','x','t','e','r','n','a','l',' ','a','s','s',
'e','m','b','l','i','n','g',#000,'I','_','A','s','s','e','m',
'b','l','i','n','g',' ','$','1',#000,'W','_','L','i','n','k',
'e','r',' ','$','1',' ','n','o','t',' ','f','o','u','n','d',
',',' ','s','w','i','t','c','h','i','n','g',' ','t','o',' ',
'e','x','t','e','r','n','a','l',' ','l','i','n','k','i','n',
'g',#000,'U','_','U','s','i','n','g',' ','l','i','n','k','e',
'r',':',' ','$','1',#000,'W','_','O','b','j','e','c','t',' ',
'$','1',' ','n','o','t',' ','f','o','u','n','d',',',' ','L',
'i','n','k','i','n','g',' ','m','a','y',' ','f','a','i','l',
' ','!',#000,'W','_','L','i','b','r','a','r','y',' ','$','1',
' ','n','o','t',' ','f','o','u','n','d',',',' ','L','i','n',
'k','i','n','g',' ','m','a','y',' ','f','a','i','l',' ','!',
#000,'W','_','E','r','r','o','r',' ','w','h','i','l','e',' ',
'l','i','n','k','i','n','g',#000,'W','_','C','a','n',#039,'t',
' ','c','a','l','l',' ','t','h','e',' ','l','i','n','k','e',
'r',',',' ','s','w','i','t','c','h','i','n','g',' ','t','o',
' ','e','x','t','e','r','n','a','l',' ','l','i','n','k','i',
'n','g',#000,'I','_','L','i','n','k','i','n','g',' ','$','1',
#000,'W','_','b','i','n','d','e','r',' ','n','o','t',' ','f',
'o','u','n','d',',',' ','s','w','i','t','c','h','i','n','g',
' ','t','o',' ','e','x','t','e','r','n','a','l',' ','b','i',
'n','d','i','n','g',#000,'W','_','a','r',' ','n','o','t',' ',
'f','o','u','n','d',',',' ','s','w','i','t','c','h','i','n',
'g',' ','t','o',' ','e','x','t','e','r','n','a','l',' ','a',
'r',#000,'E','_','D','y','n','a','m','i','c',' ','L','i','b',
'r','a','r','i','e','s',' ','n','o','t',' ','s','u','p','p',
'o','r','t','e','d',#000,'I','_','C','l','o','s','i','n','g',
' ','s','c','r','i','p','t',' ','$','1',#000,'U','_','P','P',
'U',' ','L','o','a','d','i','n','g',' ','$','1',#000,'D','_',
'P','P','U',' ','T','i','m','e',':',' ','$','1',#000,'D','_',
'P','P','U',' ','F','i','l','e',' ','t','o','o',' ','s','h',
'o','r','t',#000,'D','_','P','P','U',' ','I','n','v','a','l',
'i','d',' ','H','e','a','d','e','r',' ','(','n','o',' ','P',
'P','U',' ','a','t',' ','t','h','e',' ','b','e','g','i','n',
')',#000,'D','_','P','P','U',' ','I','n','v','a','l','i','d',
' ','V','e','r','s','i','o','n',' ','$','1',#000,'D','_','P',
'P','U',' ','F','l','a','g','s',':',' ','$','1',#000,'D','_',
'P','P','U',' ','C','r','c',':',' ','$','1',#000,'T','_','P',
'P','U',' ','S','o','u','r','c','e',':',' ','$','1',#000,'D',
'_','o','b','j','e','c','t','f','i','l','e',' ','a','n','d',
' ','a','s','s','e','m','b','l','e','r','f','i','l','e',' ',
'a','r','e',' ','o','l','d','e','r',' ','t','h','a','n',' ',
'p','p','u','f','i','l','e',#000,'D','_','o','b','j','e','c',
't','f','i','l','e',' ','i','s',' ','o','l','d','e','r',' ',
't','h','a','n',' ','a','s','s','e','m','b','l','e','r','f',
'i','l','e',#000,'T','_','U','n','i','t','s','e','a','r','c',
'h',':',' ','$','1',#000,'U','_','W','r','i','t','i','n','g',
' ','$','1',#000,'F','_','C','a','n',#039,'t',' ','W','r','i',
't','e',' ','P','P','U','-','F','i','l','e',#000,'F','_','r',
'e','a','d','i','n','g',' ','P','P','U','-','F','i','l','e',
#000,'F','_','I','n','v','a','l','i','d',' ','P','P','U','-',
'F','i','l','e',' ','e','n','t','r','y',':',' ','$','1',#000,
'F','_','P','P','U',' ','D','b','x',' ','c','o','u','n','t',
' ','p','r','o','b','l','e','m',#000,'E','_','I','l','l','e',
'g','a','l',' ','u','n','i','t',' ','n','a','m','e',':',' ',
'$','1',#000,'F','_','T','o','o',' ','m','u','c','h',' ','u',
'n','i','t','s',#000,'F','_','C','i','r','c','u','l','a','r',
' ','u','n','i','t',' ','r','e','f','e','r','e','n','c','e',
#000,'F','_','C','a','n',#039,'t',' ','c','o','m','p','i','l',
'e',' ','u','n','i','t',' ','$','1',',',' ','n','o',' ','s',
'o','u','r','c','e','s',' ','a','v','a','i','l','a','b','l',
'e',#000,'W','_','C','o','m','p','i','l','i','n','g',' ','t',
'h','e',' ','s','y','s','t','e','m',' ','u','n','i','t',' ',
'r','e','q','u','i','r','e','s',' ','t','h','e',' ','-','U',
's',' ','s','w','i','t','c','h',#000,'F','_','T','h','e','r',
'e',' ','w','e','r','e',' ','$','1',' ','e','r','r','o','r',
's',' ','c','o','m','p','i','l','i','n','g',' ','m','o','d',
'u','l','e',',',' ','s','t','o','p','p','i','n','g',#000);
'e','m','b','l','i','n','g',#000,'U','_','U','s','i','n','g',
' ','a','s','s','e','m','b','l','e','r',':',' ','$','1',#000,
'W','_','E','r','r','o','r',' ','w','h','i','l','e',' ','a',
's','s','e','m','b','l','i','n','g',#000,'W','_','C','a','n',
#039,'t',' ','c','a','l','l',' ','t','h','e',' ','a','s','s',
'e','m','b','l','e','r',',',' ','s','w','i','t','c','h','i',
'n','g',' ','t','o',' ','e','x','t','e','r','n','a','l',' ',
'a','s','s','e','m','b','l','i','n','g',#000,'I','_','A','s',
's','e','m','b','l','i','n','g',' ','$','1',#000,'W','_','L',
'i','n','k','e','r',' ','$','1',' ','n','o','t',' ','f','o',
'u','n','d',',',' ','s','w','i','t','c','h','i','n','g',' ',
't','o',' ','e','x','t','e','r','n','a','l',' ','l','i','n',
'k','i','n','g',#000,'U','_','U','s','i','n','g',' ','l','i',
'n','k','e','r',':',' ','$','1',#000,'W','_','O','b','j','e',
'c','t',' ','$','1',' ','n','o','t',' ','f','o','u','n','d',
',',' ','L','i','n','k','i','n','g',' ','m','a','y',' ','f',
'a','i','l',' ','!',#000,'W','_','L','i','b','r','a','r','y',
' ','$','1',' ','n','o','t',' ','f','o','u','n','d',',',' ',
'L','i','n','k','i','n','g',' ','m','a','y',' ','f','a','i',
'l',' ','!',#000,'W','_','E','r','r','o','r',' ','w','h','i',
'l','e',' ','l','i','n','k','i','n','g',#000,'W','_','C','a',
'n',#039,'t',' ','c','a','l','l',' ','t','h','e',' ','l','i',
'n','k','e','r',',',' ','s','w','i','t','c','h','i','n','g',
' ','t','o',' ','e','x','t','e','r','n','a','l',' ','l','i',
'n','k','i','n','g',#000,'I','_','L','i','n','k','i','n','g',
' ','$','1',#000,'W','_','b','i','n','d','e','r',' ','n','o',
't',' ','f','o','u','n','d',',',' ','s','w','i','t','c','h',
'i','n','g',' ','t','o',' ','e','x','t','e','r','n','a','l',
' ','b','i','n','d','i','n','g',#000,'W','_','a','r',' ','n',
'o','t',' ','f','o','u','n','d',',',' ','s','w','i','t','c',
'h','i','n','g',' ','t','o',' ','e','x','t','e','r','n','a',
'l',' ','a','r',#000,'E','_','D','y','n','a','m','i','c',' ',
'L','i','b','r','a','r','i','e','s',' ','n','o','t',' ','s',
'u','p','p','o','r','t','e','d',#000,'I','_','C','l','o','s',
'i','n','g',' ','s','c','r','i','p','t',' ','$','1',#000,'U',
'_','P','P','U',' ','L','o','a','d','i','n','g',' ','$','1',
#000,'D','_','P','P','U',' ','T','i','m','e',':',' ','$','1',
#000,'D','_','P','P','U',' ','F','i','l','e',' ','t','o','o',
' ','s','h','o','r','t',#000,'D','_','P','P','U',' ','I','n',
'v','a','l','i','d',' ','H','e','a','d','e','r',' ','(','n',
'o',' ','P','P','U',' ','a','t',' ','t','h','e',' ','b','e',
'g','i','n',')',#000,'D','_','P','P','U',' ','I','n','v','a',
'l','i','d',' ','V','e','r','s','i','o','n',' ','$','1',#000,
'D','_','P','P','U',' ','F','l','a','g','s',':',' ','$','1',
#000,'D','_','P','P','U',' ','C','r','c',':',' ','$','1',#000,
'T','_','P','P','U',' ','S','o','u','r','c','e',':',' ','$',
'1',#000,'D','_','o','b','j','e','c','t','f','i','l','e',' ',
'a','n','d',' ','a','s','s','e','m','b','l','e','r','f','i',
'l','e',' ','a','r','e',' ','o','l','d','e','r',' ','t','h',
'a','n',' ','p','p','u','f','i','l','e',#000,'D','_','o','b',
'j','e','c','t','f','i','l','e',' ','i','s',' ','o','l','d',
'e','r',' ','t','h','a','n',' ','a','s','s','e','m','b','l',
'e','r','f','i','l','e',#000,'T','_','U','n','i','t','s','e',
'a','r','c','h',':',' ','$','1',#000,'U','_','W','r','i','t',
'i','n','g',' ','$','1',#000,'F','_','C','a','n',#039,'t',' ',
'W','r','i','t','e',' ','P','P','U','-','F','i','l','e',#000,
'F','_','r','e','a','d','i','n','g',' ','P','P','U','-','F',
'i','l','e',#000,'F','_','I','n','v','a','l','i','d',' ','P',
'P','U','-','F','i','l','e',' ','e','n','t','r','y',':',' ',
'$','1',#000,'F','_','P','P','U',' ','D','b','x',' ','c','o',
'u','n','t',' ','p','r','o','b','l','e','m',#000,'E','_','I',
'l','l','e','g','a','l',' ','u','n','i','t',' ','n','a','m',
'e',':',' ','$','1',#000,'F','_','T','o','o',' ','m','u','c',
'h',' ','u','n','i','t','s',#000,'F','_','C','i','r','c','u',
'l','a','r',' ','u','n','i','t',' ','r','e','f','e','r','e',
'n','c','e',#000,'F','_','C','a','n',#039,'t',' ','c','o','m',
'p','i','l','e',' ','u','n','i','t',' ','$','1',',',' ','n',
'o',' ','s','o','u','r','c','e','s',' ','a','v','a','i','l',
'a','b','l','e',#000,'W','_','C','o','m','p','i','l','i','n',
'g',' ','t','h','e',' ','s','y','s','t','e','m',' ','u','n',
'i','t',' ','r','e','q','u','i','r','e','s',' ','t','h','e',
' ','-','U','s',' ','s','w','i','t','c','h',#000,'F','_','T',
'h','e','r','e',' ','w','e','r','e',' ','$','1',' ','e','r',
'r','o','r','s',' ','c','o','m','p','i','l','i','n','g',' ',
'm','o','d','u','l','e',',',' ','s','t','o','p','p','i','n',
'g',#000);

View File

@ -118,9 +118,12 @@ unit pass_1;
begin
case p^.treetype of
typeconvn : make_not_regable(p^.left);
loadn : if p^.symtableentry^.typ=varsym then
pvarsym(p^.symtableentry)^.regable:=false;
typeconvn :
make_not_regable(p^.left);
loadn :
if p^.symtableentry^.typ=varsym then
pvarsym(p^.symtableentry)^.var_options :=
pvarsym(p^.symtableentry)^.var_options and not vo_regable;
end;
end;
@ -517,7 +520,7 @@ unit pass_1;
p^.symtableentry:=pabsolutesym(p^.symtableentry)^.ref;
p^.symtable:=p^.symtableentry^.owner;
p^.is_absolute:=true;
end;
end;
case p^.symtableentry^.typ of
absolutesym :;
varsym :
@ -535,7 +538,8 @@ unit pass_1;
p^.registers32:=1;
{ auáerdem kann sie nicht mehr in ein Register
geladen werden }
pvarsym(p^.symtableentry)^.regable:=false;
pvarsym(p^.symtableentry)^.var_options :=
pvarsym(p^.symtableentry)^.var_options and not vo_regable;
end;
end;
if (pvarsym(p^.symtableentry)^.varspez=vs_const) then
@ -5013,7 +5017,16 @@ unit pass_1;
end.
{
$Log$
Revision 1.28 1998-06-05 14:37:29 pierre
Revision 1.29 1998-06-09 16:01:44 pierre
+ added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
Revision 1.28 1998/06/05 14:37:29 pierre
* fixes for inline for operators
* inline procedure more correctly restricted

View File

@ -1467,6 +1467,7 @@ unit pdecl;
var
typename : stringid;
newtype : ptypesym;
{$ifdef dummy}
olddef,newdef : pdef;
s : string;
@ -1495,7 +1496,8 @@ unit pdecl;
{ is that ok ??? }
getmem(newdef,SizeOf(olddef));
move(olddef^,newdef^,SizeOf(olddef));
symtablestack^.insert(new(ptypesym,init(typename,newdef)));
newtype:=new(ptypesym,init(typename,newdef));
symtablestack^.insert(newtype);
end
else
{$endif testequaltype}
@ -1511,11 +1513,17 @@ unit pdecl;
{ we can ignore the result }
{ the definition is modified }
object_dec(typename,pobjectdef(ptypesym(srsym)^.definition));
newtype:=ptypesym(srsym);
end
else
symtablestack^.insert(new(ptypesym,init(typename,read_type(typename))));
begin
newtype:=new(ptypesym,init(typename,read_type(typename)));
symtablestack^.insert(newtype);
end;
end;
consume(SEMICOLON);
if assigned(newtype^.definition) and (newtype^.definition^.deftype=procvardef) then
parse_var_proc_directives(newtype);
until token<>ID;
typecanbeforward:=false;
{$ifdef tp}
@ -1566,6 +1574,7 @@ unit pdecl;
abssym : pabsolutesym;
filepos : tfileposinfo;
Csym : pvarsym;
begin
hs:='';
@ -1584,7 +1593,29 @@ unit pdecl;
sc:=idlist;
consume(COLON);
p:=read_type('');
if do_absolute and (token=ID) and (pattern='ABSOLUTE') then
if do_absolute and (token=ID) and (pattern='CALIAS') then
begin
s:=sc^.get_with_tokeninfo(filepos);
if sc^.get<>'' then
Message(parser_e_absolute_only_one_var);
dispose(sc,done);
consume(ID);
if (token<>CCHAR) and (token<>CSTRING) then
consume(CSTRING)
else
begin
Csym:=new(pvarsym,init_C(s,pattern,p));
consume(token);
consume(SEMICOLON);
if (token=ID) and (pattern='EXTERNAL') then
begin
Csym^.var_options:=Csym^.var_options or vo_is_external;
Consume(ID);
end;
symtablestack^.insert(Csym);
end;
end
else if do_absolute and (token=ID) and (pattern='ABSOLUTE') then
begin
s:=sc^.get_with_tokeninfo(filepos);
if sc^.get<>'' then
@ -1829,7 +1860,16 @@ unit pdecl;
end.
{
$Log$
Revision 1.24 1998-06-05 14:37:32 pierre
Revision 1.25 1998-06-09 16:01:45 pierre
+ added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
Revision 1.24 1998/06/05 14:37:32 pierre
* fixes for inline for operators
* inline procedure more correctly restricted

View File

@ -585,7 +585,9 @@ unit pexpr;
begin
if sym=nil then
begin
Message(sym_e_id_no_member);
{ pattern is still valid unless
there is another ID just after the ID of sym }
Message1(sym_e_id_no_member,pattern);
disposetree(p1);
p1:=genzeronode(errorn);
{ try to clean up }
@ -1784,7 +1786,16 @@ unit pexpr;
end.
{
$Log$
Revision 1.25 1998-06-05 14:37:33 pierre
Revision 1.26 1998-06-09 16:01:46 pierre
+ added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
Revision 1.25 1998/06/05 14:37:33 pierre
* fixes for inline for operators
* inline procedure more correctly restricted

View File

@ -22,7 +22,7 @@
}
unit pmodules;
{$define TEST_IMPL}
{define TEST_IMPL does not work well }
interface
@ -993,7 +993,16 @@ unit pmodules;
end.
{
$Log$
Revision 1.25 1998-06-08 22:59:49 peter
Revision 1.26 1998-06-09 16:01:47 pierre
+ added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
Revision 1.25 1998/06/08 22:59:49 peter
* smartlinking works for win32
* some defines to exclude some compiler parts

View File

@ -64,6 +64,8 @@ const
ibtypedconstsym = 25;
ibabsolutesym = 26;
ibpropertysym = 27;
ibvarsym_C = 28;
{defenitions}
iborddef = 40;
ibpointerdef = 41;
@ -742,7 +744,16 @@ end;
end.
{
$Log$
Revision 1.3 1998-05-28 14:40:26 peter
Revision 1.4 1998-06-09 16:01:48 pierre
+ added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
Revision 1.3 1998/05/28 14:40:26 peter
* fixes for newppu, remake3 works now with it
Revision 1.2 1998/05/27 19:45:08 peter

View File

@ -872,6 +872,7 @@
tsym.init(n);
typ:=varsym;
definition:=p;
_mangledname:=nil;
varspez:=vs_value;
address:=0;
refs:=0;
@ -880,17 +881,18 @@
case p^.deftype of
pointerdef,
enumdef,
procvardef : regable:=true;
procvardef :
var_options:=var_options or vo_regable;
orddef : case porddef(p)^.typ of
u8bit,s32bit,
bool8bit,uchar,
s8bit,s16bit,
u16bit,u32bit : regable:=true;
u8bit,u16bit,u32bit,
bool8bit,bool16bit,bool32bit,
s8bit,s16bit,s32bit :
var_options:=var_options or vo_regable;
else
regable:=false;
var_options:=var_options and not vo_regable;
end;
else
regable:=false;
var_options:=var_options and not vo_regable;
end;
reg:=R_NO;
end;
@ -900,6 +902,7 @@
begin
tsym.load;
typ:=varsym;
_mangledname:=nil;
varspez:=tvarspez(readbyte);
if read_member then
address:=readlong
@ -908,10 +911,28 @@
refs := 0;
is_valid := 1;
{ symbols which are load are never candidates for a register }
regable:=false;
var_options:=0;
{ was regable:=false; }
reg:=R_NO;
end;
constructor tvarsym.init_C(const n,mangled : string;p : pdef);
begin
init(n,p);
var_options:=var_options or vo_is_C_var;
_mangledname:=strpnew(target_os.Cprefix+mangled);
end;
constructor tvarsym.load_C;
begin
load;
typ:=varsym;
var_options:=readbyte;
_mangledname:=strpnew(readstring);
end;
procedure tvarsym.deref;
begin
@ -922,7 +943,10 @@
begin
{$ifndef NEWPPU}
writebyte(ibvarsym);
if (var_options and vo_is_C_var)<>0 then
writebyte(ibvarsym_C)
else
writebyte(ibvarsym);
{$endif}
tsym.write;
writebyte(byte(varspez));
@ -931,7 +955,15 @@
writelong(address);
writedefref(definition);
if (var_options and vo_is_C_var)<>0 then
begin
writebyte(var_options);
writestring(mangledname);
end;
{$ifdef NEWPPU}
if (var_options and vo_is_C_var)<>0 then
ppufile^.writeentry(ibvarsym_C)
else
ppufile^.writeentry(ibvarsym);
{$endif}
end;
@ -940,6 +972,11 @@
var
prefix : string;
begin
if assigned(_mangledname) then
begin
mangledname:=strpas(_mangledname);
exit;
end;
case owner^.symtabletype of
staticsymtable : if (cs_smartlink in aktswitches) then
prefix:='_'+owner^.name^+'$$$_'
@ -981,6 +1018,8 @@
var
l,modulo : longint;
begin
if (var_options and vo_is_external)<>0 then
exit;
{ handle static variables of objects especially }
if read_member and (owner^.symtabletype=objectsymtable) and
((properties and sp_static)<>0) then
@ -988,7 +1027,7 @@
{ the data filed is generated in parser.pas
with a tobject_FIELDNAME variable }
{ this symbol can't be loaded to a register }
regable:=false;
var_options:=var_options or vo_regable;
end
else if not(read_member) then
begin
@ -1039,7 +1078,7 @@
inc(owner^.datasize,l);
{ this symbol can't be loaded to a register }
regable:=false;
var_options:=var_options and not vo_regable;
end
else if owner^.symtabletype=globalsymtable then
begin
@ -1059,7 +1098,7 @@
inc(owner^.datasize,l);
{ this symbol can't be loaded to a register }
regable:=false;
var_options:=var_options and not vo_regable;
end
else if owner^.symtabletype in [recordsymtable,objectsymtable] then
begin
@ -1084,7 +1123,7 @@
inc(owner^.datasize,l);
{ this symbol can't be loaded to a register }
regable:=false;
var_options:=var_options and not vo_regable;
end
else if owner^.symtabletype=parasymtable then
begin
@ -1202,6 +1241,14 @@
end;
{$endif GDB}
destructor tvarsym.done;
begin
strdispose(_mangledname);
inherited done;
end;
{****************************************************************************
TTYPEDCONSTSYM
*****************************************************************************}
@ -1694,7 +1741,16 @@
{
$Log$
Revision 1.6 1998-06-08 22:59:53 peter
Revision 1.7 1998-06-09 16:01:51 pierre
+ added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
Revision 1.6 1998/06/08 22:59:53 peter
* smartlinking works for win32
* some defines to exclude some compiler parts