* removed obsolete newst defines

This commit is contained in:
peter 2001-09-30 21:26:42 +00:00
parent 0d27041955
commit f709d48789

View File

@ -209,10 +209,7 @@ unit cgobj;
uses
strings,globals,globtype,options,{files,}gdb,systems,
ppu,verbose,types,{tgobj,}tgcpu,symdef,symsym,cga
{$IFDEF NEWST}
,symbols,defs,symtablt
{$ENDIF NEWST};
ppu,verbose,types,{tgobj,}tgcpu,symdef,symsym,cga;
const
max_scratch_regs = high(scratch_regs) - low(scratch_regs) + 1;
@ -466,27 +463,6 @@ unit cgobj;
begin
(*
{$IFDEF NEWST}
if (typeof(p^)=typeof(Tvarsym)) and
assigned(pvarsym(p)^.definition) and
not((typeof((pvarsym(p)^.definition^))=typeof(Tobjectdef)) and
(oo_is_class in pobjectdef(pvarsym(p)^.definition)^.options)) and
pvarsym(p)^.definition^.needs_inittable then
begin
procinfo^.flags:=procinfo^.flags or pi_needs_implicit_finally;
reset_reference(hr);
if typeof((tsym(p)^.owner^))=typeof(Tprocsymtable) then
begin
hr.base:=procinfo^.framepointer;
hr.offset:=-pvarsym(p)^.address;
end
else
begin
hr.symbol:=newasmsymbol(pvarsym(p)^.mangledname);
end;
g_initialize(list,pvarsym(p)^.definition,hr,false);
end;
{$ELSE}
if (tsym(p)^.typ=varsym) and
assigned(pvarsym(p)^.vartype.def) and
not((pvarsym(p)^.vartype.def^.deftype=objectdef) and
@ -506,7 +482,6 @@ unit cgobj;
end;
g_initialize(list,pvarsym(p)^.vartype.def,hr,false);
end;
{$ENDIF NEWST}
*)
runerror(211);
end;
@ -520,25 +495,6 @@ unit cgobj;
begin
(*
{$IFDEF NEWST}
if (typeof((tsym(p)^))=typeof(Tparamsym)) and
not((typeof((Pparamsym(p)^.definition^))=typeof(Tobjectdef)) and
(oo_is_class in pobjectdef(pvarsym(p)^.definition)^.options)) and
Pparamsym(p)^.definition^.needs_inittable and
((Pparamsym(p)^.varspez=vs_value)) then
begin
procinfo^.flags:=procinfo^.flags or pi_needs_implicit_finally;
reset_reference(hr);
hr.symbol:=pvarsym(p)^.definition^.get_inittable_label;
a_param_ref_addr(list,hr,2);
reset_reference(hr);
hr.base:=procinfo^.framepointer;
hr.offset:=pvarsym(p)^.address+procinfo^.para_offset;
a_param_ref_addr(list,hr,1);
reset_reference(hr);
a_call_name(list,'FPC_ADDREF',0);
end;
{$ELSE}
if (tsym(p)^.typ=varsym) and
not((pvarsym(p)^.vartype.def^.deftype=objectdef) and
pobjectdef(pvarsym(p)^.vartype.def)^.is_class) and
@ -556,7 +512,6 @@ unit cgobj;
reset_reference(hr);
a_call_name(list,'FPC_ADDREF',0);
end;
{$ENDIF NEWST}
*)
runerror(211);
end;
@ -570,36 +525,6 @@ unit cgobj;
begin
(*
{$IFDEF NEWST}
if (typeof((tsym(p)^))=typeof(Tvarsym)) and
assigned(pvarsym(p)^.definition) and
not((typeof((pvarsym(p)^.definition^))=typeof(Tobjectdef)) and
(oo_is_class in pobjectdef(pvarsym(p)^.definition)^.options)) and
pvarsym(p)^.definition^.needs_inittable then
begin
{ not all kind of parameters need to be finalized }
if (typeof((tsym(p)^.owner^))=typeof(Tprocsymtable)) and
((pparamsym(p)^.varspez=vs_var) or
(Pparamsym(p)^.varspez=vs_const) { and
(dont_copy_const_param(pvarsym(p)^.definition)) } ) then
exit;
procinfo^.flags:=procinfo^.flags or pi_needs_implicit_finally;
reset_reference(hr);
if typeof((tsym(p)^.owner^))=typeof(Tprocsymtable) then
begin
hr.base:=procinfo^.framepointer;
hr.offset:=-pvarsym(p)^.address;
end
else if typeof((tsym(p)^.owner^))=typeof(Tprocsymtable) then
begin
hr.base:=procinfo^.framepointer;
hr.offset:=pvarsym(p)^.address+procinfo^.para_offset;
end
else
hr.symbol:=newasmsymbol(pvarsym(p)^.mangledname);
g_finalize(list,pvarsym(p)^.definition,hr,false);
end;
{$ELSE}
if (tsym(p)^.typ=varsym) and
assigned(pvarsym(p)^.vartype.def) and
not((pvarsym(p)^.vartype.def^.deftype=objectdef) and
@ -630,7 +555,6 @@ unit cgobj;
end;
g_finalize(list,pvarsym(p)^.vartype.def,hr,false);
end;
{$ENDIF NEWST}
*)
runerror(211);
end;
@ -649,13 +573,11 @@ unit cgobj;
{ wrappers for the methods, because TP doesn't know procedures }
{ of objects }
{$IFNDEF NEWST}
procedure _copyvalueparas(s : tnamedindexitem);{$ifndef FPC}far;{$endif}
begin
cg^.g_copyvalueparas(_list,s);
end;
{$ENDIF NEWST}
*)
procedure tcg.g_finalizetempansistrings(list : taasmoutput);
@ -687,24 +609,6 @@ unit cgobj;
end;
(*
{$IFDEF NEWST}
procedure _initialize_local(s:tnamedindexitem);{$IFNDEF FPC}far;{$ENDIF}
begin
if typeof(s^)=typeof(Tparamsym) then
cg^.g_incr_data(_list,tsym(s))
else
cg^.g_initialize_data(_list,tsym(s));
end;
procedure _finalize_data(s : tnamedindexitem);{$ifndef FPC}far;{$endif}
begin
if typeof(s^)=typeof(Tvarsym) then
cg^.g_finalize_data(_list,s);
end;
{$ELSE}
procedure _finalize_data(s : tnamedindexitem);{$ifndef FPC}far;{$endif}
begin
@ -722,7 +626,6 @@ unit cgobj;
begin
cg^.g_initialize_data(_list,tsym(s));
end;
{$ENDIF NEWST}
*)
{ generates the entry code for a procedure }
@ -732,14 +635,6 @@ unit cgobj;
inlined : boolean);
{$IFDEF NEWST}
procedure _copyvalueparas(s:Pparamsym);{$ifndef FPC}far;{$endif}
begin
cg^.g_copyvalueparas(_list,s);
end;
{$ENDIF NEWST}
(*
var
hs : string;
@ -765,11 +660,7 @@ unit cgobj;
list^.insert(new(pai_align,init(4)));
end;
{ save registers on cdecl }
{$IFDEF NEWST}
if (posavestdregs in aktprocdef^.options) then
{$ELSE}
if (po_savestdregs in aktprocsym^.definition^.procoptions) then
{$ENDIF NEWST}
begin
for r:=firstreg to lastreg do
begin
@ -791,39 +682,20 @@ unit cgobj;
begin
CGMessage(cg_d_stackframe_omited);
nostackframe:=true;
{$IFDEF NEWST}
if (aktprocdef^.proctype in [potype_unitinit,potype_proginit,potype_unitfinalize]) then
parasize:=0
else
parasize:=aktprocdef^.localst^.paramdatasize+procinfo^.para_offset-pointersize;
{$ELSE}
if (aktprocsym^.definition^.proctypeoption in [potype_unitinit,potype_proginit,potype_unitfinalize]) then
parasize:=0
else
parasize:=aktprocsym^.definition^.parast^.datasize+procinfo^.para_offset-pointersize;
{$ENDIF NEWST}
end
else
begin
{$IFDEF NEWST}
if (aktprocdef^.proctype in [potype_unitinit,potype_proginit,potype_unitfinalize]) then
parasize:=0
else
parasize:=aktprocdef^.localst^.paramdatasize+procinfo^.para_offset-pointersize*2;
{$ELSE}
if (aktprocsym^.definition^.proctypeoption in [potype_unitinit,potype_proginit,potype_unitfinalize]) then
parasize:=0
else
parasize:=aktprocsym^.definition^.parast^.datasize+procinfo^.para_offset-pointersize*2;
{$ENDIF}
nostackframe:=false;
{$IFDEF NEWST}
if (pointerrupt in aktprocdef^.options) then
g_interrupt_stackframe_entry(list);
{$ELSE}
if (po_interrupt in aktprocsym^.definition^.procoptions) then
g_interrupt_stackframe_entry(list);
{$ENDIF NEWST}
g_stackframe_entry(list,stackframe);
@ -834,11 +706,7 @@ unit cgobj;
if cs_profile in aktmoduleswitches then
g_profilecode(@initcode);
{$IFDEF NEWST}
if (not inlined) and (aktprocdef^.proctype in [potype_unitinit]) then
{$ELSE}
if (not inlined) and (aktprocsym^.definition^.proctypeoption in [potype_unitinit]) then
{$ENDIF NEWST}
begin
{ needs the target a console flags ? }
@ -889,18 +757,6 @@ unit cgobj;
list^.insert(new(pai_force_line,init));
{$endif GDB}
{$IFDEF NEWST}
{ initialize return value }
if assigned(procinfo^.retdef) and
is_ansistring(procinfo^.retdef) or
is_widestring(procinfo^.retdef) then
begin
reset_reference(hr);
hr.offset:=procinfo^.return_offset;
hr.base:=procinfo^.framepointer;
a_load_const_ref(list,OS_32,0,hr);
end;
{$ELSE}
{ initialize return value }
if assigned(procinfo^.returntype.def) and
is_ansistring(procinfo^.returntype.def) or
@ -911,42 +767,21 @@ unit cgobj;
hr.base:=procinfo^.framepointer;
a_load_const_ref(list,OS_32,0,hr);
end;
{$ENDIF}
_list:=list;
{ generate copies of call by value parameters }
{$IFDEF NEWST}
if (poassembler in aktprocdef^.options) then
aktprocdef^.parameters^.foreach(@_copyvalueparas);
{$ELSE}
if (po_assembler in aktprocsym^.definition^.procoptions) then
aktprocsym^.definition^.parast^.foreach({$ifdef FPC}@{$endif FPC}_copyvalueparas);
{$ENDIF NEWST}
aktprocsym^.definition^.parast^.foreach({$ifdef FPCPROCVAR}@{$endif}_copyvalueparas);
{$IFDEF NEWST}
{ initialisizes local data }
aktprocdef^.localst^.foreach({$ifdef FPC}@{$endif FPC}_initialize_local);
{$ELSE}
{ initialisizes local data }
aktprocsym^.definition^.localst^.foreach({$ifdef FPC}@{$endif FPC}_initialize_data);
aktprocsym^.definition^.localst^.foreach({$ifdef FPCPROCVAR}@{$endif}_initialize_data);
{ add a reference to all call by value/const parameters }
aktprocsym^.definition^.parast^.foreach({$ifdef FPC}@{$endif FPC}_incr_data);
{$ENDIF NEWST}
aktprocsym^.definition^.parast^.foreach({$ifdef FPCPROCVAR}@{$endif}_incr_data);
{$IFDEF NEWST}
if (cs_profile in aktmoduleswitches) or
(typeof(aktprocdef^.owner^)=typeof(Tglobalsymtable)) or
(typeof(aktprocdef^.owner^)=typeof(Timplsymtable)) or
(assigned(procinfo^._class) and
(typeof(procinfo^._class^.owner^)=typeof(Tglobalsymtable)) or
(typeof(procinfo^._class^.owner^)=typeof(Timplsymtable))) then
make_global:=true;
{$ELSE}
if (cs_profile in aktmoduleswitches) or
(aktprocsym^.definition^.owner^.symtabletype=globalsymtable) or
(assigned(procinfo^._class) and (procinfo^._class^.owner^.symtabletype=globalsymtable)) then
make_global:=true;
{$ENDIF NEWST}
if not inlined then
begin
hs:=proc_names.get;
@ -1008,17 +843,9 @@ unit cgobj;
list^.insert(new(pai_label,init(aktexitlabel)));
{ call the destructor help procedure }
{$IFDEF NEWST}
if (aktprocdef^.proctype=potype_destructor) then
{$ELSE}
if (aktprocsym^.definition^.proctypeoption=potype_destructor) then
{$ENDIF}
begin
{$IFDEF NEWST}
if oo_is_class in procinfo^._class^.options then
{$ELSE NEWST}
if procinfo^._class^.is_class then
{$ENDIF}
a_call_name(list,'FPC_DISPOSE_CLASS',0)
else
begin
@ -1053,17 +880,11 @@ unit cgobj;
_list:=list;
{ finalize local data }
{$IFDEF NEWST}
aktprocdef^.localst^.foreach({$ifndef TP}@{$endif}_finalize_data);
{$ELSE}
aktprocsym^.definition^.localst^.foreach({$ifndef TP}@{$endif}_finalize_data);
{$ENDIF}
aktprocsym^.definition^.localst^.foreach({$ifdef FPCPROCVAR}@{$endif}_finalize_data);
{$IFNDEF NEWST}
{ finalize paras data }
if assigned(aktprocsym^.definition^.parast) then
aktprocsym^.definition^.parast^.foreach({$ifndef TP}@{$endif}_finalize_data);
{$ENDIF NEWST}
aktprocsym^.definition^.parast^.foreach({$ifdef FPCPROCVAR}@{$endif}_finalize_data);
{ do we need to handle exceptions because of ansi/widestrings ? }
if (procinfo^.flags and pi_needs_implicit_finally)<>0 then
@ -1076,19 +897,6 @@ unit cgobj;
a_cmp_const_reg_label(list,OS_32,OC_EQ,0,accumulator,noreraiselabel);
a_reg_dealloc(list,accumulator);
{$IFDEF NEWST}
{ must be the return value finalized before reraising the exception? }
if (procinfo^.retdef<>tdef(voiddef)) and
(procinfo^.retdef^.needs_inittable) and
((typeof(procinfo^.retdef^)<>typeof(Tobjectdef)) or
not(oo_is_class in pobjectdef(procinfo^.retdef)^.options)) then
begin
reset_reference(hr);
hr.offset:=procinfo^.return_offset;
hr.base:=procinfo^.framepointer;
g_finalize(list,procinfo^.retdef,hr,not (dp_ret_in_acc in procinfo^.retdef^.properties));
end;
{$ELSE}
{ must be the return value finalized before reraising the exception? }
if (procinfo^.returntype.def<>tdef(voiddef)) and
(procinfo^.returntype.def^.needs_inittable) and
@ -1100,29 +908,18 @@ unit cgobj;
hr.base:=procinfo^.framepointer;
g_finalize(list,procinfo^.returntype.def,hr,ret_in_param(procinfo^.returntype.def));
end;
{$ENDIF}
a_call_name(list,'FPC_RERAISE',0);
a_label(list,noreraiselabel);
end;
{ call __EXIT for main program }
{$IFDEF NEWST}
if (not DLLsource) and (not inlined) and (aktprocdef^.proctype=potype_proginit) then
a_call_name(list,'FPC_DO_EXIT',0);
{$ELSE}
if (not DLLsource) and (not inlined) and (aktprocsym^.definition^.proctypeoption=potype_proginit) then
a_call_name(list,'FPC_DO_EXIT',0);
{$ENDIF NEWST}
{ handle return value }
{$IFDEF NEWST}
if not(poassembler in aktprocdef^.options) then
if (aktprocdef^.proctype<>potype_constructor) then
{$ELSE}
if not(po_assembler in aktprocsym^.definition^.procoptions) then
if (aktprocsym^.definition^.proctypeoption<>potype_constructor) then
{$ENDIF NEWST}
{ handle_return_value(inlined) }
else
begin
@ -1166,19 +963,11 @@ unit cgobj;
{ at last, the return is generated }
if not inlined then
{$IFDEF NEWST}
if pointerrupt in aktprocdef^.options then
{$ELSE}
if po_interrupt in aktprocsym^.definition^.procoptions then
{$ENDIF NEWST}
g_interrupt_stackframe_exit(list)
else
g_return_from_proc(list,parasize);
{$IFDEF NEWST}
list^.concat(new(pai_symbol_end,initname(aktprocdef^.mangledname)));
{$ELSE NEWST}
list^.concat(new(pai_symbol_end,initname(aktprocsym^.definition^.mangledname)));
{$ENDIF NEWST}
{$ifdef GDB}
if (cs_debuginfo in aktmoduleswitches) and not inlined then
@ -1491,7 +1280,10 @@ finalization
end.
{
$Log$
Revision 1.3 2001-09-30 16:17:17 jonas
Revision 1.4 2001-09-30 21:26:42 peter
* removed obsolete newst defines
Revision 1.3 2001/09/30 16:17:17 jonas
* made most constant and mem handling processor independent
Revision 1.2 2001/09/28 20:39:32 jonas