mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 10:45:08 +02:00
* removed obsolete newst defines
This commit is contained in:
parent
0d27041955
commit
f709d48789
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user