* change AT_FUNCTION to AT_DATA where appropriate

This commit is contained in:
olle 2004-03-18 11:43:57 +00:00
parent 91a73eeb3d
commit a7f25327f6
6 changed files with 43 additions and 24 deletions

View File

@ -854,9 +854,9 @@ implementation
implintf:=_class.implementedinterfaces;
curintf:=implintf.interfaces(intfindex);
if (cs_create_smart in aktmoduleswitches) then
rawdata.concat(Tai_symbol.Createname_global(gintfgetvtbllabelname(intfindex),AT_FUNCTION,0))
rawdata.concat(Tai_symbol.Createname_global(gintfgetvtbllabelname(intfindex),AT_DATA ,0))
else
rawdata.concat(Tai_symbol.Createname(gintfgetvtbllabelname(intfindex),AT_FUNCTION,0));
rawdata.concat(Tai_symbol.Createname(gintfgetvtbllabelname(intfindex),AT_DATA,0));
proccount:=implintf.implproccount(intfindex);
for i:=1 to proccount do
begin
@ -900,7 +900,7 @@ implementation
dataSegment.concat(Tai_const.Create_ptr(0)); { nil }
end;
{ VTable }
dataSegment.concat(Tai_const_symbol.Createname(gintfgetvtbllabelname(contintfindex),AT_FUNCTION,0));
dataSegment.concat(Tai_const_symbol.Createname(gintfgetvtbllabelname(contintfindex),AT_DATA,0));
{ IOffset field }
dataSegment.concat(Tai_const.Create_32bit(implintf.ioffsets(contintfindex)^));
{ IIDStr }
@ -1155,7 +1155,7 @@ implementation
begin
if (cs_create_smart in aktmoduleswitches) then
dataSegment.concat(Tai_cut.Create);
dataSegment.concat(Tai_symbol.Createname_global(make_mangledname('IID',_class.owner,_class.objname^),AT_FUNCTION,0));
dataSegment.concat(Tai_symbol.Createname_global(make_mangledname('IID',_class.owner,_class.objname^),AT_DATA,0));
dataSegment.concat(Tai_const.Create_32bit(_class.iidguid^.D1));
dataSegment.concat(Tai_const.Create_16bit(_class.iidguid^.D2));
dataSegment.concat(Tai_const.Create_16bit(_class.iidguid^.D3));
@ -1164,7 +1164,7 @@ implementation
end;
if (cs_create_smart in aktmoduleswitches) then
dataSegment.concat(Tai_cut.Create);
dataSegment.concat(Tai_symbol.Createname_global(make_mangledname('IIDSTR',_class.owner,_class.objname^),AT_FUNCTION,0));
dataSegment.concat(Tai_symbol.Createname_global(make_mangledname('IIDSTR',_class.owner,_class.objname^),AT_DATA,0));
dataSegment.concat(Tai_const.Create_8bit(length(_class.iidstr^)));
dataSegment.concat(Tai_string.Create(_class.iidstr^));
end;
@ -1251,6 +1251,7 @@ implementation
dataSegment.concat(Tai_label.Create(classnamelabel));
dataSegment.concat(Tai_const.Create_8bit(length(_class.objrealname^)));
dataSegment.concat(Tai_string.Create(_class.objrealname^));
{ generate message and dynamic tables }
if (oo_has_msgstr in _class.objectoptions) then
strmessagetable:=genstrmsgtab;
@ -1290,7 +1291,7 @@ implementation
{ it is not written for parents that don't have any vmt !! }
if assigned(_class.childof) and
(oo_has_vmt in _class.childof.objectoptions) then
dataSegment.concat(Tai_const_symbol.Createname(_class.childof.vmt_mangledname,AT_FUNCTION,0))
dataSegment.concat(Tai_const_symbol.Createname(_class.childof.vmt_mangledname,AT_DATA,0))
else
dataSegment.concat(Tai_const.Create_ptr(0));
@ -1380,7 +1381,10 @@ initialization
end.
{
$Log$
Revision 1.67 2004-03-08 22:07:46 peter
Revision 1.68 2004-03-18 11:43:57 olle
* change AT_FUNCTION to AT_DATA where appropriate
Revision 1.67 2004/03/08 22:07:46 peter
* stabs updates to write stabs for def for all implictly used
units

View File

@ -170,8 +170,8 @@ implementation
begin
oldaktfilepos:=aktfilepos;
aktfilepos.line:=0;
debugList.insert(Tai_symbol.Createname('gcc2_compiled',AT_FUNCTION,0));
debugList.insert(Tai_symbol.Createname('fpc_compiled',AT_FUNCTION,0));
debugList.insert(Tai_symbol.Createname('gcc2_compiled',AT_DATA,0));
debugList.insert(Tai_symbol.Createname('fpc_compiled',AT_DATA,0));
fixseg(debuglist,sec_code);
aktfilepos:=oldaktfilepos;
end;
@ -1452,7 +1452,10 @@ implementation
end.
{
$Log$
Revision 1.146 2004-03-14 20:10:14 peter
Revision 1.147 2004-03-18 11:43:57 olle
* change AT_FUNCTION to AT_DATA where appropriate
Revision 1.146 2004/03/14 20:10:14 peter
* fix stabs lineno for fpc_compiled
Revision 1.145 2004/03/10 22:52:57 peter

View File

@ -434,9 +434,9 @@ implementation
curconstSegment.concat(Tai_const_symbol.Createname(tprocsym(srsym).first_procdef.mangledname,AT_FUNCTION,offset));
end;
varsym :
curconstSegment.concat(Tai_const_symbol.Createname(tvarsym(srsym).mangledname,AT_FUNCTION,offset));
curconstSegment.concat(Tai_const_symbol.Createname(tvarsym(srsym).mangledname,AT_DATA,offset));
typedconstsym :
curconstSegment.concat(Tai_const_symbol.Createname(ttypedconstsym(srsym).mangledname,AT_FUNCTION,offset));
curconstSegment.concat(Tai_const_symbol.Createname(ttypedconstsym(srsym).mangledname,AT_DATA,offset));
else
Message(type_e_variable_id_expected);
end;
@ -452,7 +452,7 @@ implementation
if (tinlinenode(p).left.nodetype=typen) then
begin
curconstSegment.concat(Tai_const_symbol.createname(
tobjectdef(tinlinenode(p).left.resulttype.def).vmt_mangledname,AT_FUNCTION,0));
tobjectdef(tinlinenode(p).left.resulttype.def).vmt_mangledname,AT_DATA,0));
end
else
Message(cg_e_illegal_expression);
@ -971,7 +971,7 @@ implementation
begin
for i:=1 to vmt_offset-aktpos do
curconstsegment.concat(tai_const.create_8bit(0));
curconstsegment.concat(tai_const_symbol.createname(vmt_mangledname,AT_FUNCTION,0));
curconstsegment.concat(tai_const_symbol.createname(vmt_mangledname,AT_DATA,0));
{ this is more general }
aktpos:=vmt_offset + pointer_size;
end;
@ -998,7 +998,7 @@ implementation
begin
for i:=1 to tobjectdef(t.def).vmt_offset-aktpos do
curconstsegment.concat(tai_const.create_8bit(0));
curconstsegment.concat(tai_const_symbol.createname(tobjectdef(t.def).vmt_mangledname,AT_FUNCTION,0));
curconstsegment.concat(tai_const_symbol.createname(tobjectdef(t.def).vmt_mangledname,AT_DATA,0));
{ this is more general }
aktpos:=tobjectdef(t.def).vmt_offset + pointer_size;
end;
@ -1025,7 +1025,10 @@ implementation
end.
{
$Log$
Revision 1.81 2004-03-17 22:27:41 florian
Revision 1.82 2004-03-18 11:43:57 olle
* change AT_FUNCTION to AT_DATA where appropriate
Revision 1.81 2004/03/17 22:27:41 florian
* fixed handling of doubles in a native arm compiler
* fixed handling of typed double constants on arm

View File

@ -1538,7 +1538,7 @@ end;
Procedure ConcatConstSymbol(p : TAAsmoutput;const sym:string;l:longint);
begin
p.concat(Tai_const_symbol.Createname(sym,AT_FUNCTION,l));
p.concat(Tai_const_symbol.Createname(sym,AT_DATA,l));
end;
@ -1632,7 +1632,10 @@ end;
end.
{
$Log$
Revision 1.83 2004-03-17 22:27:41 florian
Revision 1.84 2004-03-18 11:43:57 olle
* change AT_FUNCTION to AT_DATA where appropriate
Revision 1.83 2004/03/17 22:27:41 florian
* fixed handling of doubles in a native arm compiler
* fixed handling of typed double constants on arm

View File

@ -5360,7 +5360,7 @@ implementation
internalerror(1509992);
{ access to implicit class property as field }
proctypesinfo:=(0 shl 0) or (0 shl 2) or (0 shl 4);
rttiList.concat(Tai_const_symbol.Createname(tvarsym(sym.vartype.def.get_rtti_label),AT_FUNCTION,0));
rttiList.concat(Tai_const_symbol.Createname(tvarsym(sym.vartype.def.get_rtti_label),AT_DATA,0));
rttiList.concat(Tai_const.Create_32bit(tvarsym(sym.address)));
rttiList.concat(Tai_const.Create_32bit(tvarsym(sym.address)));
{ per default stored }
@ -5534,7 +5534,7 @@ implementation
hp:=tclasslistitem(classtablelist.first);
while assigned(hp) do
begin
rttiList.concat(Tai_const_symbol.Createname(tobjectdef(hp.p).vmt_mangledname,AT_FUNCTION,0));
rttiList.concat(Tai_const_symbol.Createname(tobjectdef(hp.p).vmt_mangledname,AT_DATA,0));
hp:=tclasslistitem(hp.next);
end;
@ -5593,7 +5593,7 @@ implementation
begin
if (oo_has_vmt in objectoptions) and
not(objecttype in [odt_interfacecom,odt_interfacecorba]) then
rttiList.concat(Tai_const_symbol.Createname(vmt_mangledname,AT_FUNCTION,0))
rttiList.concat(Tai_const_symbol.Createname(vmt_mangledname,AT_DATA,0))
else
rttiList.concat(Tai_const.Create_ptr(0));
@ -6061,7 +6061,10 @@ implementation
end.
{
$Log$
Revision 1.231 2004-03-14 22:51:46 peter
Revision 1.232 2004-03-18 11:43:57 olle
* change AT_FUNCTION to AT_DATA where appropriate
Revision 1.231 2004/03/14 22:51:46 peter
* valgrind doesn't like nested procedure info in stabs
Revision 1.230 2004/03/14 20:06:40 peter

View File

@ -532,7 +532,7 @@ const
end
else
begin
importsSection.concat(Tai_symbol.Createname_global(hp2.func^,AT_FUNCTION,0));
importsSection.concat(Tai_symbol.Createname_global(hp2.func^,AT_DATA,0));
end;
importsSection.concat(Tai_const_symbol.Create_rva(hp2.lab));
hp2:=twin32imported_item(hp2.next);
@ -1606,7 +1606,10 @@ initialization
end.
{
$Log$
Revision 1.29 2004-03-02 00:36:33 olle
Revision 1.30 2004-03-18 11:44:07 olle
* change AT_FUNCTION to AT_DATA where appropriate
Revision 1.29 2004/03/02 00:36:33 olle
* big transformation of Tai_[const_]Symbol.Create[data]name*
Revision 1.28 2004/02/27 10:21:05 florian