mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-22 07:41:30 +02:00
* removed oldppu code
* warning if objpas is loaded from uses * first things for new deref writing
This commit is contained in:
parent
5d648e1b4c
commit
a47afc3857
@ -459,6 +459,7 @@ var
|
||||
{$endif}
|
||||
begin
|
||||
case aktoutputformat of
|
||||
as_none : ;
|
||||
{$ifdef i386}
|
||||
{$ifndef NoAg386Bin}
|
||||
as_i386_dbg,
|
||||
@ -524,7 +525,11 @@ begin
|
||||
{$endif NoAg68kMpw}
|
||||
{$endif}
|
||||
else
|
||||
{$ifdef TP}
|
||||
exit;
|
||||
{$else}
|
||||
Message(asmw_f_assembler_output_not_supported);
|
||||
{$endif}
|
||||
end;
|
||||
a^.AsmCreate;
|
||||
a^.WriteAsmList;
|
||||
@ -548,7 +553,12 @@ end;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.46 1999-05-05 22:21:48 peter
|
||||
Revision 1.47 1999-05-13 21:59:19 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.46 1999/05/05 22:21:48 peter
|
||||
* updated messages
|
||||
|
||||
Revision 1.45 1999/05/04 21:44:33 florian
|
||||
|
@ -927,18 +927,9 @@ procedure CreateBrowserCol;
|
||||
Exit;
|
||||
if Owner=nil then
|
||||
Owner:=New(PSortedSymbolCollection, Init(10,50));
|
||||
{$ifdef OLDPPU}
|
||||
defcount:=Table^.number_defs;
|
||||
symcount:=Table^.number_symbols;
|
||||
for I:=1 to symcount do
|
||||
begin
|
||||
Sym:=Table^.GetsymNr(I);
|
||||
if Sym=nil then Continue;
|
||||
{$else}
|
||||
sym:=psym(Table^.symindex^.first);
|
||||
while assigned(sym) do
|
||||
begin
|
||||
{$endif}
|
||||
ParamCount:=0;
|
||||
New(Symbol, Init(Sym^.Name,Sym^.Typ,'',nil));
|
||||
case Sym^.Typ of
|
||||
@ -1057,9 +1048,7 @@ procedure CreateBrowserCol;
|
||||
end;
|
||||
if Assigned(Symbol) then
|
||||
Owner^.Insert(Symbol);
|
||||
{$ifndef OLDPPU}
|
||||
sym:=psym(sym^.next);
|
||||
{$endif}
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -1241,7 +1230,12 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.15 1999-04-29 09:36:55 peter
|
||||
Revision 1.16 1999-05-13 21:59:20 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.15 1999/04/29 09:36:55 peter
|
||||
* fixed crash
|
||||
* check if localbrowser is set
|
||||
|
||||
|
@ -710,11 +710,7 @@ do_jmp:
|
||||
|
||||
{ what a hack ! }
|
||||
if assigned(p^.exceptsymtable) then
|
||||
{$ifndef OLDPPU}
|
||||
pvarsym(p^.exceptsymtable^.symindex^.first)^.address:=ref.offset;
|
||||
{$else}
|
||||
pvarsym(p^.exceptsymtable^.searchroot)^.address:=ref.offset;
|
||||
{$endif}
|
||||
|
||||
exprasmlist^.concat(new(pai386,op_reg_ref(A_MOV,S_L,
|
||||
R_EAX,newreference(ref))));
|
||||
@ -802,7 +798,12 @@ do_jmp:
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.35 1999-05-01 13:24:07 peter
|
||||
Revision 1.36 1999-05-13 21:59:21 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.35 1999/05/01 13:24:07 peter
|
||||
* merged nasm compiler
|
||||
* old asm moved to oldasm/
|
||||
|
||||
|
@ -751,16 +751,12 @@ uses
|
||||
{ Load values to be access easier }
|
||||
flags:=ppufile^.header.flags;
|
||||
crc:=ppufile^.header.checksum;
|
||||
{$ifndef OLDPPU}
|
||||
interface_crc:=ppufile^.header.interface_checksum;
|
||||
{$endif}
|
||||
{ Show Debug info }
|
||||
Message1(unit_u_ppu_time,filetimestring(ppufiletime));
|
||||
Message1(unit_u_ppu_flags,tostr(flags));
|
||||
Message1(unit_u_ppu_crc,tostr(ppufile^.header.checksum));
|
||||
{$ifndef OLDPPU}
|
||||
Message1(unit_u_ppu_crc,tostr(ppufile^.header.interface_checksum)+' (intfc)');
|
||||
{$endif}
|
||||
{ check the object and assembler file to see if we need only to
|
||||
assemble, only if it's not in a library }
|
||||
do_compile:=false;
|
||||
@ -933,10 +929,8 @@ uses
|
||||
|
||||
|
||||
procedure tmodule.reset;
|
||||
{$ifndef OLDPPU}
|
||||
var
|
||||
pm : pdependent_unit;
|
||||
{$endif}
|
||||
begin
|
||||
if assigned(scanner) then
|
||||
pscannerfile(scanner)^.invalid:=true;
|
||||
@ -969,7 +963,6 @@ uses
|
||||
used_units.done;
|
||||
used_units.init;
|
||||
{ all units that depend on this one must be recompiled ! }
|
||||
{$ifndef OLDPPU}
|
||||
pm:=pdependent_unit(dependent_units.first);
|
||||
while assigned(pm) do
|
||||
begin
|
||||
@ -982,7 +975,6 @@ uses
|
||||
end;
|
||||
pm:=pdependent_unit(pm^.next);
|
||||
end;
|
||||
{$endif OLDPPU}
|
||||
dependent_units.done;
|
||||
dependent_units.init;
|
||||
resourcefiles.done;
|
||||
@ -1194,7 +1186,12 @@ uses
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.94 1999-05-04 21:44:42 florian
|
||||
Revision 1.95 1999-05-13 21:59:25 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.94 1999/05/04 21:44:42 florian
|
||||
* changes to compile it with Delphi 4.0
|
||||
|
||||
Revision 1.93 1999/04/26 13:31:29 peter
|
||||
|
@ -62,7 +62,7 @@ unit globals;
|
||||
[m_delphi,m_tp,m_all,m_class,m_objpas,m_result,m_string_pchar,
|
||||
m_pointer_2_procedure,m_autoderef];
|
||||
fpcmodeswitches : tmodeswitches=
|
||||
[m_fpc,m_all,m_class,m_string_pchar,m_nested_comment,m_repeat_forward,
|
||||
[m_fpc,m_all,m_string_pchar,m_nested_comment,m_repeat_forward,
|
||||
m_cvar_support];
|
||||
objfpcmodeswitches : tmodeswitches=
|
||||
[m_fpc,m_all,m_objpas,m_class,m_result,m_string_pchar,m_nested_comment,
|
||||
@ -1161,7 +1161,7 @@ unit globals;
|
||||
{$ifdef i386}
|
||||
initoptprocessor:=Class386;
|
||||
initlocalswitches:=[];
|
||||
initmoduleswitches:=[cs_extsyntax{$ifndef OLDPPU},cs_browser{$endif}];
|
||||
initmoduleswitches:=[cs_extsyntax,cs_browser];
|
||||
initglobalswitches:=[cs_check_unit_name];
|
||||
initmodeswitches:=fpcmodeswitches;
|
||||
initpackenum:=4;
|
||||
@ -1173,7 +1173,7 @@ unit globals;
|
||||
{$ifdef m68k}
|
||||
initoptprocessor:=MC68000;
|
||||
initlocalswitches:=[];
|
||||
initmoduleswitches:=[cs_extsyntax{$ifndef OLDPPU},cs_browser{$endif},cs_fp_emulation];
|
||||
initmoduleswitches:=[cs_extsyntax,cs_browser,cs_fp_emulation];
|
||||
initglobalswitches:=[cs_check_unit_name];
|
||||
initmodeswitches:=fpcmodeswitches;
|
||||
initpackenum:=4;
|
||||
@ -1203,7 +1203,12 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.6 1999-05-05 10:05:50 florian
|
||||
Revision 1.7 1999-05-13 21:59:26 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.6 1999/05/05 10:05:50 florian
|
||||
* a delphi compiled compiler recompiles ppc
|
||||
|
||||
Revision 1.5 1999/05/04 21:44:43 florian
|
||||
|
@ -93,7 +93,7 @@ implementation
|
||||
dispose(p);
|
||||
end;
|
||||
|
||||
procedure insertmsgstr(p : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});{$ifndef FPC}far;{$endif FPC}
|
||||
procedure insertmsgstr(p : pnamedindexobject);{$ifndef FPC}far;{$endif FPC}
|
||||
|
||||
var
|
||||
hp : pprocdef;
|
||||
@ -141,7 +141,7 @@ implementation
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure insertmsgint(p : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});{$ifndef FPC}far;{$endif FPC}
|
||||
procedure insertmsgint(p : pnamedindexobject);{$ifndef FPC}far;{$endif FPC}
|
||||
|
||||
var
|
||||
hp : pprocdef;
|
||||
@ -288,7 +288,7 @@ implementation
|
||||
_c : pobjectdef;
|
||||
has_constructor,has_virtual_method : boolean;
|
||||
|
||||
procedure eachsym(sym : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});{$ifndef FPC}far;{$endif FPC}
|
||||
procedure eachsym(sym : pnamedindexobject);{$ifndef FPC}far;{$endif FPC}
|
||||
|
||||
var
|
||||
procdefcoll : pprocdefcoll;
|
||||
@ -566,7 +566,12 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.3 1999-04-26 13:31:34 peter
|
||||
Revision 1.4 1999-05-13 21:59:27 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.3 1999/04/26 13:31:34 peter
|
||||
* release storenumber,double_checksum
|
||||
|
||||
Revision 1.2 1999/04/21 09:43:37 peter
|
||||
|
@ -198,6 +198,7 @@ type tmsgconst=(
|
||||
parser_e_self_in_non_message_handler,
|
||||
parser_e_threadvars_only_sg,
|
||||
parser_f_direct_assembler_not_allowed,
|
||||
parser_w_no_objpas_use_mode,
|
||||
parser_e_no_object_override,
|
||||
type_e_mismatch,
|
||||
type_e_incompatible_types,
|
||||
|
@ -1,8 +1,4 @@
|
||||
{$ifdef Delphi}
|
||||
const msgtxt : array[0..000094] of string[240]=(
|
||||
{$else Delphi}
|
||||
const msgtxt : array[0..000094,1..240] of char=(
|
||||
{$endif Delphi}
|
||||
const msgtxt : array[0..00094,1..240] of char=(+
|
||||
'T_Compiler: $1'#000+
|
||||
'D_Compiler OS: $1'#000+
|
||||
'I_Target OS: $1'#000+
|
||||
@ -145,7 +141,7 @@ const msgtxt : array[0..000094,1..240] of char=(
|
||||
'E_Procedures can'#039't return a value'#000+
|
||||
'E_constructors and destructors must be methods'#000+
|
||||
'E_Operator is not overloaded'#000+
|
||||
'E_Re-raise isn'#039't possible there'#000,
|
||||
'E_Re-raise isn'#039't possible there'#000,+
|
||||
'E_The extended syntax of new or dispose isn'#039't allowed for a class'#000+
|
||||
'E_Assembler incompatible with function return type'#000+
|
||||
'E_Procedure overloading is switched off'#000+
|
||||
@ -209,423 +205,425 @@ const msgtxt : array[0..000094,1..240] of char=(
|
||||
'E_Duplicate message label: %1'#000+
|
||||
'E_Self can be only an explicit parameter in message handlers',#000+
|
||||
'E_Threadvars can be only static or global'#000+
|
||||
'F_Direct assembler not supported for output format'#000+
|
||||
'F_Direct assembler not supported for binary output format'#000+
|
||||
'W_Don'#039't load OBJPAS unit manual, use {$mode objfpc} or {$mode delp'+
|
||||
'hi} instead'#000+
|
||||
'E_OVERRIDE can'#039't be used in objects'#000+
|
||||
'E_Type mismatch'#000+
|
||||
'E_Incompatible types: got $1 expected $2'#000+
|
||||
'E_Incompa','tible types: got $1 expected $2'#000+
|
||||
'E_Integer expression expected'#000+
|
||||
'E_Ordinal expression ex','pected'#000+
|
||||
'E_Ordinal expression expected'#000+
|
||||
'E_Type identifier expected'#000+
|
||||
'E_Variable identifier expected'#000+
|
||||
'E_pointer type expected'#000+
|
||||
'E_class type expected'#000+
|
||||
'E_Variable or type indentifier expected'#000+
|
||||
'E_Can'#039't evaluate constant expression'#000+
|
||||
'E_Ca','n'#039't evaluate constant expression'#000+
|
||||
'E_Set elements are not compatible'#000+
|
||||
'E_Operation not im','plemented for sets'#000+
|
||||
'E_Operation not implemented for sets'#000+
|
||||
'W_Automatic type conversion from floating type to COMP which is an int'+
|
||||
'eger type'#000+
|
||||
'H_use DIV instead to get an integer result'#000+
|
||||
'E_string types doesn'#039't match, because of $V+ mode'#000+
|
||||
'E_succ or pred on enums with assignments not pos','sible'#000+
|
||||
'E_string type','s doesn'#039't match, because of $V+ mode'#000+
|
||||
'E_succ or pred on enums with assignments not possible'#000+
|
||||
'E_Can'#039't read or write variables of this type'#000+
|
||||
'E_Type conflict between set elements'#000+
|
||||
'W_lo/hi(longint/dword) returns the upper/lower word'#000+
|
||||
'E_Integer or real expression expected'#000+
|
||||
'E_Integer or re','al expression expected'#000+
|
||||
'E_Wrong type in array constructor'#000+
|
||||
'E_Incompatible type for arg ','#$1: Got $2, expected $3'#000+
|
||||
'E_Incompatible type for arg #$1: Got $2, expected $3'#000+
|
||||
'E_Identifier not found $1'#000+
|
||||
'F_Internal Error in SymTableStack()'#000+
|
||||
'E_Duplicate identifier $1'#000+
|
||||
'H_Identifier already defined in $1 at line $2'#000+
|
||||
'H_Identifier already defined in $1 at line',' $2'#000+
|
||||
'E_Unknown identifier $1'#000+
|
||||
'E_Forward declaration not solved $1'#000+
|
||||
'F_Identifier type alr','eady defined as type'#000+
|
||||
'F_Identifier type already defined as type'#000+
|
||||
'E_Error in type definition'#000+
|
||||
'E_Type identifier not defined'#000+
|
||||
'E_Forward type not resolved $1'#000+
|
||||
'E_Only static variables can be used in static methods or outside metho'+
|
||||
'ds'#000+
|
||||
'E_Only static variables can be used in static ','methods or outside met'+
|
||||
'hods'#000+
|
||||
'E_Invalid call to tvarsym.mangledname()'#000+
|
||||
'F_record or class ','type expected'#000+
|
||||
'F_record or class type expected'#000+
|
||||
'E_Instances of classes or objects with an abstract method are not allo'+
|
||||
'wed'#000+
|
||||
'W_Label not defined $1'#000+
|
||||
'E_Illegal label declaration'#000+
|
||||
'E_GOTO und LABEL are not supported (use switch -Sg)'#000+
|
||||
'E_GOTO und LABEL',' are not supported (use switch -Sg)'#000+
|
||||
'E_Label not found'#000+
|
||||
'E_identifier isn'#039't a label'#000+
|
||||
'E_la','bel already defined'#000+
|
||||
'E_label already defined'#000+
|
||||
'E_illegal type declaration of set elements'#000+
|
||||
'E_Forward class definition not resolved $1'#000+
|
||||
'H_Parameter not used $1'#000+
|
||||
'N_Local variable not used $1'#000+
|
||||
'N_Local variable not used',' $1'#000+
|
||||
'E_Set type expected'#000+
|
||||
'W_Function result does not seem to be set'#000+
|
||||
'E_Unknown record fi','eld identifier $1'#000+
|
||||
'E_Unknown record field identifier $1'#000+
|
||||
'W_Local variable $1 does not seem to be initialized'#000+
|
||||
'E_identifier idents no member $1'#000+
|
||||
'B_Found declaration: $1'#000+
|
||||
'E_BREAK not allowed'#000+
|
||||
'E_CONTINUE not allowed'#000+
|
||||
'E_CONTIN','UE not allowed'#000+
|
||||
'E_Expression too complicated - FPU stack overflow'#000+
|
||||
'E_Illegal expression',#000+
|
||||
'E_Illegal expression'#000+
|
||||
'E_Invalid integer expression'#000+
|
||||
'E_Illegal qualifier'#000+
|
||||
'E_High range limit < low range limit'#000+
|
||||
'E_Illegal counter variable'#000+
|
||||
'E_Can'#039't determine which overloaded function to call'#000+
|
||||
'E_Can'#039't determine which overloaded functi','on to call'#000+
|
||||
'E_Parameter list size exceeds 65535 bytes'#000+
|
||||
'E_Illegal type conversion'#000+
|
||||
'E_File',' types must be var parameters'#000+
|
||||
'E_File types must be var parameters'#000+
|
||||
'E_The use of a far pointer isn'#039't allowed there'#000+
|
||||
'E_illegal call by reference parameters'#000+
|
||||
'E_EXPORT declared functions can'#039't be called'#000+
|
||||
'E_EXPORT declared functions can'#039't be ca','lled'#000+
|
||||
'W_Possible illegal call of constructor or destructor (doesn'#039't matc'+
|
||||
'h to this cont','ext)'#000+
|
||||
'h to this context)'#000+
|
||||
'N_Inefficient code'#000+
|
||||
'W_unreachable code'#000+
|
||||
'E_procedure call with stackframe ESP/SP'#000+
|
||||
'E_Abstract methods can'#039't be called directly'#000+
|
||||
'F_Internal Error in getfloatreg(), allocation failure'#000+
|
||||
'F_Internal Error in getfloat','reg(), allocation failure'#000+
|
||||
'F_Unknown float type'#000+
|
||||
'F_SecondVecn() base defined twice'#000+
|
||||
'F_Ex','tended cg68k not supported'#000+
|
||||
'F_Extended cg68k not supported'#000+
|
||||
'F_32-bit unsigned not supported in MC68000 mode'#000+
|
||||
'F_Internal Error in secondinline()'#000+
|
||||
'D_Register $1 weight $2 $3'#000+
|
||||
'E_Stack limit excedeed in local routine'#000+
|
||||
'E_Stack limit exce','deed in local routine'#000+
|
||||
'D_Stack frame is omitted'#000+
|
||||
'E_Object or class methods can'#039't be inl','ine.'#000+
|
||||
'E_Object or class methods can'#039't be inline.'#000+
|
||||
'E_Procvar calls can'#039't be inline.'#000+
|
||||
'E_No code for inline procedure stored'#000+
|
||||
'E_Element zero of an ansi/wide- or longstring can'#039't be accessed, u'+
|
||||
'se (set)length instead'#000+
|
||||
'se (set)lengt','h instead'#000+
|
||||
'E_Include and exclude not implemented in this case'#000+
|
||||
'W_Probably illegal const','ant passed to internal math function'#000+
|
||||
'W_Probably illegal constant passed to internal math function'#000+
|
||||
'E_Constructors or destructors can not be called inside a '#039'with'#039+
|
||||
' clause'#000+
|
||||
'E_Cannot call message handler method directly'#000+
|
||||
'D_Starting $1 styled assembler parsing'#000+
|
||||
'D','_Starting $1 styled assembler parsing'#000+
|
||||
'D_Finished $1 styled assembler parsing'#000+
|
||||
'E_Non-la','bel pattern contains @'#000+
|
||||
'E_Non-label pattern contains @'#000+
|
||||
'W_Override operator not supported'#000+
|
||||
'E_Error building record offset'#000+
|
||||
'E_OFFSET used without identifier'#000+
|
||||
'E_Cannot use local variable or parameters here'#000+
|
||||
'E_Cannot use local variable or par','ameters here'#000+
|
||||
'E_need to use OFFSET here'#000+
|
||||
'E_Cannot use multiple relocatable symbols'#000+
|
||||
'E_Re','locatable symbol can only be added'#000+
|
||||
'E_Relocatable symbol can only be added'#000+
|
||||
'E_Invalid constant expression'#000+
|
||||
'E_Relocatable symbol is not allowed'#000+
|
||||
'E_Invalid reference syntax'#000+
|
||||
'E_Local symbols not allowed as references'#000+
|
||||
'E_Local symbols not allowed',' as references'#000+
|
||||
'E_Invalid base and index register usage'#000+
|
||||
'E_Wrong scale factor specified',#000+
|
||||
'E_Wrong scale factor specified'#000+
|
||||
'E_Multiple index register usage'#000+
|
||||
'E_Invalid operand type'#000+
|
||||
'E_Invalid string as opcode operand: $1'#000+
|
||||
'W_@CODE and @DATA not supported'#000+
|
||||
'E_Null label references are not allowed'#000+
|
||||
'E_Null label references are ','not allowed'#000+
|
||||
'F_Divide by zero in asm evaluator'#000+
|
||||
'F_Evaluator stack overflow'#000+
|
||||
'F_Evaluator ','stack underflow'#000+
|
||||
'F_Evaluator stack underflow'#000+
|
||||
'F_Invalid numeric format in asm evaluator'#000+
|
||||
'F_Invalid Operator in asm evaluator'#000+
|
||||
'E_escape sequence ignored: $1'#000+
|
||||
'E_Invalid symbol reference'#000+
|
||||
'W_Fwait can cause emulation problems with emu387'#000+
|
||||
'W_Calling an overload function in assemb','ler'#000+
|
||||
'W_Fw','ait can cause emulation problems with emu387'#000+
|
||||
'W_Calling an overload function in assembler'#000+
|
||||
'E_Unsupported symbol type for operand'#000+
|
||||
'E_Constant value out of bounds'#000+
|
||||
'E_Error converting decimal $1'#000+
|
||||
'E_Error converting octal $1'#000+
|
||||
'E_Error converting binary $1'#000+
|
||||
'E_Error converting binar','y $1'#000+
|
||||
'E_Error converting hexadecimal $1'#000+
|
||||
'H_$1 translated to $2'#000+
|
||||
'W_$1 is associated to an',' overloaded function'#000+
|
||||
'W_$1 is associated to an overloaded function'#000+
|
||||
'E_Cannot use SELF outside a method'#000+
|
||||
'E_Cannot use __SELF outside a method'#000+
|
||||
'E_Cannot use __OLDEBP outside a nested procedure'#000+
|
||||
'W_Functions with void return value can'#039't return any value in asm c'+
|
||||
'ode'#000+
|
||||
'W_Functions w','ith void return value can'#039't return any value in asm'+
|
||||
' code'#000+
|
||||
'E_SEG not supported'#000+
|
||||
'E_Size s','uffix and destination or source size do not match'#000+
|
||||
'E_Size suffix and destination or source size do not match'#000+
|
||||
'W_Size suffix and destination or source size do not match'#000+
|
||||
'E_Assembler syntax error'#000+
|
||||
'E_Invalid combination of opcode and operands'#000+
|
||||
'E_Invalid combination ','of opcode and operands'#000+
|
||||
'E_Assemler syntax error in operand'#000+
|
||||
'E_Assemler syntax error in ','constant'#000+
|
||||
'E_Assemler syntax error in constant'#000+
|
||||
'E_Invalid String expression'#000+
|
||||
'32bit constant created for address'#000+
|
||||
'E_Invalid or missing opcode'#000+
|
||||
'E_Invalid combination of prefix and opcode: $1'#000+
|
||||
'E_Invalid combination of override and opcode: $1'#000+
|
||||
'E_Invali','d combination of override and opcode: $1'#000+
|
||||
'E_Too many operands on line'#000+
|
||||
'W_NEAR ignored'#000+
|
||||
'W','_FAR ignored'#000+
|
||||
'W_FAR ignored'#000+
|
||||
'E_Duplicate local symbol $1'#000+
|
||||
'E_Undefined local symbol $1'#000+
|
||||
'E_Unknown label identifier $1'#000+
|
||||
'E_Invalid floating point register name'#000+
|
||||
'E_NOR not supported'#000+
|
||||
'E_NOR not support','ed'#000+
|
||||
'W_Modulo not supported'#000+
|
||||
'E_Invalid floating point constant $1'#000+
|
||||
'E_Invalid floating poi','nt expression'#000+
|
||||
'E_Invalid floating point expression'#000+
|
||||
'E_Wrong symbol type'#000+
|
||||
'E_Cannot index a local var or parameter with a register'#000+
|
||||
'E_Invalid segment override expression'#000+
|
||||
'W_Identifier $1 supposed external'#000+
|
||||
'W_Identifier $1 supposed ex','ternal'#000+
|
||||
'E_Strings not allowed as constants'#000+
|
||||
'No type of variable specified'#000+
|
||||
'E_assembler c','ode not returned to text section'#000+
|
||||
'E_assembler code not returned to text section'#000+
|
||||
'E_Not a directive or local symbol $1'#000+
|
||||
'E_Using a defined name as a local label'#000+
|
||||
'F_Too many assembler files'#000+
|
||||
'F_Selected assembler output not supported'#000+
|
||||
'F_Selected assembl','er output not supported'#000+
|
||||
'F_Comp not supported'#000+
|
||||
'F_Direct not support for binary writers'#000,
|
||||
'F_Direct not support for binary writers'#000+
|
||||
'E_Allocating of data is only allowed in bss section'#000+
|
||||
'F_No binary writer selected'#000+
|
||||
'E_Asm: Opcode $1 not in table'#000+
|
||||
'E_Asm: $1 invalid combination of opcode and operands'#000+
|
||||
'E_Asm: $1 invalid combination of opcode and o','perands'#000+
|
||||
'E_Asm: 16 Bit references not supported'#000+
|
||||
'E_Asm: Invalid effective address'#000+
|
||||
'E_Asm',': Immediate or reference expected'#000+
|
||||
'E_Asm: Immediate or reference expected'#000+
|
||||
'E_Asm: $1 value exceeds bounds $2'#000+
|
||||
'E_Asm: Short jump is out of range $1'#000+
|
||||
'W_Source operating system redefined'#000+
|
||||
'I_Assembling (pipe) $1'#000+
|
||||
'I_Assembling (','pipe) $1'#000+
|
||||
'E_Can'#039't create assember file $1'#000+
|
||||
'W_Assembler $1 not found, switching to exter','nal assembling'#000+
|
||||
'W_Assembler $1 not found, switching to external assembling'#000+
|
||||
'T_Using assembler: $1'#000+
|
||||
'W_Error while assembling exitcode $1'#000+
|
||||
'W_Can'#039't call the assembler, error $1 switching to external assembl'+
|
||||
'ing'#000+
|
||||
'I_Assembling $1'#000+
|
||||
'I_Assemblin','g $1'#000+
|
||||
'W_Linker $1 not found, switching to external linking'#000+
|
||||
'T_Using linker: $1'#000+
|
||||
'W_Object',' $1 not found, Linking may fail !'#000+
|
||||
'W_Object $1 not found, Linking may fail !'#000+
|
||||
'W_Library $1 not found, Linking may fail !'#000+
|
||||
'W_Error while linking'#000+
|
||||
'W_Can'#039't call the linker, switching to external linking'#000+
|
||||
'I_Linking $1'#000+
|
||||
'I','_Linking $1'#000+
|
||||
'W_binder not found, switching to external binding'#000+
|
||||
'W_ar not found, switchi','ng to external ar'#000+
|
||||
'W_ar not found, switching to external ar'#000+
|
||||
'E_Dynamic Libraries not supported'#000+
|
||||
'I_Closing script $1'#000+
|
||||
'W_resource compiler not found, switching to external mode'#000+
|
||||
'I_Compiling resource $1'#000+
|
||||
'F_Can'#039't post process executable $1'#000+
|
||||
'F','_Can'#039't post process executable $1'#000+
|
||||
'F_Can'#039't open executable $1'#000+
|
||||
'X_Size of Code: $1 bytes',#000+
|
||||
'X_Size of Code: $1 bytes'#000+
|
||||
'X_Size of initialized data: $1 bytes'#000+
|
||||
'X_Size of uninitialized data: $1 bytes'#000+
|
||||
'X_Stack space reserved: $1 bytes'#000+
|
||||
'X_Stack space commited: $1 bytes'#000+
|
||||
'T_Unitsearch: $1'#000+
|
||||
'T_Unitsearch',': $1'#000+
|
||||
'T_PPU Loading $1'#000+
|
||||
'U_PPU Name: $1'#000+
|
||||
'U_PPU Flags: $1'#000+
|
||||
'U_PPU Crc: $1'#000+
|
||||
'U_PPU Time: $1'#000+
|
||||
'U_P','PU File too short'#000+
|
||||
'U_PPU File too short'#000+
|
||||
'U_PPU Invalid Header (no PPU at the begin)'#000+
|
||||
'U_PPU Invalid Version $1'#000+
|
||||
'U_PPU is compiled for an other processor'#000+
|
||||
'U_PPU is compiled for an other target'#000+
|
||||
'U_PPU is compiled for an oth','er target'#000+
|
||||
'U_PPU Source: $1'#000+
|
||||
'U_Writing $1'#000+
|
||||
'F_Can'#039't Write PPU-File'#000+
|
||||
'F_reading PPU-File'#000+
|
||||
'F_u','nexpected end of PPU-File'#000+
|
||||
'F_unexpected end of PPU-File'#000+
|
||||
'F_Invalid PPU-File entry: $1'#000+
|
||||
'F_PPU Dbx count problem'#000+
|
||||
'E_Illegal unit name: $1'#000+
|
||||
'F_Too much units'#000+
|
||||
'F_Circular unit reference between $1 and $2'#000+
|
||||
'F_Circular unit reference between $','1 and $2'#000+
|
||||
'F_Can'#039't compile unit $1, no sources available'#000+
|
||||
'W_Compiling the system unit re','quires the -Us switch'#000+
|
||||
'W_Compiling the system unit requires the -Us switch'#000+
|
||||
'F_There were $1 errors compiling module, stopping'#000+
|
||||
'U_Load from $1 ($2) unit $3'#000+
|
||||
'U_Recompiling $1, checksum changed for $2'#000+
|
||||
'U_Recompiling $1, source found only'#000+
|
||||
'U_Recompiling',' $1, source found only'#000+
|
||||
'U_Recompiling unit, static lib is older than ppufile'#000+
|
||||
'U_Recompi','ling unit, shared lib is older than ppufile'#000+
|
||||
'U_Recompiling unit, shared lib is older than ppufile'#000+
|
||||
'U_Recompiling unit, obj and asm are older than ppufile'#000+
|
||||
'U_Recompiling unit, obj is older than asm'#000+
|
||||
'U_Parsing interface of $1'#000+
|
||||
'U_Parsing inte','rface of $1'#000+
|
||||
'U_Parsing implementation of $1'#000+
|
||||
'U_Second load for unit $1'#000+
|
||||
'U_PPU Check file',' $1 time $2'#000+
|
||||
'U_PPU Check file $1 time $2'#000+
|
||||
'$1 [options] <inputfile> [options]'#000+
|
||||
'W_Only one source file supported'#000+
|
||||
'W_DEF file can be created only for OS/2'#000+
|
||||
'E_nested response files are not supported'#000+
|
||||
'E_nested response files are not sup','ported'#000+
|
||||
'F_No source file name in command line'#000+
|
||||
'E_Illegal parameter: $1'#000+
|
||||
'H_-? writes help',' pages'#000+
|
||||
'H_-? writes help pages'#000+
|
||||
'F_Too many config files nested'#000+
|
||||
'F_Unable to open file $1'#000+
|
||||
'N_Reading further options from $1'#000+
|
||||
'W_Target is already set to: $1'#000+
|
||||
'W_Shared libs not supported on DOS platform, reverting to static'#000+
|
||||
'W_Shared libs not supported',' on DOS platform, reverting to static'#000+
|
||||
'F_too many IF(N)DEFs'#000+
|
||||
'F_too many ENDIFs'#000+
|
||||
'F_open c','onditional at the end of the file'#000+
|
||||
'F_open conditional at the end of the file'#000+
|
||||
'W_Debug information generation is not supported by this executable'#000+
|
||||
'H_Try recompiling with -dGDB'#000+
|
||||
'W_You are using the obsolete switch $1'#000+
|
||||
'W_You are using the obsol','ete switch $1'#000+
|
||||
'Free Pascal Compiler version $FPCVER [$FPCDATE] for $FPCTARGET'#000+
|
||||
'Copyrigh','t (c) 1993-98 by Florian Klaempfl'#000+
|
||||
'Copyright (c) 1993-98 by Florian Klaempfl'#000+
|
||||
'Free Pascal Compiler version $FPCVER'#000+
|
||||
#000+
|
||||
'Compiler Date : $FPCDATE'#000+
|
||||
'Compiler Target: $FPCTARGET'#000+
|
||||
#000+
|
||||
'This program comes under the GNU General Public Licence'#000+
|
||||
'This program comes under the',' GNU General Public Licence'#000+
|
||||
'For more information read COPYING.FPC'#000+
|
||||
#000+
|
||||
'Report bugs,sugges','tions etc to:'#000+
|
||||
'Report bugs,suggestions etc to:'#000+
|
||||
' fpc-devel@vekoll.saturnus.vein.hu'#000+
|
||||
'**0*_put + after a boolean switch option to enable it, - to disable it'+
|
||||
#000+
|
||||
'**1a_the compiler doesn'#039't delete the generated assembler file'#000+
|
||||
'**2al_list sourcecode lines in assembler f','ile'#000+
|
||||
'**1a_the compiler d','oesn'#039't delete the generated assembler file'#000+
|
||||
'**2al_list sourcecode lines in assembler file'#000+
|
||||
'**1b_generate browser info'#000+
|
||||
'**2bl_generate local symbol info'#000+
|
||||
'**1B_build all modules'#000+
|
||||
'**1C<x>_code generation options:'#000+
|
||||
'3*2CD_create dynamic library'#000+
|
||||
'**2Ch<n>_<n> bytes heap (between 1023 and 67107840)'#000+
|
||||
'**2Ch<','n>_<n> bytes heap (between 1023 and 67107840)'#000+
|
||||
'**2Ci_IO-checking'#000+
|
||||
'**2Cn_omit linking st','age'#000+
|
||||
'**2Cn_omit linking stage'#000+
|
||||
'**2Co_check overflow of integer operations'#000+
|
||||
'**2Cr_range checking'#000+
|
||||
'**2Cs<n>_set stack size to <n>'#000+
|
||||
'**2Ct_stack checking'#000+
|
||||
'3*2CS_create static library'#000+
|
||||
'3*2Cx_use smartlinking'#000+
|
||||
'3*2Cx_u','se smartlinking'#000+
|
||||
'**1d<x>_defines the symbol <x>'#000+
|
||||
'*O1D_generate a DEF file'#000+
|
||||
'*O2Dd<x>_set ','description to <x>'#000+
|
||||
'*O2Dd<x>_set description to <x>'#000+
|
||||
'*O2Dw_PM application'#000+
|
||||
'**1e<x>_set path to executable'#000+
|
||||
'**1E_same as -Cn'#000+
|
||||
'**1F<x>_set file names and paths:'#000+
|
||||
'**2FD<x>_sets the directory where to search for compiler utilities'#000+
|
||||
'**2FD<x>_sets the directory where',' to search for compiler utilities'#000+
|
||||
'**2Fe<x>_redirect error output to <x>'#000+
|
||||
'**2FE<x>_set ','exe/unit output path to <x>'#000+
|
||||
'**2FE<x>_set exe/unit output path to <x>'#000+
|
||||
'*L2Fg<x>_same as -Fl'#000+
|
||||
'**2Fi<x>_adds <x> to include path'#000+
|
||||
'**2Fl<x>_adds <x> to library path'#000+
|
||||
'*L2FL<x>_uses <x> as dynamic linker'#000+
|
||||
'**2Fo<x>_adds <x> to object path'#000+
|
||||
'**','2Fo<x>_adds <x> to object path'#000+
|
||||
'**2Fr<x>_load error message file <x>'#000+
|
||||
'**2Fu<x>_adds <x>',' to unit path'#000+
|
||||
'**2Fu<x>_adds <x> to unit path'#000+
|
||||
'**2FU<x>_set unit output path to <x>, overrides -FE'#000+
|
||||
'*g1g<x>_generate debugger information:'#000+
|
||||
'*g2gg_use gsym'#000+
|
||||
'*g2gd_use dbx'#000+
|
||||
'*g2gh_use heap trace unit'#000+
|
||||
'*g2gh_use heap trace ','unit'#000+
|
||||
'**1i_information'#000+
|
||||
'**2iD_return compiler date'#000+
|
||||
'**2iV_return compiler version'#000+
|
||||
'**2iSO','_return compiler OS'#000+
|
||||
'**2iSO_return compiler OS'#000+
|
||||
'**2iSP_return compiler processor'#000+
|
||||
'**2iTO_return target OS'#000+
|
||||
'**2iTP_return target processor'#000+
|
||||
'**1I<x>_adds <x> to include path'#000+
|
||||
'**1k<x>_Pass <x> to the linker'#000+
|
||||
'**1k<x>_Pass <','x> to the linker'#000+
|
||||
'**1l_write logo'#000+
|
||||
'**1n_don'#039't read the default config file'#000+
|
||||
'**1o<x>_chan','ge the name of the executable produced to <x>'#000+
|
||||
'**1o<x>_change the name of the executable produced to <x>'#000+
|
||||
'**1pg_generate profile code for gprof'#000+
|
||||
'*L1P_use pipes instead of creating temporary assembler files'#000+
|
||||
'**1S<x>_syntax options:'#000+
|
||||
'**1S<x>_sy','ntax options:'#000+
|
||||
'**2S2_switch some Delphi 2 extensions on'#000+
|
||||
'**2Sc_supports operators like ','C (*=,+=,/= and -=)'#000+
|
||||
'**2Sc_supports operators like C (*=,+=,/= and -=)'#000+
|
||||
'**2Sd_tries to be Delphi compatible'#000+
|
||||
'**2Se_compiler stops after the first error'#000+
|
||||
'**2Sg_allow LABEL and GOTO'#000+
|
||||
'**2Sh_Use ansistrings'#000+
|
||||
'**2Si_support C++ styled INLINE'#000+
|
||||
'**2Si_s','upport C++ styled INLINE'#000+
|
||||
'**2Sm_support macros like C (global)'#000+
|
||||
'**2So_tries to be TP/BP',' 7.0 compatible'#000+
|
||||
'**2So_tries to be TP/BP 7.0 compatible'#000+
|
||||
'**2Sp_tries to be gpc compatible'#000+
|
||||
'**2Ss_constructor name must be init (destructor must be done)'#000+
|
||||
'**2St_allow static keyword in objects'#000+
|
||||
'**1s_don'#039't call assembler and linker (only with -a)'#000+
|
||||
'**1s_d','on'#039't call assembler and linker (only with -a)'#000+
|
||||
'**1u<x>_undefines the symbol <x>'#000+
|
||||
'**1U_u','nit options:'#000+
|
||||
'**1U_unit options:'#000+
|
||||
'**2Un_don'#039't check the unit name'#000+
|
||||
'**2Up<x>_same as -Fu<x>'#000+
|
||||
'**2Us_compile a system unit'#000+
|
||||
'**1v<x>_Be verbose. <x> is a combination of the following letters:'#000+
|
||||
'**1v<x>_Be verbose. <x> is a combination of the following ','letters:'#000+
|
||||
'**2*_e : Show errors (default) d : Show debug info'#000+
|
||||
'**2*_w : Show warni','ngs u : Show unit info'#000+
|
||||
'**2*_w : Show warnings u : Show unit info'#000+
|
||||
'**2*_n : Show notes t : Show tried/used files'#000+
|
||||
'**2*_h : Show hints m : Show defined macros'#000+
|
||||
'**2*_h : Show hints m : Show defined m','acros'#000+
|
||||
'**2*_i : Show general info p : Show compiled procedures'#000+
|
||||
'**2*_l : Show',' linenumbers c : Show conditionals'#000+
|
||||
'**2*_l : Show linenumbers c : Show conditionals'#000+
|
||||
'**2*_a : Show everything 0 : Show nothing (except errors)'#000+
|
||||
'**2*_b : Show all procedure r : Rhide/GCC compatibility mode'#000+
|
||||
'**2*_ declarations if an error x : Executable in','fo (Win32 only'+
|
||||
')'#000+
|
||||
'**2*_b : Show all procedure r ',': Rhide/GCC compatibility mod'+
|
||||
'e'#000+
|
||||
'**2*_ declarations if an error x : Executable info (Win32 only)'#000+
|
||||
'**2*_ occurs'#000+
|
||||
'**1X_executable options:'#000+
|
||||
'*L2Xc_link with the c library'#000+
|
||||
'**2XD_link with dynamic libraries (defines FPC_LINK_DYNAMIC)'#000+
|
||||
'**2Xs_strip all symbols from executable'#000+
|
||||
'**2XS_link with static libraries (defines FPC_LINK_S','TATIC)'#000+
|
||||
'**2Xs_s','trip all symbols from executable'#000+
|
||||
'**2XS_link with static libraries (defines FPC_LINK_STATIC)'#000+
|
||||
'**0*_Processor specific options:'#000+
|
||||
'3*1A<x>_output format:'#000+
|
||||
'3*2Ao_coff file using GNU AS'#000+
|
||||
'3*2Anasmcoff_coff file using Nasm'#000+
|
||||
'3*2Anasmelf_elf32 (Linux) file using Nasm'#000+
|
||||
'3*2Anasmelf_elf32 (Linux) fil','e using Nasm'#000+
|
||||
'3*2Anasmobj_obj file using Nasm'#000+
|
||||
'3*2Amasm_obj file using Masm (Mircosoft)',#000+
|
||||
'3*2Amasm_obj file using Masm (Mircosoft)'#000+
|
||||
'3*2Atasm_obj file using Tasm (Borland)'#000+
|
||||
'3*1R<x>_assembler reading style:'#000+
|
||||
'3*2Ratt_read AT&T style assembler'#000+
|
||||
'3*2Rintel_read Intel style assembler'#000+
|
||||
'3*2Rdirect_copy assembler text directly to assembler file'#000+
|
||||
'3*2Rdirect_','copy assembler text directly to assembler file'#000+
|
||||
'3*1O<x>_optimizations:'#000+
|
||||
'3*2Og_generate ','smaller code'#000+
|
||||
'3*2Og_generate smaller code'#000+
|
||||
'3*2OG_generate faster code (default)'#000+
|
||||
'3*2Or_keep certain variables in registers (still BUGGY!!!)'#000+
|
||||
'3*2Ou_enable uncertain optimizations (see docs)'#000+
|
||||
'3*2Ou_enable uncertain optimizations (see docs',')'#000+
|
||||
'3*2O1_level 1 optimizations (quick optimizations)'#000+
|
||||
'3*2O2_level 2 optimizations (-O1 ','+ slower optimizations)'#000+
|
||||
'3*2O2_level 2 optimizations (-O1 + slower optimizations)'#000+
|
||||
'3*2O3_level 3 optimizations (same as -O2u)'#000+
|
||||
'3*2Op<x>_target processor:'#000+
|
||||
'3*3Op1_set target processor to 386/486'#000+
|
||||
'3*3Op2_set target processor to Pentium/PentiumMMX (tm)'#000+
|
||||
'3*3Op3_set target processor to PPro/PII/c6x86/K6 (tm',')'#000+
|
||||
'3*3Op2_set target proc','essor to Pentium/PentiumMMX (tm)'#000+
|
||||
'3*3Op3_set target processor to PPro/PII/c6x86/K6 (tm)'#000+
|
||||
'3*1T<x>_Target operating system:'#000+
|
||||
'3*2TGO32V1_version 1 of DJ Delorie DOS extender'#000+
|
||||
'3*2TGO32V2_version 2 of DJ Delorie DOS extender'#000+
|
||||
'3*2TLINUX_Linux'#000+
|
||||
'3*2TOS2_OS/2 2.x'#000+
|
||||
'3*2TOS2_','OS/2 2.x'#000+
|
||||
'3*2TWin32_Windows 32 Bit'#000+
|
||||
'6*1A<x>_output format'#000+
|
||||
'6*2Ao_Unix o-file using GNU A','S'#000+
|
||||
'6*2Ao_Unix o-file using GNU AS'#000+
|
||||
'6*2Agas_GNU Motorola assembler'#000+
|
||||
'6*2Amit_MIT Syntax (old GAS)'#000+
|
||||
'6*2Amot_Standard Motorola assembler'#000+
|
||||
'6*1O_optimizations:'#000+
|
||||
'6*2Oa_turn on the optimizer'#000+
|
||||
'6*2Og_generate smaller code'#000+
|
||||
'6*2Og_gen','erate smaller code'#000+
|
||||
'6*2OG_generate faster code (default)'#000+
|
||||
'6*2Ox_optimize maximum (still',' BUGGY!!!)'#000+
|
||||
'6*2Ox_optimize maximum (still BUGGY!!!)'#000+
|
||||
'6*2O2_set target processor to a MC68020+'#000+
|
||||
'6*1R<x>_assembler reading style:'#000+
|
||||
'6*2RMOT_read motorola style assembler'#000+
|
||||
'6*1T<x>_Target operating system:'#000+
|
||||
'6*1T<x>_Target operating system:',#000+
|
||||
'6*2TAMIGA_Commodore Amiga'#000+
|
||||
'6*2TATARI_Atari ST/STe/TT'#000+
|
||||
'6*2TMACOS_Macintosh m68k'#000+
|
||||
'6*2TLIN','UX_Linux-68k'#000+
|
||||
'6*2TLINUX_Linux-68k'#000+
|
||||
'**1*_'#000+
|
||||
'**1?_shows this help'#000+
|
||||
'**1h_shows this help without waiting'#000
|
||||
|
@ -80,7 +80,7 @@ unit pdecl;
|
||||
function read_type(const name : stringid) : pdef;forward;
|
||||
|
||||
{ search in symtablestack used, but not defined type }
|
||||
procedure testforward_type(p : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});{$ifndef FPC}far;{$endif}
|
||||
procedure testforward_type(p : pnamedindexobject);{$ifndef FPC}far;{$endif}
|
||||
var
|
||||
reaktvarsymtable : psymtable;
|
||||
oldaktfilepos : tfileposinfo;
|
||||
@ -1615,12 +1615,6 @@ unit pdecl;
|
||||
genvmt(aktclass);
|
||||
end;
|
||||
|
||||
{$ifdef OLDPPU}
|
||||
{ number symbols and defs }
|
||||
symtablestack^.number_defs;
|
||||
symtablestack^.number_symbols;
|
||||
{$endif}
|
||||
|
||||
{ restore old state }
|
||||
symtablestack:=symtablestack^.next;
|
||||
procinfo._class:=nil;
|
||||
@ -1655,12 +1649,6 @@ unit pdecl;
|
||||
consume(_END);
|
||||
typecanbeforward:=storetypeforwardsallowed;
|
||||
|
||||
{$ifdef OLDPPU}
|
||||
{ number symbols and defs }
|
||||
symtablestack^.number_defs;
|
||||
symtablestack^.number_symbols;
|
||||
{$endif}
|
||||
|
||||
symtablestack:=symtable^.next;
|
||||
record_dec:=new(precdef,init(symtable));
|
||||
end;
|
||||
@ -2091,7 +2079,6 @@ unit pdecl;
|
||||
getsym(typename,false);
|
||||
sym:=srsym;
|
||||
newtype:=nil;
|
||||
{$ifndef OLDPPU}
|
||||
{ found a symbol with this name? }
|
||||
if assigned(sym) then
|
||||
begin
|
||||
@ -2122,29 +2109,6 @@ unit pdecl;
|
||||
newtype:=new(ptypesym,init(typename,read_type(typename)));
|
||||
newtype:=ptypesym(symtablestack^.insert(newtype));
|
||||
end;
|
||||
{$else}
|
||||
{ check if it is the definition of a forward defined class }
|
||||
if assigned(srsym) and
|
||||
(token=_CLASS) and
|
||||
(srsym^.typ=typesym) and
|
||||
(assigned(ptypesym(srsym)^.definition)) and
|
||||
(ptypesym(srsym)^.definition^.deftype=objectdef) and
|
||||
((pobjectdef(ptypesym(srsym)^.definition)^.options and oo_isforward)<>0) and
|
||||
((pobjectdef(ptypesym(srsym)^.definition)^.options and oo_is_class)<>0) then
|
||||
begin
|
||||
{ we can ignore the result }
|
||||
{ the definition is modified }
|
||||
object_dec(typename,pobjectdef(ptypesym(srsym)^.definition));
|
||||
newtype:=ptypesym(srsym);
|
||||
end
|
||||
else
|
||||
begin
|
||||
newtype:=new(ptypesym,init(typename,read_type(typename)));
|
||||
{ load newtype with the new pointer to the inserted type
|
||||
because it can be an already defined forwarded type !! }
|
||||
newtype:=ptypesym(symtablestack^.insert(newtype));
|
||||
end;
|
||||
{$endif}
|
||||
end;
|
||||
consume(SEMICOLON);
|
||||
if assigned(newtype^.definition) and (newtype^.definition^.deftype=procvardef) then
|
||||
@ -2266,7 +2230,12 @@ unit pdecl;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.115 1999-05-07 10:36:09 peter
|
||||
Revision 1.116 1999-05-13 21:59:34 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.115 1999/05/07 10:36:09 peter
|
||||
* fixed crash
|
||||
|
||||
Revision 1.114 1999/05/04 21:44:54 florian
|
||||
|
@ -318,15 +318,6 @@ unit pmodules;
|
||||
end;
|
||||
{ ok, now load the unit }
|
||||
current_module^.globalsymtable:=new(punitsymtable,loadasunit);
|
||||
{ if this is the system unit insert the intern symbols }
|
||||
{$ifdef OLDPPU}
|
||||
if compile_system then
|
||||
begin
|
||||
make_ref:=false;
|
||||
insertinternsyms(psymtable(current_module^.globalsymtable));
|
||||
make_ref:=true;
|
||||
end;
|
||||
{$endif}
|
||||
{ now only read the implementation part }
|
||||
current_module^.in_implementation:=true;
|
||||
{ load the used units from implementation }
|
||||
@ -341,10 +332,8 @@ unit pmodules;
|
||||
{ register unit in used units }
|
||||
pu^.u:=loaded_unit;
|
||||
pu^.loaded:=true;
|
||||
{$ifndef OLDPPU}
|
||||
{ need to recompile the current unit ? }
|
||||
if loaded_unit^.crc<>pu^.checksum then
|
||||
{ if (loaded_unit^.interface_crc<>pu^.interface_checksum) then }
|
||||
begin
|
||||
Message2(unit_u_recompile_crc_change,current_module^.modulename^,pu^.name^);
|
||||
current_module^.do_compile:=true;
|
||||
@ -352,7 +341,6 @@ unit pmodules;
|
||||
current_module^.map:=nil;
|
||||
exit;
|
||||
end;
|
||||
{$endif OLDPPU}
|
||||
{ setup the map entry for deref }
|
||||
{$ifndef NEWMAP}
|
||||
current_module^.map^[nextmapentry]:=loaded_unit^.globalsymtable;
|
||||
@ -450,11 +438,9 @@ unit pmodules;
|
||||
begin
|
||||
if hp^.modulename^=s then
|
||||
begin
|
||||
{$ifndef OLDPPU}
|
||||
{ forced to reload ? }
|
||||
if hp^.do_reload then
|
||||
break;
|
||||
{$endif}
|
||||
{ the unit is already registered }
|
||||
{ and this means that the unit }
|
||||
{ is already compiled }
|
||||
@ -493,7 +479,7 @@ unit pmodules;
|
||||
loaded_units.remove(hp);
|
||||
scanner:=hp^.scanner;
|
||||
hp^.reset;
|
||||
{$ifndef OLDPPU}
|
||||
{ now reload all dependent units }
|
||||
hp2:=pmodule(loaded_units.first);
|
||||
while assigned(hp2) do
|
||||
begin
|
||||
@ -504,7 +490,6 @@ unit pmodules;
|
||||
end;
|
||||
hp2:=pmodule(hp2^.next);
|
||||
end;
|
||||
{$endif}
|
||||
hp^.scanner:=scanner;
|
||||
{ try to reopen ppu }
|
||||
hp^.search_unit(s,false);
|
||||
@ -629,6 +614,9 @@ unit pmodules;
|
||||
repeat
|
||||
s:=pattern;
|
||||
consume(ID);
|
||||
{ Give a warning if objpas is loaded }
|
||||
if s='OBJPAS' then
|
||||
Message(parser_w_no_objpas_use_mode);
|
||||
{ check if the unit is already used }
|
||||
pu:=pused_unit(current_module^.used_units.first);
|
||||
while assigned(pu) do
|
||||
@ -769,23 +757,17 @@ unit pmodules;
|
||||
|
||||
|
||||
procedure gen_main_procsym(const name:string;options:longint;st:psymtable);
|
||||
{$ifndef OLDPPU}
|
||||
var
|
||||
stt : psymtable;
|
||||
{$endif}
|
||||
begin
|
||||
{Generate a procsym for main}
|
||||
make_ref:=false;
|
||||
aktprocsym:=new(Pprocsym,init(name));
|
||||
{$ifndef OLDPPU}
|
||||
{Try to insert in in static symtable ! }
|
||||
stt:=symtablestack;
|
||||
symtablestack:=st;
|
||||
{$endif}
|
||||
aktprocsym^.definition:=new(Pprocdef,init);
|
||||
{$ifndef OLDPPU}
|
||||
symtablestack:=stt;
|
||||
{$endif}
|
||||
aktprocsym^.definition^.options:=aktprocsym^.definition^.options or options;
|
||||
aktprocsym^.definition^.setmangledname(target_os.cprefix+name);
|
||||
aktprocsym^.definition^.forwarddef:=false;
|
||||
@ -972,12 +954,10 @@ unit pmodules;
|
||||
write_gdb_info;
|
||||
{$endIf Def New_GDB}
|
||||
|
||||
{$ifndef OLDPPU}
|
||||
{$ifdef Test_Double_checksum}
|
||||
if (Errorcount=0) then
|
||||
writeunitas(current_module^.ppufilename^,punitsymtable(symtablestack),true);
|
||||
{$endif Test_Double_checksum}
|
||||
{$endif OLDPPU}
|
||||
|
||||
{ Parse the implementation section }
|
||||
consume(_IMPLEMENTATION);
|
||||
@ -994,12 +974,6 @@ unit pmodules;
|
||||
{ to reinsert it after loading the implementation units }
|
||||
symtablestack:=unitst^.next;
|
||||
|
||||
{$ifdef OLDPPU}
|
||||
{ number the definitions, so a deref from other units works }
|
||||
refsymtable^.number_defs;
|
||||
refsymtable^.number_symbols;
|
||||
{$endif}
|
||||
|
||||
{ we don't want implementation units symbols in unitsymtable !! PM }
|
||||
refsymtable:=st;
|
||||
|
||||
@ -1146,21 +1120,17 @@ unit pmodules;
|
||||
if cs_local_browser in aktmoduleswitches then
|
||||
current_module^.localsymtable:=refsymtable;
|
||||
{ Write out the ppufile }
|
||||
{$ifndef OLDPPU}
|
||||
{$ifdef Test_Double_checksum}
|
||||
store_crc:=current_module^.interface_crc;
|
||||
{$endif Test_Double_checksum}
|
||||
{$endif}
|
||||
if (Errorcount=0) then
|
||||
writeunitas(current_module^.ppufilename^,punitsymtable(symtablestack),false);
|
||||
|
||||
{$ifndef OLDPPU}
|
||||
{$ifdef Test_Double_checksum}
|
||||
if store_crc<>current_module^.interface_crc then
|
||||
Def_comment(V_Warning,current_module^.ppufilename^+' CRC changed '+
|
||||
tostr(store_crc)+'<>'+tostr(current_module^.interface_crc));
|
||||
{$endif def Test_Double_checksum}
|
||||
{$endif OLDPPU}
|
||||
{ must be done only after local symtable ref stores !! }
|
||||
closecurrentppu;
|
||||
{$ifdef GDB}
|
||||
@ -1372,7 +1342,12 @@ unit pmodules;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.119 1999-05-09 11:38:08 peter
|
||||
Revision 1.120 1999-05-13 21:59:35 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.119 1999/05/09 11:38:08 peter
|
||||
* don't write .o and link if errors occure during assembling
|
||||
|
||||
Revision 1.118 1999/05/03 18:03:28 peter
|
||||
|
@ -37,11 +37,7 @@ type
|
||||
{$endif Test_Double_checksum}
|
||||
|
||||
const
|
||||
{$ifdef OLDPPU}
|
||||
CurrentPPUVersion=15;
|
||||
{$else}
|
||||
CurrentPPUVersion=16;
|
||||
{$endif}
|
||||
|
||||
{ buffer sizes }
|
||||
maxentrysize = 1024;
|
||||
@ -142,10 +138,8 @@ type
|
||||
flags : longint;
|
||||
size : longint; { size of the ppufile without header }
|
||||
checksum : longint; { checksum for this ppufile }
|
||||
{$ifndef OLDPPU}
|
||||
interface_checksum : longint;
|
||||
future : array[0..2] of longint;
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
tppuentry=packed record
|
||||
@ -389,11 +383,7 @@ begin
|
||||
Id[3]:='U';
|
||||
Ver[1]:='0';
|
||||
Ver[2]:='1';
|
||||
{$ifdef OLDPPU}
|
||||
Ver[3]:='5';
|
||||
{$else}
|
||||
Ver[3]:='6';
|
||||
{$endif}
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -806,7 +796,6 @@ begin
|
||||
if do_crc then
|
||||
begin
|
||||
crc:=UpdateCrc32(crc,b,len);
|
||||
{$ifndef OLDPPU}
|
||||
if do_interface_crc then
|
||||
begin
|
||||
interface_crc:=UpdateCrc32(interface_crc,b,len);
|
||||
@ -834,9 +823,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
if not crc_only then
|
||||
{$else}
|
||||
end;
|
||||
{$endif OLDPPU}
|
||||
writedata(b,len);
|
||||
inc(entryidx,len);
|
||||
end;
|
||||
@ -882,7 +868,12 @@ end;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.32 1999-05-05 09:19:15 florian
|
||||
Revision 1.33 1999-05-13 21:59:36 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.32 1999/05/05 09:19:15 florian
|
||||
* more fixes to get it with delphi running
|
||||
|
||||
Revision 1.31 1999/05/04 21:44:59 florian
|
||||
|
@ -373,11 +373,7 @@ unit pstatmnt;
|
||||
objectdef : begin
|
||||
obj:=pobjectdef(p^.resulttype);
|
||||
withsymtable:=new(pwithsymtable,init);
|
||||
{$ifndef OLDPPU}
|
||||
withsymtable^.symsearch:=obj^.publicsyms^.symsearch;
|
||||
{$else}
|
||||
withsymtable^.searchroot:=obj^.publicsyms^.searchroot;
|
||||
{$endif}
|
||||
withsymtable^.defowner:=obj;
|
||||
symtab:=withsymtable;
|
||||
{$ifndef NODIRECTWITH}
|
||||
@ -393,11 +389,7 @@ unit pstatmnt;
|
||||
begin
|
||||
symtab^.next:=new(pwithsymtable,init);
|
||||
symtab:=symtab^.next;
|
||||
{$ifndef OLDPPU}
|
||||
symtab^.symsearch:=obj^.publicsyms^.symsearch;
|
||||
{$else}
|
||||
symtab^.searchroot:=obj^.publicsyms^.searchroot;
|
||||
{$endif}
|
||||
{$ifndef NODIRECTWITH}
|
||||
if (p^.treetype=loadn) and
|
||||
(p^.symtable=aktprocsym^.definition^.localst) then
|
||||
@ -416,11 +408,7 @@ unit pstatmnt;
|
||||
symtab:=precdef(p^.resulttype)^.symtable;
|
||||
levelcount:=1;
|
||||
withsymtable:=new(pwithsymtable,init);
|
||||
{$ifndef OLDPPU}
|
||||
withsymtable^.symsearch:=symtab^.symsearch;
|
||||
{$else}
|
||||
withsymtable^.searchroot:=symtab^.searchroot;
|
||||
{$endif}
|
||||
withsymtable^.next:=symtablestack;
|
||||
{$ifndef NODIRECTWITH}
|
||||
if (p^.treetype=loadn) and
|
||||
@ -1285,7 +1273,12 @@ unit pstatmnt;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.83 1999-05-05 22:21:58 peter
|
||||
Revision 1.84 1999-05-13 21:59:38 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.83 1999/05/05 22:21:58 peter
|
||||
* updated messages
|
||||
|
||||
Revision 1.82 1999/05/01 13:24:35 peter
|
||||
|
@ -238,7 +238,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
A_IN,A_OUT :
|
||||
A_OUT :
|
||||
opsize:=operands[1].size;
|
||||
else
|
||||
opsize:=operands[2].size;
|
||||
@ -393,7 +393,12 @@ end;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.4 1999-05-12 00:19:55 peter
|
||||
Revision 1.5 1999-05-13 21:59:40 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.4 1999/05/12 00:19:55 peter
|
||||
* removed R_DEFAULT_SEG
|
||||
* uniform float names
|
||||
|
||||
|
@ -67,12 +67,7 @@
|
||||
|
||||
constructor tdef.init;
|
||||
begin
|
||||
{$ifndef OLDPPU}
|
||||
inherited init;
|
||||
{$else}
|
||||
indexnb := 0;
|
||||
next := nil;
|
||||
{$endif}
|
||||
deftype:=abstractdef;
|
||||
owner := nil;
|
||||
sym := nil;
|
||||
@ -124,13 +119,8 @@
|
||||
lastglobaldef := @self;
|
||||
nextglobal := nil;
|
||||
{ load }
|
||||
{$ifndef OLDPPU}
|
||||
indexnr:=readword;
|
||||
sym:=ptypesym(readsymref);
|
||||
{$else}
|
||||
indexnb := 0;
|
||||
sym:=nil;
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
|
||||
@ -170,13 +160,7 @@
|
||||
if assigned(owner) and
|
||||
(owner^.symtabletype in [recordsymtable,objectsymtable]) then
|
||||
begin
|
||||
{$ifndef OLDPPU}
|
||||
owner^.defindex^.deleteindex(@self);
|
||||
{$else}
|
||||
{ no other definition
|
||||
has been inserted !! (PM) }
|
||||
owner^.rootdef:=next;
|
||||
{$endif}
|
||||
st:=owner;
|
||||
while (st^.symtabletype in [recordsymtable,objectsymtable]) do
|
||||
st:=st^.next;
|
||||
@ -223,10 +207,8 @@
|
||||
|
||||
procedure tdef.write;
|
||||
begin
|
||||
{$ifndef OLDPPU}
|
||||
writeword(indexnr);
|
||||
writesymref(sym);
|
||||
{$endif}
|
||||
{$ifdef GDB}
|
||||
if globalnb = 0 then
|
||||
begin
|
||||
@ -1402,8 +1384,12 @@
|
||||
|
||||
constructor tclassrefdef.load;
|
||||
begin
|
||||
inherited load;
|
||||
{ be careful, tclassdefref inherits from tpointerdef }
|
||||
tdef.load;
|
||||
deftype:=classrefdef;
|
||||
definition:=readdefref;
|
||||
is_far:=false;
|
||||
savesize:=target_os.size_of_pointer;
|
||||
end;
|
||||
|
||||
|
||||
@ -1412,7 +1398,6 @@
|
||||
{ be careful, tclassdefref inherits from tpointerdef }
|
||||
tdef.write;
|
||||
writedefref(definition);
|
||||
writebyte(byte(is_far));
|
||||
current_ppu^.writeentry(ibclassrefdef);
|
||||
end;
|
||||
|
||||
@ -1776,7 +1761,7 @@
|
||||
var
|
||||
binittable : boolean;
|
||||
|
||||
procedure check_rec_inittable(s : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});
|
||||
procedure check_rec_inittable(s : pnamedindexobject);
|
||||
|
||||
begin
|
||||
if (psym(s)^.typ=varsym) and
|
||||
@ -1804,28 +1789,12 @@
|
||||
|
||||
procedure trecdef.deref;
|
||||
var
|
||||
{$ifdef OLDPPU}
|
||||
hp : pdef;
|
||||
{$endif}
|
||||
oldrecsyms : psymtable;
|
||||
begin
|
||||
oldrecsyms:=aktrecordsymtable;
|
||||
aktrecordsymtable:=symtable;
|
||||
{ now dereference the definitions }
|
||||
{$ifndef OLDPPU}
|
||||
symtable^.deref;
|
||||
{$else}
|
||||
hp:=symtable^.rootdef;
|
||||
while assigned(hp) do
|
||||
begin
|
||||
hp^.deref;
|
||||
{ set owner }
|
||||
hp^.owner:=symtable;
|
||||
hp:=pdef(hp^.next);
|
||||
end;
|
||||
|
||||
symtable^.foreach({$ifdef fpc}@{$endif}derefsym);
|
||||
{$endif}
|
||||
aktrecordsymtable:=oldrecsyms;
|
||||
end;
|
||||
|
||||
@ -1849,7 +1818,7 @@
|
||||
StabRecSize : longint = 0;
|
||||
RecOffset : Longint = 0;
|
||||
|
||||
procedure addname(p : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});
|
||||
procedure addname(p : pnamedindexobject);
|
||||
var
|
||||
news, newrec : pchar;
|
||||
spec : string[2];
|
||||
@ -1893,9 +1862,6 @@
|
||||
function trecdef.stabstring : pchar;
|
||||
Var oldrec : pchar;
|
||||
oldsize : longint;
|
||||
{$ifdef OLDPPU}
|
||||
cur : psym;
|
||||
{$endif}
|
||||
begin
|
||||
oldrec := stabrecstring;
|
||||
oldsize:=stabrecsize;
|
||||
@ -1903,16 +1869,7 @@
|
||||
stabrecsize:=memsizeinc;
|
||||
strpcopy(stabRecString,'s'+tostr(savesize));
|
||||
RecOffset := 0;
|
||||
{$ifndef OLDPPU}
|
||||
symtable^.foreach({$ifdef fpc}@{$endif}addname);
|
||||
{$else}
|
||||
cur:=symtable^.searchroot;
|
||||
while assigned(cur) do
|
||||
begin
|
||||
addname(cur);
|
||||
cur:=cur^.nextsym;
|
||||
end;
|
||||
{$endif}
|
||||
{ FPC doesn't want to convert a char to a pchar}
|
||||
{ is this a bug ? }
|
||||
strpcopy(strend(StabRecString),';');
|
||||
@ -1934,7 +1891,7 @@
|
||||
|
||||
var
|
||||
count : longint;
|
||||
procedure count_inittable_fields(sym : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});{$ifndef fpc}far;{$endif}
|
||||
procedure count_inittable_fields(sym : pnamedindexobject);{$ifndef fpc}far;{$endif}
|
||||
begin
|
||||
if (psym(sym)^.typ=varsym) and
|
||||
(pvarsym(sym)^.definition^.needs_inittable) then
|
||||
@ -1942,13 +1899,13 @@
|
||||
end;
|
||||
|
||||
|
||||
procedure count_fields(sym : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});{$ifndef fpc}far;{$endif}
|
||||
procedure count_fields(sym : pnamedindexobject);{$ifndef fpc}far;{$endif}
|
||||
begin
|
||||
inc(count);
|
||||
end;
|
||||
|
||||
|
||||
procedure write_field_inittable(sym : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});{$ifndef fpc}far;{$endif}
|
||||
procedure write_field_inittable(sym : pnamedindexobject);{$ifndef fpc}far;{$endif}
|
||||
begin
|
||||
if (psym(sym)^.typ=varsym) and
|
||||
pvarsym(sym)^.definition^.needs_inittable then
|
||||
@ -1959,14 +1916,14 @@
|
||||
end;
|
||||
|
||||
|
||||
procedure write_field_rtti(sym : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});{$ifndef fpc}far;{$endif}
|
||||
procedure write_field_rtti(sym : pnamedindexobject);{$ifndef fpc}far;{$endif}
|
||||
begin
|
||||
rttilist^.concat(new(pai_const_symbol,init(pvarsym(sym)^.definition^.get_rtti_label)));
|
||||
rttilist^.concat(new(pai_const,init_32bit(pvarsym(sym)^.address)));
|
||||
end;
|
||||
|
||||
|
||||
procedure generate_child_inittable(sym:{$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});{$ifndef fpc}far;{$endif}
|
||||
procedure generate_child_inittable(sym:pnamedindexobject);{$ifndef fpc}far;{$endif}
|
||||
begin
|
||||
if (psym(sym)^.typ=varsym) and
|
||||
pvarsym(sym)^.definition^.needs_inittable then
|
||||
@ -1975,7 +1932,7 @@
|
||||
end;
|
||||
|
||||
|
||||
procedure generate_child_rtti(sym : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});{$ifndef fpc}far;{$endif}
|
||||
procedure generate_child_rtti(sym : pnamedindexobject);{$ifndef fpc}far;{$endif}
|
||||
begin
|
||||
pvarsym(sym)^.definition^.get_rtti_label;
|
||||
end;
|
||||
@ -2147,13 +2104,8 @@
|
||||
begin
|
||||
inherited write;
|
||||
writedefref(retdef);
|
||||
{$ifndef OLDPPU}
|
||||
current_ppu^.do_interface_crc:=false;
|
||||
{$endif}
|
||||
writebyte(fpu_used);
|
||||
{$ifdef OLDPPU}
|
||||
current_ppu^.do_interface_crc:=true;
|
||||
{$endif}
|
||||
writelong(options);
|
||||
hp:=para1;
|
||||
count:=0;
|
||||
@ -2503,9 +2455,7 @@ Const local_symtable_index : longint = $8001;
|
||||
procedure tprocdef.write;
|
||||
begin
|
||||
inherited write;
|
||||
{$ifndef OLDPPU}
|
||||
current_ppu^.do_interface_crc:=false;
|
||||
{$endif}
|
||||
{$ifdef i386}
|
||||
writebyte(usedregisters);
|
||||
{$endif i386}
|
||||
@ -2517,9 +2467,7 @@ Const local_symtable_index : longint = $8001;
|
||||
writelong(usedregisters_fpu);
|
||||
{$endif alpha}
|
||||
writestring(mangledname);
|
||||
{$ifndef OLDPPU}
|
||||
current_ppu^.do_interface_crc:=true;
|
||||
{$endif}
|
||||
writelong(extnumber);
|
||||
if (options and pooperator) = 0 then
|
||||
writedefref(nextoverloaded)
|
||||
@ -2550,11 +2498,7 @@ Const local_symtable_index : longint = $8001;
|
||||
|
||||
function tprocdef.haspara:boolean;
|
||||
begin
|
||||
{$ifndef OLDPPU}
|
||||
haspara:=assigned(aktprocsym^.definition^.parast^.symindex^.first);
|
||||
{$else}
|
||||
haspara:=assigned(aktprocsym^.definition^.parast^.searchroot);
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
|
||||
@ -2981,28 +2925,12 @@ Const local_symtable_index : longint = $8001;
|
||||
|
||||
procedure tobjectdef.deref;
|
||||
var
|
||||
{$ifdef OLDPPU}
|
||||
hp : pdef;
|
||||
{$endif}
|
||||
oldrecsyms : psymtable;
|
||||
begin
|
||||
resolvedef(pdef(childof));
|
||||
oldrecsyms:=aktrecordsymtable;
|
||||
aktrecordsymtable:=publicsyms;
|
||||
|
||||
{$ifndef OLDPPU}
|
||||
publicsyms^.deref;
|
||||
{$else}
|
||||
hp:=publicsyms^.rootdef;
|
||||
while assigned(hp) do
|
||||
begin
|
||||
hp^.deref;
|
||||
{ set owner }
|
||||
hp^.owner:=publicsyms;
|
||||
hp:=pdef(hp^.next);
|
||||
end;
|
||||
publicsyms^.foreach({$ifdef fpc}@{$endif}derefsym);
|
||||
{$endif}
|
||||
aktrecordsymtable:=oldrecsyms;
|
||||
end;
|
||||
|
||||
@ -3071,7 +2999,7 @@ Const local_symtable_index : longint = $8001;
|
||||
|
||||
|
||||
{$ifdef GDB}
|
||||
procedure addprocname(p :{$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});
|
||||
procedure addprocname(p :pnamedindexobject);
|
||||
var virtualind,argnames : string;
|
||||
news, newrec : pchar;
|
||||
pd,ipd : pprocdef;
|
||||
@ -3163,9 +3091,6 @@ Const local_symtable_index : longint = $8001;
|
||||
oldrec : pchar;
|
||||
oldrecsize : longint;
|
||||
str_end : string;
|
||||
{$ifdef OLDPPU}
|
||||
cur : psym;
|
||||
{$endif}
|
||||
begin
|
||||
oldrec := stabrecstring;
|
||||
oldrecsize:=stabrecsize;
|
||||
@ -3178,40 +3103,22 @@ Const local_symtable_index : longint = $8001;
|
||||
strpcopy(strend(stabrecstring),'!1,020,'+childof^.numberstring+';');
|
||||
{virtual table to implement yet}
|
||||
RecOffset := 0;
|
||||
{$ifndef OLDPPU}
|
||||
{$ifdef tp}
|
||||
publicsyms^.foreach(addname);
|
||||
{$else}
|
||||
publicsyms^.foreach(@addname);
|
||||
{$endif}
|
||||
{$else}
|
||||
cur:=publicsyms^.searchroot;
|
||||
while assigned(cur) do
|
||||
begin
|
||||
addname(cur);
|
||||
cur:=psym(cur)^.nextsym;
|
||||
end;
|
||||
{$endif}
|
||||
if (options and oo_hasvmt) <> 0 then
|
||||
if not assigned(childof) or ((childof^.options and oo_hasvmt) = 0) then
|
||||
begin
|
||||
strpcopy(strend(stabrecstring),'$vf'+numberstring+':'+typeglobalnumber('vtblarray')
|
||||
+','+tostr(vmt_offset*8)+';');
|
||||
end;
|
||||
{$ifndef OLDPPU}
|
||||
{$ifdef tp}
|
||||
publicsyms^.foreach(addprocname);
|
||||
{$else}
|
||||
publicsyms^.foreach(@addprocname);
|
||||
{$endif tp }
|
||||
{$else}
|
||||
cur:=publicsyms^.searchroot;
|
||||
while assigned(cur) do
|
||||
begin
|
||||
addprocname(cur);
|
||||
cur:=psym(cur)^.nextsym;
|
||||
end;
|
||||
{$endif}
|
||||
if (options and oo_hasvmt) <> 0 then
|
||||
begin
|
||||
anc := @self;
|
||||
@ -3270,7 +3177,7 @@ Const local_symtable_index : longint = $8001;
|
||||
end;
|
||||
|
||||
|
||||
procedure count_published_properties(sym:{$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});
|
||||
procedure count_published_properties(sym:pnamedindexobject);
|
||||
{$ifndef fpc}far;{$endif}
|
||||
begin
|
||||
if (psym(sym)^.typ=propertysym) and ((psym(sym)^.properties and sp_published)<>0) then
|
||||
@ -3278,7 +3185,7 @@ Const local_symtable_index : longint = $8001;
|
||||
end;
|
||||
|
||||
|
||||
procedure write_property_info(sym : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});{$ifndef fpc}far;{$endif}
|
||||
procedure write_property_info(sym : pnamedindexobject);{$ifndef fpc}far;{$endif}
|
||||
var
|
||||
proctypesinfo : byte;
|
||||
|
||||
@ -3346,7 +3253,7 @@ Const local_symtable_index : longint = $8001;
|
||||
end;
|
||||
|
||||
|
||||
procedure generate_published_child_rtti(sym : {$ifndef OLDPPU}pnamedindexobject{$else}psym{$endif});
|
||||
procedure generate_published_child_rtti(sym : pnamedindexobject);
|
||||
{$ifndef fpc}far;{$endif}
|
||||
begin
|
||||
if (psym(sym)^.typ=propertysym) and
|
||||
@ -3473,7 +3380,12 @@ Const local_symtable_index : longint = $8001;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.113 1999-05-12 00:19:58 peter
|
||||
Revision 1.114 1999-05-13 21:59:41 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.113 1999/05/12 00:19:58 peter
|
||||
* removed R_DEFAULT_SEG
|
||||
* uniform float names
|
||||
|
||||
|
@ -31,16 +31,9 @@
|
||||
classrefdef);
|
||||
|
||||
pdef = ^tdef;
|
||||
{$ifndef OLDPPU}
|
||||
tdef = object(tnamedindexobject)
|
||||
{$else}
|
||||
tdef = object
|
||||
indexnb : longint;
|
||||
next : pdef;
|
||||
{$endif}
|
||||
tdef = object(tsymtableentry)
|
||||
deftype : tdeftype;
|
||||
savesize : longint;
|
||||
owner : psymtable;
|
||||
sym : ptypesym; { which type the definition was generated this def }
|
||||
|
||||
has_inittable : boolean;
|
||||
@ -510,7 +503,12 @@
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.26 1999-05-12 00:19:59 peter
|
||||
Revision 1.27 1999-05-13 21:59:42 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.26 1999/05/12 00:19:59 peter
|
||||
* removed R_DEFAULT_SEG
|
||||
* uniform float names
|
||||
|
||||
|
@ -103,6 +103,57 @@
|
||||
end;
|
||||
|
||||
|
||||
{$ifndef OLDDEREF}
|
||||
procedure writederef(p : psymtableentry);
|
||||
begin
|
||||
if p=nil then
|
||||
current_ppu^.putbyte(ord(derefnil))
|
||||
else
|
||||
begin
|
||||
{ Static symtable ? }
|
||||
if p^.owner^.symtabletype=staticsymtable then
|
||||
begin
|
||||
current_ppu^.putbyte(ord(derefaktstatic));
|
||||
current_ppu^.putword(p^.indexnr);
|
||||
end
|
||||
{ Local record/object symtable ? }
|
||||
else if (p^.owner=aktrecordsymtable) then
|
||||
begin
|
||||
current_ppu^.putbyte(ord(derefaktrecord));
|
||||
current_ppu^.putword(p^.indexnr);
|
||||
end
|
||||
else
|
||||
{ else if p^.owner^.unitid>$8000 then
|
||||
current_ppu^.putword(p^.owner^.unitid) }
|
||||
begin
|
||||
current_ppu^.putbyte(ord(dereflocal));
|
||||
current_ppu^.putword(p^.indexnr);
|
||||
{ Current unit symtable ? }
|
||||
repeat
|
||||
if not assigned(p) then
|
||||
internalerror(556655);
|
||||
case p^.owner^.symtabletype of
|
||||
unitsymtable :
|
||||
begin
|
||||
current_ppu^.putbyte(ord(derefunit));
|
||||
current_ppu^.putword(p^.owner^.unitid);
|
||||
break;
|
||||
end;
|
||||
objectsymtable,
|
||||
recordsymtable :
|
||||
begin
|
||||
current_ppu^.putbyte(ord(derefrecord));
|
||||
current_ppu^.putword(p^.indexnr);
|
||||
p:=p^.owner^.defowner;
|
||||
end;
|
||||
else
|
||||
internalerror(556656);
|
||||
end;
|
||||
until false;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
{$else}
|
||||
procedure writedefref(p : pdef);
|
||||
begin
|
||||
if p=nil then
|
||||
@ -117,15 +168,10 @@
|
||||
current_ppu^.putword(p^.owner^.unitid)
|
||||
else
|
||||
current_ppu^.putword(p^.owner^.unitid);
|
||||
{$ifndef OLDPPU}
|
||||
current_ppu^.putword(p^.indexnr);
|
||||
{$else}
|
||||
current_ppu^.putword(p^.indexnb);
|
||||
{$endif}
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure writesymref(p : psym);
|
||||
begin
|
||||
if p=nil then
|
||||
@ -140,13 +186,11 @@
|
||||
current_ppu^.putword(p^.owner^.unitid)
|
||||
else
|
||||
current_ppu^.putword(p^.owner^.unitid);
|
||||
{$ifndef OLDPPU}
|
||||
current_ppu^.putword(p^.indexnr);
|
||||
{$else}
|
||||
current_ppu^.putword(p^.indexnb);
|
||||
{$endif}
|
||||
end;
|
||||
end;
|
||||
{$endif}
|
||||
|
||||
|
||||
|
||||
procedure writesourcefiles;
|
||||
@ -180,9 +224,7 @@
|
||||
{ the checksum should not affect the crc of this unit ! (PFV) }
|
||||
current_ppu^.do_crc:=false;
|
||||
current_ppu^.putlongint(hp^.checksum);
|
||||
{$ifndef OLDPPU}
|
||||
current_ppu^.putlongint(hp^.interface_checksum);
|
||||
{$endif}
|
||||
current_ppu^.do_crc:=true;
|
||||
current_ppu^.putbyte(byte(hp^.in_interface));
|
||||
hp:=pused_unit(hp^.next);
|
||||
@ -254,9 +296,7 @@
|
||||
{ create and write header }
|
||||
current_ppu^.header.size:=current_ppu^.size;
|
||||
current_ppu^.header.checksum:=current_ppu^.crc;
|
||||
{$ifndef OLDPPU}
|
||||
current_ppu^.header.interface_checksum:=current_ppu^.interface_crc;
|
||||
{$endif}
|
||||
current_ppu^.header.compiler:=wordversion;
|
||||
current_ppu^.header.cpu:=word(target_cpu);
|
||||
current_ppu^.header.target:=word(target_info.target);
|
||||
@ -359,6 +399,42 @@
|
||||
end;
|
||||
|
||||
|
||||
{$ifndef OLDDEREF}
|
||||
function readderef : pderef;
|
||||
var
|
||||
hp,p : pderef;
|
||||
b : tdereftype;
|
||||
begin
|
||||
p:=nil;
|
||||
repeat
|
||||
hp:=p;
|
||||
b:=tdereftype(current_ppu^.getbyte);
|
||||
case b of
|
||||
derefnil :
|
||||
break;
|
||||
derefunit,
|
||||
derefaktrecord,
|
||||
derefaktstatic :
|
||||
begin
|
||||
new(p);
|
||||
p^.dereftype:=b;
|
||||
p^.index:=current_ppu^.getword;
|
||||
p^.next:=hp;
|
||||
break;
|
||||
end;
|
||||
dereflocal,
|
||||
derefrecord :
|
||||
begin
|
||||
new(p);
|
||||
p^.dereftype:=derefrecord;
|
||||
p^.index:=current_ppu^.getword;
|
||||
p^.next:=hp;
|
||||
end;
|
||||
end;
|
||||
until false;
|
||||
readderef:=p;
|
||||
end;
|
||||
{$else}
|
||||
function readdefref : pdef;
|
||||
var
|
||||
hd : pdef;
|
||||
@ -377,6 +453,7 @@
|
||||
longint(hd):=longint(hd) or (longint(current_ppu^.getword) shl 16);
|
||||
readsymref:=hd;
|
||||
end;
|
||||
{$endif}
|
||||
|
||||
|
||||
procedure readsourcefiles;
|
||||
@ -472,11 +549,7 @@
|
||||
begin
|
||||
hs:=current_ppu^.getstring;
|
||||
checksum:=current_ppu^.getlongint;
|
||||
{$ifndef OLDPPU}
|
||||
intfchecksum:=current_ppu^.getlongint;
|
||||
{$else}
|
||||
intfchecksum:=0;
|
||||
{$endif}
|
||||
in_interface:=(current_ppu^.getbyte<>0);
|
||||
current_module^.used_units.concat(new(pused_unit,init_to_load(hs,checksum,intfchecksum,in_interface)));
|
||||
end;
|
||||
@ -510,7 +583,12 @@
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.39 1999-05-04 21:45:06 florian
|
||||
Revision 1.40 1999-05-13 21:59:44 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.39 1999/05/04 21:45:06 florian
|
||||
* changes to compile it with Delphi 4.0
|
||||
|
||||
Revision 1.38 1999/04/26 13:31:51 peter
|
||||
|
@ -26,17 +26,7 @@
|
||||
|
||||
constructor tsym.init(const n : string);
|
||||
begin
|
||||
{$ifndef OLDPPU}
|
||||
inherited initname(n);
|
||||
{$else}
|
||||
left:=nil;
|
||||
right:=nil;
|
||||
setname(n);
|
||||
indexnb:=0;
|
||||
{$ifdef nextfield}
|
||||
nextsym:=nil;
|
||||
{$endif nextfield}
|
||||
{$endif}
|
||||
typ:=abstractsym;
|
||||
properties:=current_object_option;
|
||||
{$ifdef GDB}
|
||||
@ -57,17 +47,12 @@
|
||||
|
||||
constructor tsym.load;
|
||||
begin
|
||||
{$ifndef OLDPPU}
|
||||
inherited init;
|
||||
indexnr:=readword;
|
||||
{$else}
|
||||
left:=nil;
|
||||
right:=nil;
|
||||
{$endif}
|
||||
setname(readstring);
|
||||
typ:=abstractsym;
|
||||
fillchar(fileinfo,sizeof(fileinfo),0);
|
||||
properties:=symprop(readbyte);
|
||||
readposinfo(fileinfo);
|
||||
lastref:=nil;
|
||||
defref:=nil;
|
||||
lastwritten:=nil;
|
||||
@ -161,28 +146,16 @@
|
||||
begin
|
||||
if assigned(defref) then
|
||||
dispose(defref,done);
|
||||
{$ifndef OLDPPU}
|
||||
inherited done;
|
||||
{$else}
|
||||
{$ifdef tp}
|
||||
if not(use_big) then
|
||||
{$endif tp}
|
||||
strdispose(_name);
|
||||
if assigned(left) then
|
||||
dispose(left,done);
|
||||
if assigned(right) then
|
||||
dispose(right,done);
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
|
||||
procedure tsym.write;
|
||||
begin
|
||||
{$ifndef OLDPPU}
|
||||
writeword(indexnr);
|
||||
{$endif}
|
||||
writestring(name);
|
||||
writebyte(byte(properties));
|
||||
writeposinfo(fileinfo);
|
||||
end;
|
||||
|
||||
|
||||
@ -191,37 +164,6 @@
|
||||
end;
|
||||
|
||||
|
||||
{$ifdef OLDPPU}
|
||||
function tsym.name : string;
|
||||
{$ifdef tp}
|
||||
var
|
||||
s : string;
|
||||
b : byte;
|
||||
{$endif}
|
||||
begin
|
||||
{$ifdef tp}
|
||||
if use_big then
|
||||
begin
|
||||
symbolstream.seek(longint(_name));
|
||||
symbolstream.read(b,1);
|
||||
symbolstream.read(s[1],b);
|
||||
s[0]:=chr(b);
|
||||
name:=s;
|
||||
end
|
||||
else
|
||||
{$endif}
|
||||
if assigned(_name) then
|
||||
name:=strpas(_name)
|
||||
else
|
||||
name:='';
|
||||
end;
|
||||
|
||||
procedure tsym.setname(const s : string);
|
||||
begin
|
||||
setstring(_name,s);
|
||||
end;
|
||||
{$endif}
|
||||
|
||||
function tsym.mangledname : string;
|
||||
begin
|
||||
mangledname:=name;
|
||||
@ -1981,11 +1923,9 @@
|
||||
|
||||
procedure tsyssym.write;
|
||||
begin
|
||||
{$ifndef OLDPPU}
|
||||
tsym.write;
|
||||
writelong(number);
|
||||
current_ppu^.writeentry(ibsyssym);
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
{$ifdef GDB}
|
||||
@ -2018,7 +1958,12 @@
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.88 1999-05-10 09:01:43 peter
|
||||
Revision 1.89 1999-05-13 21:59:45 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.88 1999/05/10 09:01:43 peter
|
||||
* small message fixes
|
||||
|
||||
Revision 1.87 1999/05/08 19:52:38 peter
|
||||
|
@ -34,19 +34,9 @@
|
||||
|
||||
{ this object is the base for all symbol objects }
|
||||
psym = ^tsym;
|
||||
{$ifndef OLDPPU}
|
||||
tsym = object(tnamedindexobject)
|
||||
{$else}
|
||||
tsym = object
|
||||
indexnb : longint;
|
||||
_name : pchar;
|
||||
left,right : psym;
|
||||
speedvalue : longint;
|
||||
nextsym : psym;
|
||||
{$endif}
|
||||
tsym = object(tsymtableentry)
|
||||
typ : tsymtyp;
|
||||
properties : symprop;
|
||||
owner : psymtable;
|
||||
fileinfo : tfileposinfo;
|
||||
{$ifdef GDB}
|
||||
isstabwritten : boolean;
|
||||
@ -60,10 +50,6 @@
|
||||
destructor done;virtual;
|
||||
procedure write;virtual;
|
||||
procedure deref;virtual;
|
||||
{$ifdef OLDPPU}
|
||||
function name : string;
|
||||
procedure setname(const s : string);
|
||||
{$endif}
|
||||
function mangledname : string;virtual;
|
||||
procedure insert_in_data;virtual;
|
||||
{$ifdef GDB}
|
||||
@ -344,7 +330,12 @@
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.22 1999-04-26 13:31:53 peter
|
||||
Revision 1.23 1999-05-13 21:59:47 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.22 1999/04/26 13:31:53 peter
|
||||
* release storenumber,double_checksum
|
||||
|
||||
Revision 1.21 1999/04/25 22:38:40 pierre
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -687,15 +687,11 @@ implementation
|
||||
if ((parsing_para_level=0) or (p^.left<>nil)) and
|
||||
(nextprocsym=nil) then
|
||||
begin
|
||||
{$ifndef OLDPPU}
|
||||
if (not assigned(lastparatype)) and (not assigned(pt^.resulttype)) then
|
||||
internalerror(39393)
|
||||
else
|
||||
CGMessage3(type_e_wrong_parameter_type,tostr(lastpara),
|
||||
pt^.resulttype^.typename,lastparatype^.typename);
|
||||
{$else}
|
||||
CGMessage1(parser_e_wrong_parameter_type,tostr(lastpara));
|
||||
{$endif}
|
||||
aktcallprocsym^.write_parameter_lists;
|
||||
goto errorexit;
|
||||
end
|
||||
@ -1153,7 +1149,12 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.40 1999-05-10 09:01:45 peter
|
||||
Revision 1.41 1999-05-13 21:59:50 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.40 1999/05/10 09:01:45 peter
|
||||
* small message fixes
|
||||
|
||||
Revision 1.39 1999/05/02 09:35:46 florian
|
||||
|
@ -832,11 +832,7 @@ implementation
|
||||
CGMessage(cg_e_illegal_type_conversion);
|
||||
end
|
||||
else
|
||||
{$ifndef OLDPPU}
|
||||
CGMessage2(type_e_incompatible_types,p^.left^.resulttype^.typename,p^.resulttype^.typename);
|
||||
{$else}
|
||||
CGMessage(type_e_mismatch);
|
||||
{$endif}
|
||||
end
|
||||
end;
|
||||
{ ordinal contants can be directly converted }
|
||||
@ -933,7 +929,12 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.30 1999-05-12 00:20:00 peter
|
||||
Revision 1.31 1999-05-13 21:59:52 peter
|
||||
* removed oldppu code
|
||||
* warning if objpas is loaded from uses
|
||||
* first things for new deref writing
|
||||
|
||||
Revision 1.30 1999/05/12 00:20:00 peter
|
||||
* removed R_DEFAULT_SEG
|
||||
* uniform float names
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user