2
0
Эх сурвалжийг харах

* removed oldppu code
* warning if objpas is loaded from uses
* first things for new deref writing

peter 26 жил өмнө
parent
commit
a47afc3857

+ 11 - 1
compiler/assemble.pas

@@ -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

+ 6 - 12
compiler/browcol.pas

@@ -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
 

+ 6 - 5
compiler/cg386flw.pas

@@ -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/
 

+ 6 - 9
compiler/files.pas

@@ -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

+ 9 - 4
compiler/globals.pas

@@ -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

+ 9 - 4
compiler/hcgdata.pas

@@ -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

+ 1 - 0
compiler/msgidx.inc

@@ -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,

+ 130 - 132
compiler/msgtxt.inc

@@ -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+
   '                 [email protected]'#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

+ 7 - 38
compiler/pdecl.pas

@@ -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

+ 10 - 35
compiler/pmodules.pas

@@ -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

+ 6 - 15
compiler/ppu.pas

@@ -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

+ 6 - 13
compiler/pstatmnt.pas

@@ -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

+ 7 - 2
compiler/ra386.pas

@@ -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
 

+ 23 - 111
compiler/symdef.inc

@@ -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
 

+ 7 - 9
compiler/symdefh.inc

@@ -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
 

+ 96 - 18
compiler/symppu.inc

@@ -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

+ 8 - 63
compiler/symsym.inc

@@ -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

+ 7 - 16
compiler/symsymh.inc

@@ -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

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 147 - 870
compiler/symtable.pas


+ 6 - 5
compiler/tccal.pas

@@ -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

+ 6 - 5
compiler/tccnv.pas

@@ -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
 

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно