* support @labelsym

This commit is contained in:
peter 2004-11-01 15:32:12 +00:00
parent a2cbf27e96
commit f02ebed09e
4 changed files with 37 additions and 9 deletions

View File

@ -360,6 +360,10 @@ implementation
begin
location.reference.symbol:=objectlibrary.newasmsymbol(ttypedconstsym(symtableentry).mangledname,AB_EXTERNAL,AT_DATA);
end;
labelsym :
begin
location.reference.symbol:=objectlibrary.newasmsymbol(ttypedconstsym(symtableentry).mangledname,AB_EXTERNAL,AT_FUNCTION);
end;
else internalerror(4);
end;
end;
@ -951,7 +955,10 @@ begin
end.
{
$Log$
Revision 1.129 2004-10-31 21:45:03 peter
Revision 1.130 2004-11-01 15:32:12 peter
* support @labelsym
Revision 1.129 2004/10/31 21:45:03 peter
* generic tlocation
* move tlocation to cgutils

View File

@ -330,6 +330,8 @@ implementation
if assigned(left) then
resulttypepass(left);
end;
labelsym:
resulttype:=voidtype;
else
internalerror(200104141);
end;
@ -414,6 +416,8 @@ implementation
{$endif SUPPORT_MMX}
end;
end;
labelsym :
;
else
internalerror(200104143);
end;
@ -1164,7 +1168,10 @@ begin
end.
{
$Log$
Revision 1.136 2004-10-31 21:45:03 peter
Revision 1.137 2004-11-01 15:32:12 peter
* support @labelsym
Revision 1.136 2004/10/31 21:45:03 peter
* generic tlocation
* move tlocation to cgutils

View File

@ -1443,11 +1443,17 @@ implementation
labelsym :
begin
consume(_COLON);
if tlabelsym(srsym).defined then
Message(sym_e_label_already_defined);
tlabelsym(srsym).defined:=true;
p1:=clabelnode.create(tlabelsym(srsym),nil);
{ Support @label }
if getaddr then
p1:=cloadnode.create(srsym,srsym.owner)
else
begin
consume(_COLON);
if tlabelsym(srsym).defined then
Message(sym_e_label_already_defined);
tlabelsym(srsym).defined:=true;
p1:=clabelnode.create(tlabelsym(srsym),nil);
end;
end;
errorsym :
@ -2486,7 +2492,10 @@ implementation
end.
{
$Log$
Revision 1.168 2004-11-01 10:33:01 peter
Revision 1.169 2004-11-01 15:32:12 peter
* support @labelsym
Revision 1.168 2004/11/01 10:33:01 peter
* symlist typeconv for absolute fixed
Revision 1.167 2004/10/25 15:38:41 peter

View File

@ -444,6 +444,8 @@ implementation
curconstSegment.concat(Tai_const.Createname(tvarsym(srsym).mangledname,AT_DATA,offset));
typedconstsym :
curconstSegment.concat(Tai_const.Createname(ttypedconstsym(srsym).mangledname,AT_DATA,offset));
labelsym :
curconstSegment.concat(Tai_const.Createname(tlabelsym(srsym).mangledname,AT_FUNCTION,offset));
else
Message(type_e_variable_id_expected);
end;
@ -1087,7 +1089,10 @@ implementation
end.
{
$Log$
Revision 1.92 2004-10-15 09:14:17 mazen
Revision 1.93 2004-11-01 15:32:12 peter
* support @labelsym
Revision 1.92 2004/10/15 09:14:17 mazen
- remove $IFDEF DELPHI and related code
- remove $IFDEF FPCPROCVAR and related code