* moved printstatus to verb_def

+ V_Normal which is between V_Error and V_Warning and doesn't have a
    prefix like error: warning: and is included in V_Default
  * fixed some messages
  * first time parameter scan is only for -v and -T
  - removed old style messages
This commit is contained in:
peter 1998-05-12 10:46:58 +00:00
parent e64becf81c
commit 4c96df6b43
17 changed files with 1495 additions and 1801 deletions

View File

@ -2844,7 +2844,7 @@ implementation
{ direct call to inherited method } { direct call to inherited method }
if (p^.procdefinition^.options and poabstractmethod)<>0 then if (p^.procdefinition^.options and poabstractmethod)<>0 then
begin begin
error(cg_e_cant_call_abstract_method); Message(cg_e_cant_call_abstract_method);
goto dont_call; goto dont_call;
end; end;
{ generate no virtual call } { generate no virtual call }
@ -5982,7 +5982,15 @@ do_jmp:
end. end.
{ {
$Log$ $Log$
Revision 1.22 1998-05-07 00:17:00 peter Revision 1.23 1998-05-12 10:46:58 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.22 1998/05/07 00:17:00 peter
* smartlinking for sets * smartlinking for sets
+ consts labels are now concated/generated in hcodegen + consts labels are now concated/generated in hcodegen
* moved some cpu code to cga and some none cpu depended code from cga * moved some cpu code to cga and some none cpu depended code from cga

View File

@ -96,6 +96,7 @@ unit files;
do_assemble, { only assemble the object, don't recompile } do_assemble, { only assemble the object, don't recompile }
do_compile, { need to compile the sources } do_compile, { need to compile the sources }
sources_avail, { if all sources are reachable } sources_avail, { if all sources are reachable }
is_unit,
in_implementation, { processing the implementation part? } in_implementation, { processing the implementation part? }
in_main : boolean; { global, after uses else false } in_main : boolean; { global, after uses else false }
@ -123,7 +124,7 @@ unit files;
arfilename, { fullname of the archivefile } arfilename, { fullname of the archivefile }
mainsource : pstring; { name of the main sourcefile } mainsource : pstring; { name of the main sourcefile }
constructor init(const s:string;is_unit:boolean); constructor init(const s:string;_is_unit:boolean);
destructor special_done;virtual; { this is to be called only when compiling again } destructor special_done;virtual; { this is to be called only when compiling again }
procedure setfilename(const path,name:string); procedure setfilename(const path,name:string);
@ -822,7 +823,7 @@ unit files;
constructor tmodule.init(const s:string;is_unit:boolean); constructor tmodule.init(const s:string;_is_unit:boolean);
var var
p : dirstr; p : dirstr;
n : namestr; n : namestr;
@ -854,6 +855,7 @@ unit files;
compiled:=false; compiled:=false;
in_implementation:=false; in_implementation:=false;
in_main:=false; in_main:=false;
is_unit:=_is_unit;
uses_imports:=false; uses_imports:=false;
imports:=new(plinkedlist,init); imports:=new(plinkedlist,init);
output_format:=commandline_output_format; output_format:=commandline_output_format;
@ -907,7 +909,15 @@ unit files;
end. end.
{ {
$Log$ $Log$
Revision 1.10 1998-05-11 13:07:53 peter Revision 1.11 1998-05-12 10:46:59 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.10 1998/05/11 13:07:53 peter
+ $ifdef NEWPPU for the new ppuformat + $ifdef NEWPPU for the new ppuformat
+ $define GDB not longer required + $define GDB not longer required
* removed all warnings and stripped some log comments * removed all warnings and stripped some log comments

View File

@ -187,7 +187,6 @@ var
begin begin
if pos('.',s)=0 then if pos('.',s)=0 then
s:=s+ext; s:=s+ext;
// s:=FixFileName(s);
if FileExists(s) then if FileExists(s) then
begin begin
FindLibraryFile:=s; FindLibraryFile:=s;
@ -343,20 +342,19 @@ begin
if Strip then if Strip then
LinkOptions:=LinkOptions+target_link.stripopt; LinkOptions:=LinkOptions+target_link.stripopt;
{ Add library searchpath to the commandline }
S2:=LibrarySearchPath; S2:=LibrarySearchPath;
Writeln ('Librarysearchpath : ',S2);
Repeat Repeat
I:=Pos(';',S2); i:=Pos(';',S2);
If I<>0 then If i=0 then
begin i:=255;
S:=Copy(S2,1,I-1); S:=Copy(S2,1,i-1);
Delete (S2,1,I);
end
else
S:=S2;
If S<>'' then If S<>'' then
LinkOptions:=LinkOptions+' -L'+s; LinkOptions:=LinkOptions+' -L'+s;
until S=''; Delete (S2,1,i);
until S2='';
{ Write used files and libraries } { Write used files and libraries }
WriteResponseFile; WriteResponseFile;
@ -368,7 +366,6 @@ begin
Replace(s,'$EXE',exename); Replace(s,'$EXE',exename);
Replace(s,'$OPT',LinkOptions); Replace(s,'$OPT',LinkOptions);
Replace(s,'$RES',inputdir+LinkResName); Replace(s,'$RES',inputdir+LinkResName);
Writeln ('Linker options : ',s);
success:=DoExec(FindLinker,s,true,false); success:=DoExec(FindLinker,s,true,false);
{Bind} {Bind}
@ -446,7 +443,15 @@ end;
end. end.
{ {
$Log$ $Log$
Revision 1.8 1998-05-11 13:07:54 peter Revision 1.9 1998-05-12 10:46:59 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.8 1998/05/11 13:07:54 peter
+ $ifdef NEWPPU for the new ppuformat + $ifdef NEWPPU for the new ppuformat
+ $define GDB not longer required + $define GDB not longer required
* removed all warnings and stripped some log comments * removed all warnings and stripped some log comments

View File

@ -51,10 +51,6 @@
} }
type type
tmsgconst = ( tmsgconst = (
general_i_kb_free,
general_l_lines_and_free,
general_i_stream_kb_free,
general_i_ems_kb_free,
general_i_compilername, general_i_compilername,
general_i_unitsearchpath, general_i_unitsearchpath,
general_d_sourceos, general_d_sourceos,
@ -457,7 +453,6 @@ unit_f_too_much_units,
unit_f_circular_unit_reference, unit_f_circular_unit_reference,
unit_f_cant_compile_unit, unit_f_cant_compile_unit,
unit_w_switch_us_missed, unit_w_switch_us_missed,
unit_e_total_errors,
unit_f_errors_in_unit, unit_f_errors_in_unit,
{This should be the last} {This should be the last}
endmsgconst endmsgconst

File diff suppressed because it is too large Load Diff

View File

@ -39,6 +39,8 @@ no_shared_lib_under_dos,
too_many_ifdef, too_many_ifdef,
too_many_endif, too_many_endif,
too_less_endif, too_less_endif,
no_debug_support,
no_debug_support_recompile_fpc,
{logo} {logo}
logo_start, logo_start,
logo_end, logo_end,

View File

@ -12,15 +12,17 @@ Shared libs not supported on DOS platform, reverting to static
too many IF(N)DEFs too many IF(N)DEFs
too many ENDIFs too many ENDIFs
open conditional at the end of the file open conditional at the end of the file
Debug information generation is not supported by this executable
Try recompiling with -dGDB
; ;
; Logo ; Logo
; ;
Free Pascal Compiler version 0.99.6 for $1 Free Pascal Compiler version $VER for $TARGET
Copyright (c) 1993-98 by Florian Klaempfl Copyright (c) 1993-98 by Florian Klaempfl
; ;
; Info ; Info
; ;
Free Pascal Compiler version 0.99.6 Free Pascal Compiler version $VER
<lf> <lf>
This program comes under the GNU General Public Licence This program comes under the GNU General Public Licence
For more information read COPYING For more information read COPYING
@ -60,7 +62,6 @@ Report bugs,suggestions etc to:
*L1e<x>_set path to executables *L1e<x>_set path to executables
**1E_same as -Cn **1E_same as -Cn
**1g_generate debugger information **1g_generate debugger information
**2gp_generate also profile code for gprof
**1F_set file names and paths **1F_set file names and paths
**2Fe<x>_redirect error output to <x> **2Fe<x>_redirect error output to <x>
*L2Fg<x>_<x> search path for the GNU C lib *L2Fg<x>_<x> search path for the GNU C lib
@ -82,7 +83,7 @@ Report bugs,suggestions etc to:
**1S_syntax options **1S_syntax options
**2S2_switch some Delphi 2 extension on **2S2_switch some Delphi 2 extension on
**2Sc_supports operators like C (*=,+=,/= and -=) **2Sc_supports operators like C (*=,+=,/= and -=)
**2Sd_compiler disposes asm lists (uses less memory but much slower) **2Sd_compiler disposes asm lists (uses less memory but slower)
**2Se_compiler stops after the first error **2Se_compiler stops after the first error
**2Sg_allows LABEL and GOTO **2Sg_allows LABEL and GOTO
**2Si_support C++ stlyed INLINE **2Si_support C++ stlyed INLINE

View File

@ -1,4 +1,4 @@
const optiontxt : array[1..04774] of char=( const optiontxt : array[1..04827] of char=(
' ','[','o','p','t','i','o','n','s',']',' ','<','i','n','p', ' ','[','o','p','t','i','o','n','s',']',' ','<','i','n','p',
'u','t','f','i','l','e','>',' ','[','o','p','t','i','o','n', 'u','t','f','i','l','e','>',' ','[','o','p','t','i','o','n',
's',']',#000,'O','n','l','y',' ','o','n','e',' ','s','o','u', 's',']',#000,'O','n','l','y',' ','o','n','e',' ','s','o','u',
@ -28,293 +28,296 @@ const optiontxt : array[1..04774] of char=(
' ','m','a','n','y',' ','E','N','D','I','F','s',#000,'o','p', ' ','m','a','n','y',' ','E','N','D','I','F','s',#000,'o','p',
'e','n',' ','c','o','n','d','i','t','i','o','n','a','l',' ', 'e','n',' ','c','o','n','d','i','t','i','o','n','a','l',' ',
'a','t',' ','t','h','e',' ','e','n','d',' ','o','f',' ','t', 'a','t',' ','t','h','e',' ','e','n','d',' ','o','f',' ','t',
'h','e',' ','f','i','l','e',#000,'F','r','e','e',' ','P','a', 'h','e',' ','f','i','l','e',#000,'D','e','b','u','g',' ','i',
'n','f','o','r','m','a','t','i','o','n',' ','g','e','n','e',
'r','a','t','i','o','n',' ','i','s',' ','n','o','t',' ','s',
'u','p','p','o','r','t','e','d',' ','b','y',' ','t','h','i',
's',' ','e','x','e','c','u','t','a','b','l','e',#000,'T','r',
'y',' ','r','e','c','o','m','p','i','l','i','n','g',' ','w',
'i','t','h',' ','-','d','G','D','B',#000,'F','r','e','e',' ',
'P','a','s','c','a','l',' ','C','o','m','p','i','l','e','r',
' ','v','e','r','s','i','o','n',' ','$','V','E','R',' ','f',
'o','r',' ','$','T','A','R','G','E','T',#000,'C','o','p','y',
'r','i','g','h','t',' ','(','c',')',' ','1','9','9','3','-',
'9','8',' ','b','y',' ','F','l','o','r','i','a','n',' ','K',
'l','a','e','m','p','f','l',#000,'F','r','e','e',' ','P','a',
's','c','a','l',' ','C','o','m','p','i','l','e','r',' ','v', 's','c','a','l',' ','C','o','m','p','i','l','e','r',' ','v',
'e','r','s','i','o','n',' ','0','.','9','9','.','6',' ','f', 'e','r','s','i','o','n',' ','$','V','E','R',#000,#000,'l','f',
'o','r',' ','$','1',#000,'C','o','p','y','r','i','g','h','t', '>',#010,'T','h','i','s',' ','p','r','o','g','r','a','m',' ',
' ','(','c',')',' ','1','9','9','3','-','9','8',' ','b','y', 'c','o','m','e','s',' ','u','n','d','e','r',' ','t','h','e',
' ','F','l','o','r','i','a','n',' ','K','l','a','e','m','p', ' ','G','N','U',' ','G','e','n','e','r','a','l',' ','P','u',
'f','l',#000,'F','r','e','e',' ','P','a','s','c','a','l',' ', 'b','l','i','c',' ','L','i','c','e','n','c','e',#000,'F','o',
'C','o','m','p','i','l','e','r',' ','v','e','r','s','i','o', 'r',' ','m','o','r','e',' ','i','n','f','o','r','m','a','t',
'n',' ','0','.','9','9','.','6',#000,#000,'T','h','i','s',' ', 'i','o','n',' ','r','e','a','d',' ','C','O','P','Y','I','N',
'p','r','o','g','r','a','m',' ','c','o','m','e','s',' ','u', 'G',#000,#000,'l','f','>',#010,'R','e','p','o','r','t',' ','b',
'n','d','e','r',' ','t','h','e',' ','G','N','U',' ','G','e', 'u','g','s',',','s','u','g','g','e','s','t','i','o','n','s',
'n','e','r','a','l',' ','P','u','b','l','i','c',' ','L','i', ' ','e','t','c',' ','t','o',':',#000,' ',' ',' ',' ',' ',' ',
'c','e','n','c','e',#000,'F','o','r',' ','m','o','r','e',' ', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','b','a','2','3','9',
'i','n','f','o','r','m','a','t','i','o','n',' ','r','e','a', '5','@','f','e','n','.','b','a','y','n','e','t','.','d','e',
'd',' ','C','O','P','Y','I','N','G',#000,#000,'R','e','p','o', #000,'*','*','0','*','_','+',' ','s','w','i','t','c','h',' ',
'r','t',' ','b','u','g','s',',','s','u','g','g','e','s','t', 'o','p','t','i','o','n',' ','o','n',',',' ','-',' ','o','f',
'i','o','n','s',' ','e','t','c',' ','t','o',':',#000,' ',' ', 'f',#000,'*','*','1','a','_','t','h','e',' ','c','o','m','p',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','b', 'i','l','e','r',' ','d','o','e','s','n',#039,#039,'t',' ','d',
'a','2','3','9','5','@','f','e','n','.','b','a','y','n','e', 'e','l','e','t','e',' ','t','h','e',' ','g','e','n','e','r',
't','.','d','e',#000,'*','*','0','*','_','+',' ','s','w','i', 'a','t','e','d',' ','a','s','s','e','m','b','l','e','r',' ',
't','c','h',' ','o','p','t','i','o','n',' ','o','n',',',' ', 'f','i','l','e',#000,'*','t','1','b','_','u','s','e',' ','E',
'-',' ','o','f','f',#000,'*','*','1','a','_','t','h','e',' ', 'M','S',#000,'*','*','1','B','+','_','b','u','i','l','d',#000,
'c','o','m','p','i','l','e','r',' ','d','o','e','s','n',#039, '*','*','1','C','_','c','o','d','e',' ','g','e','n','e','r',
#039,'t',' ','d','e','l','e','t','e',' ','t','h','e',' ','g', 'a','t','i','o','n',' ','o','p','t','i','o','n','s',#000,'*',
'e','n','e','r','a','t','e','d',' ','a','s','s','e','m','b', '*','2','C','a','_','n','o','t',' ','i','m','p','l','e','m',
'l','e','r',' ','f','i','l','e',#000,'*','t','1','b','_','u', 'e','n','t','e','d',#000,'*','*','2','C','e','_','n','o','t',
's','e',' ','E','M','S',#000,'*','*','1','B','+','_','b','u', ' ','i','m','p','l','e','m','e','n','t','e','d',#000,'3','*',
'i','l','d',#000,'*','*','1','C','_','c','o','d','e',' ','g', '2','C','D','_','D','y','n','a','m','i','c',' ','l','i','n',
'e','n','e','r','a','t','i','o','n',' ','o','p','t','i','o', 'k','i','n','g',#000,'*','*','2','C','h','<','n','>','_','<',
'n','s',#000,'*','*','2','C','a','_','n','o','t',' ','i','m', 'n','>',' ','b','y','t','e','s',' ','h','e','a','p',' ','(',
'p','l','e','m','e','n','t','e','d',#000,'*','*','2','C','e', 'b','e','t','w','e','e','n',' ','1','0','2','3',' ','a','n',
'_','n','o','t',' ','i','m','p','l','e','m','e','n','t','e', 'd',' ','6','7','1','0','7','8','4','0',')',#000,'*','*','2',
'd',#000,'3','*','2','C','D','_','D','y','n','a','m','i','c', 'C','i','_','I','O','-','c','h','e','c','k','i','n','g',#000,
' ','l','i','n','k','i','n','g',#000,'*','*','2','C','h','<', '*','*','2','C','n','_','o','m','i','t',' ','l','i','n','k',
'n','>','_','<','n','>',' ','b','y','t','e','s',' ','h','e', 'i','n','g',' ','s','t','a','g','e',#000,'*','*','2','C','o',
'a','p',' ','(','b','e','t','w','e','e','n',' ','1','0','2', '_','c','h','e','c','k',' ','o','v','e','r','f','l','o','w',
'3',' ','a','n','d',' ','6','7','1','0','7','8','4','0',')', ' ','o','f',' ','i','n','t','e','g','e','r',' ','o','p','e',
#000,'*','*','2','C','i','_','I','O','-','c','h','e','c','k', 'r','a','t','i','o','n','s',#000,'*','*','2','C','r','_','r',
'i','n','g',#000,'*','*','2','C','n','_','o','m','i','t',' ', 'a','n','g','e',' ','c','h','e','c','k','i','n','g',#000,'*',
'l','i','n','k','i','n','g',' ','s','t','a','g','e',#000,'*', 'O','2','C','s','<','n','>','_','s','e','t',' ','s','t','a',
'*','2','C','o','_','c','h','e','c','k',' ','o','v','e','r', 'c','k',' ','s','i','z','e',' ','t','o',' ','<','n','>',#000,
'f','l','o','w',' ','o','f',' ','i','n','t','e','g','e','r', '*','*','2','C','t','_','s','t','a','c','k',' ','c','h','e',
' ','o','p','e','r','a','t','i','o','n','s',#000,'*','*','2', 'c','k','i','n','g',#000,'3','*','2','C','S','_','s','t','a',
'C','r','_','r','a','n','g','e',' ','c','h','e','c','k','i', 't','i','c',' ','l','i','n','k','i','n','g',#000,'*','*','1',
'n','g',#000,'*','O','2','C','s','<','n','>','_','s','e','t', 'd','<','x','>','_','d','e','f','i','n','e','s',' ','t','h',
' ','s','t','a','c','k',' ','s','i','z','e',' ','t','o',' ', 'e',' ','s','y','m','b','o','l',' ','<','x','>',#000,'*','O',
'<','n','>',#000,'*','*','2','C','t','_','s','t','a','c','k', '1','D','_','c','o','n','t','r','o','l','s',' ','t','h','e',
' ','c','h','e','c','k','i','n','g',#000,'3','*','2','C','S', ' ','g','e','n','e','r','a','t','i','o','n',' ','o','f',' ',
'_','s','t','a','t','i','c',' ','l','i','n','k','i','n','g', 'D','E','F',' ','f','i','l','e',' ','(','o','n','l','y',' ',
#000,'*','*','1','d','<','x','>','_','d','e','f','i','n','e', 'O','S','/','2',')',#000,'*','O','2','D','d','<','x','>','_',
's',' ','t','h','e',' ','s','y','m','b','o','l',' ','<','x', 's','e','t',' ','d','e','s','c','r','i','p','t','i','o','n',
'>',#000,'*','O','1','D','_','c','o','n','t','r','o','l','s', ' ','t','o',' ','<','x','>',#000,'*','O','2','D','o','_','g',
' ','t','h','e',' ','g','e','n','e','r','a','t','i','o','n', 'e','n','e','r','a','t','e',' ','D','E','F',' ','f','i','l',
' ','o','f',' ','D','E','F',' ','f','i','l','e',' ','(','o', 'e',#000,'*','O','2','D','w','_','P','M',' ','a','p','p','l',
'n','l','y',' ','O','S','/','2',')',#000,'*','O','2','D','d', 'i','c','a','t','i','o','n',#000,'*','L','1','e','<','x','>',
'<','x','>','_','s','e','t',' ','d','e','s','c','r','i','p', '_','s','e','t',' ','p','a','t','h',' ','t','o',' ','e','x',
't','i','o','n',' ','t','o',' ','<','x','>',#000,'*','O','2', 'e','c','u','t','a','b','l','e','s',#000,'*','*','1','E','_',
'D','o','_','g','e','n','e','r','a','t','e',' ','D','E','F', 's','a','m','e',' ','a','s',' ','-','C','n',#000,'*','*','1',
' ','f','i','l','e',#000,'*','O','2','D','w','_','P','M',' ', 'g','_','g','e','n','e','r','a','t','e',' ','d','e','b','u',
'a','p','p','l','i','c','a','t','i','o','n',#000,'*','L','1', 'g','g','e','r',' ','i','n','f','o','r','m','a','t','i','o',
'e','<','x','>','_','s','e','t',' ','p','a','t','h',' ','t', 'n',#000,'*','*','1','F','_','s','e','t',' ','f','i','l','e',
'o',' ','e','x','e','c','u','t','a','b','l','e','s',#000,'*', ' ','n','a','m','e','s',' ','a','n','d',' ','p','a','t','h',
'*','1','E','_','s','a','m','e',' ','a','s',' ','-','C','n', 's',#000,'*','*','2','F','e','<','x','>','_','r','e','d','i',
#000,'*','*','1','g','_','g','e','n','e','r','a','t','e',' ', 'r','e','c','t',' ','e','r','r','o','r',' ','o','u','t','p',
'd','e','b','u','g','g','e','r',' ','i','n','f','o','r','m', 'u','t',' ','t','o',' ','<','x','>',#000,'*','L','2','F','g',
'a','t','i','o','n',#000,'*','*','2','g','p','_','g','e','n',
'e','r','a','t','e',' ','a','l','s','o',' ','p','r','o','f',
'i','l','e',' ','c','o','d','e',' ','f','o','r',' ','g','p',
'r','o','f',#000,'*','*','1','F','_','s','e','t',' ','f','i',
'l','e',' ','n','a','m','e','s',' ','a','n','d',' ','p','a',
't','h','s',#000,'*','*','2','F','e','<','x','>','_','r','e',
'd','i','r','e','c','t',' ','e','r','r','o','r',' ','o','u',
't','p','u','t',' ','t','o',' ','<','x','>',#000,'*','L','2',
'F','g','<','x','>','_','<','x','>',' ','s','e','a','r','c',
'h',' ','p','a','t','h',' ','f','o','r',' ','t','h','e',' ',
'G','N','U',' ','C',' ','l','i','b',#000,'*','L','2','F','r',
'<','x','>','_','<','x','>',' ','s','e','a','r','c','h',' ', '<','x','>','_','<','x','>',' ','s','e','a','r','c','h',' ',
'p','a','t','h',' ','f','o','r',' ','t','h','e',' ','e','r', 'p','a','t','h',' ','f','o','r',' ','t','h','e',' ','G','N',
'r','o','r',' ','m','e','s','s','a','g','e',' ','f','i','l', 'U',' ','C',' ','l','i','b',#000,'*','L','2','F','r','<','x',
'e',#000,'*','*','2','F','i','<','x','>','_','a','d','d','s', '>','_','<','x','>',' ','s','e','a','r','c','h',' ','p','a',
' ','<','x','>',' ','t','o',' ','i','n','c','l','u','d','e', 't','h',' ','f','o','r',' ','t','h','e',' ','e','r','r','o',
' ','p','a','t','h',#000,'*','*','2','F','l','<','x','>','_', 'r',' ','m','e','s','s','a','g','e',' ','f','i','l','e',#000,
'a','d','d','s',' ','<','x','>',' ','t','o',' ','l','i','b', '*','*','2','F','i','<','x','>','_','a','d','d','s',' ','<',
'r','a','r','y',' ','p','a','t','h',#000,'*','L','2','F','L', 'x','>',' ','t','o',' ','i','n','c','l','u','d','e',' ','p',
'<','x','>','_','u','s','e','s',' ','<','x','>',' ','a','s', 'a','t','h',#000,'*','*','2','F','l','<','x','>','_','a','d',
' ','d','y','n','a','m','i','c',' ','l','i','n','k','e','r', 'd','s',' ','<','x','>',' ','t','o',' ','l','i','b','r','a',
#000,'*','*','2','F','u','<','x','>','_','a','d','d','s',' ', 'r','y',' ','p','a','t','h',#000,'*','L','2','F','L','<','x',
'<','x','>',' ','t','o',' ','u','n','i','t',' ','p','a','t', '>','_','u','s','e','s',' ','<','x','>',' ','a','s',' ','d',
'h',#000,'*','*','1','k','<','x','>','_','P','a','s','s',' ', 'y','n','a','m','i','c',' ','l','i','n','k','e','r',#000,'*',
'<','x','>',' ','t','o',' ','t','h','e',' ','l','i','n','k', '*','2','F','u','<','x','>','_','a','d','d','s',' ','<','x',
'e','r',#000,'*','*','1','L','_','s','e','t',' ','l','a','n', '>',' ','t','o',' ','u','n','i','t',' ','p','a','t','h',#000,
'g','u','a','g','e',#000,'*','*','2','L','D','_','g','e','r', '*','*','1','k','<','x','>','_','P','a','s','s',' ','<','x',
'm','a','n',#000,'*','*','2','L','E','_','e','n','g','l','i', '>',' ','t','o',' ','t','h','e',' ','l','i','n','k','e','r',
's','h',#000,'*','*','1','l','_','w','r','i','t','e',' ','l', #000,'*','*','1','L','_','s','e','t',' ','l','a','n','g','u',
'o','g','o',#000,'*','*','1','i','_','i','n','f','o','r','m', 'a','g','e',#000,'*','*','2','L','D','_','g','e','r','m','a',
'a','t','i','o','n',#000,'*','*','1','n','_','d','o','n',#039, 'n',#000,'*','*','2','L','E','_','e','n','g','l','i','s','h',
't',' ','r','e','a','d',' ','t','h','e',' ','d','e','f','a', #000,'*','*','1','l','_','w','r','i','t','e',' ','l','o','g',
'u','l','t',' ','c','o','n','f','i','g',' ','f','i','l','e', 'o',#000,'*','*','1','i','_','i','n','f','o','r','m','a','t',
#000,'*','*','1','o','<','x','>','_','c','h','a','n','g','e', 'i','o','n',#000,'*','*','1','n','_','d','o','n',#039,'t',' ',
' ','t','h','e',' ','n','a','m','e',' ','o','f',' ','t','h', 'r','e','a','d',' ','t','h','e',' ','d','e','f','a','u','l',
'e',' ','e','x','e','c','u','t','a','b','l','e',' ','p','r', 't',' ','c','o','n','f','i','g',' ','f','i','l','e',#000,'*',
'o','d','u','c','e','d',' ','t','o',' ','<','x','>',#000,'*', '*','1','o','<','x','>','_','c','h','a','n','g','e',' ','t',
'*','1','p','g','_','g','e','n','e','r','a','t','e',' ','p', 'h','e',' ','n','a','m','e',' ','o','f',' ','t','h','e',' ',
'r','o','f','i','l','e',' ','c','o','d','e',' ','f','o','r', 'e','x','e','c','u','t','a','b','l','e',' ','p','r','o','d',
' ','g','p','r','o','f',#000,'*','L','1','P','_','u','s','e', 'u','c','e','d',' ','t','o',' ','<','x','>',#000,'*','*','1',
' ','p','i','p','e','s',' ','i','n','s','t','e','a','d',' ', 'p','g','_','g','e','n','e','r','a','t','e',' ','p','r','o',
'o','f',' ','c','r','e','a','t','i','n','g',' ','t','e','m', 'f','i','l','e',' ','c','o','d','e',' ','f','o','r',' ','g',
'p','o','r','a','r','y',' ','a','s','s','e','m','b','l','e', 'p','r','o','f',#000,'*','L','1','P','_','u','s','e',' ','p',
'r',' ','f','i','l','e','s',#000,'*','*','1','S','_','s','y', 'i','p','e','s',' ','i','n','s','t','e','a','d',' ','o','f',
'n','t','a','x',' ','o','p','t','i','o','n','s',#000,'*','*', ' ','c','r','e','a','t','i','n','g',' ','t','e','m','p','o',
'2','S','2','_','s','w','i','t','c','h',' ','s','o','m','e', 'r','a','r','y',' ','a','s','s','e','m','b','l','e','r',' ',
' ','D','e','l','p','h','i',' ','2',' ','e','x','t','e','n', 'f','i','l','e','s',#000,'*','*','1','S','_','s','y','n','t',
's','i','o','n',' ','o','n',#000,'*','*','2','S','c','_','s', 'a','x',' ','o','p','t','i','o','n','s',#000,'*','*','2','S',
'u','p','p','o','r','t','s',' ','o','p','e','r','a','t','o', '2','_','s','w','i','t','c','h',' ','s','o','m','e',' ','D',
'r','s',' ','l','i','k','e',' ','C',' ','(','*','=',',','+', 'e','l','p','h','i',' ','2',' ','e','x','t','e','n','s','i',
'=',',','/','=',' ','a','n','d',' ','-','=',')',#000,'*','*', 'o','n',' ','o','n',#000,'*','*','2','S','c','_','s','u','p',
'2','S','d','_','c','o','m','p','i','l','e','r',' ','d','i', 'p','o','r','t','s',' ','o','p','e','r','a','t','o','r','s',
's','p','o','s','e','s',' ','a','s','m',' ','l','i','s','t', ' ','l','i','k','e',' ','C',' ','(','*','=',',','+','=',',',
's',' ','(','u','s','e','s',' ','l','e','s','s',' ','m','e', '/','=',' ','a','n','d',' ','-','=',')',#000,'*','*','2','S',
'm','o','r','y',' ','b','u','t',' ','m','u','c','h',' ','s', 'd','_','c','o','m','p','i','l','e','r',' ','d','i','s','p',
'l','o','w','e','r',')',#000,'*','*','2','S','e','_','c','o', 'o','s','e','s',' ','a','s','m',' ','l','i','s','t','s',' ',
'm','p','i','l','e','r',' ','s','t','o','p','s',' ','a','f', '(','u','s','e','s',' ','l','e','s','s',' ','m','e','m','o',
't','e','r',' ','t','h','e',' ','f','i','r','s','t',' ','e', 'r','y',' ','b','u','t',' ','s','l','o','w','e','r',')',#000,
'r','r','o','r',#000,'*','*','2','S','g','_','a','l','l','o', '*','*','2','S','e','_','c','o','m','p','i','l','e','r',' ',
'w','s',' ','L','A','B','E','L',' ','a','n','d',' ','G','O', 's','t','o','p','s',' ','a','f','t','e','r',' ','t','h','e',
'T','O',#000,'*','*','2','S','i','_','s','u','p','p','o','r', ' ','f','i','r','s','t',' ','e','r','r','o','r',#000,'*','*',
't',' ','C','+','+',' ','s','t','l','y','e','d',' ','I','N', '2','S','g','_','a','l','l','o','w','s',' ','L','A','B','E',
'L','I','N','E',#000,'*','*','2','S','m','_','s','u','p','p', 'L',' ','a','n','d',' ','G','O','T','O',#000,'*','*','2','S',
'o','r','t',' ','m','a','c','r','o','s',' ','l','i','k','e', 'i','_','s','u','p','p','o','r','t',' ','C','+','+',' ','s',
' ','C',' ','(','g','l','o','b','a','l',')',#000,'*','*','2', 't','l','y','e','d',' ','I','N','L','I','N','E',#000,'*','*',
'S','o','_','t','r','i','e','s',' ','t','o',' ','b','e',' ', '2','S','m','_','s','u','p','p','o','r','t',' ','m','a','c',
'T','P','/','B','P',' ','7','.','0',' ','c','o','m','p','a', 'r','o','s',' ','l','i','k','e',' ','C',' ','(','g','l','o',
't','i','b','l','e',#000,'*','*','2','S','s','_','c','o','n', 'b','a','l',')',#000,'*','*','2','S','o','_','t','r','i','e',
's','t','r','u','c','t','o','r',' ','n','a','m','e',' ','m', 's',' ','t','o',' ','b','e',' ','T','P','/','B','P',' ','7',
'u','s','t',' ','b','e',' ','i','n','i','t',' ','(','d','e', '.','0',' ','c','o','m','p','a','t','i','b','l','e',#000,'*',
's','t','r','u','c','t','o','r',' ','m','u','s','t',' ','b', '*','2','S','s','_','c','o','n','s','t','r','u','c','t','o',
'e',' ','d','o','n','e',')',#000,'*','*','2','S','t','_','a', 'r',' ','n','a','m','e',' ','m','u','s','t',' ','b','e',' ',
'l','l','o','w','s',' ','s','t','a','t','i','c',' ','k','e', 'i','n','i','t',' ','(','d','e','s','t','r','u','c','t','o',
'y','w','o','r','d',' ','i','n',' ','o','b','j','e','c','t', 'r',' ','m','u','s','t',' ','b','e',' ','d','o','n','e',')',
's',#000,'*','*','1','s','_','d','o','n',#039,'t',' ','c','a', #000,'*','*','2','S','t','_','a','l','l','o','w','s',' ','s',
'l','l',' ','a','s','s','e','m','b','l','e','r',' ','a','n', 't','a','t','i','c',' ','k','e','y','w','o','r','d',' ','i',
'd',' ','l','i','n','k','e','r',' ','(','o','n','l','y',' ', 'n',' ','o','b','j','e','c','t','s',#000,'*','*','1','s','_',
'w','i','t','h',' ','-','a',')',#000,'*','*','1','T','<','x', 'd','o','n',#039,'t',' ','c','a','l','l',' ','a','s','s','e',
'>','_','T','a','r','g','e','t',' ','o','p','e','r','a','t', 'm','b','l','e','r',' ','a','n','d',' ','l','i','n','k','e',
'i','n','g',' ','s','y','s','t','e','m',#000,'3','*','2','T', 'r',' ','(','o','n','l','y',' ','w','i','t','h',' ','-','a',
'G','O','3','2','V','1','_','v','e','r','s','i','o','n',' ', ')',#000,'*','*','1','T','<','x','>','_','T','a','r','g','e',
'1',' ','o','f',' ','D','J',' ','D','e','l','o','r','i','e', 't',' ','o','p','e','r','a','t','i','n','g',' ','s','y','s',
' ','D','O','S',' ','e','x','t','e','n','d','e','r',#000,'3', 't','e','m',#000,'3','*','2','T','G','O','3','2','V','1','_',
'*','2','T','G','O','3','2','V','2','_','v','e','r','s','i', 'v','e','r','s','i','o','n',' ','1',' ','o','f',' ','D','J',
'o','n',' ','2',' ','o','f',' ','D','J',' ','D','e','l','o', ' ','D','e','l','o','r','i','e',' ','D','O','S',' ','e','x',
'r','i','e',' ','D','O','S',' ','e','x','t','e','n','d','e', 't','e','n','d','e','r',#000,'3','*','2','T','G','O','3','2',
'r',#000,'3','*','2','T','L','I','N','U','X','_','L','i','n', 'V','2','_','v','e','r','s','i','o','n',' ','2',' ','o','f',
'u','x',#000,'3','*','2','T','O','S','2','_','O','S','/','2', ' ','D','J',' ','D','e','l','o','r','i','e',' ','D','O','S',
' ','2','.','x',#000,'3','*','2','T','W','i','n','3','2','_', ' ','e','x','t','e','n','d','e','r',#000,'3','*','2','T','L',
'W','i','n','d','o','w','s',' ','3','2',' ','B','i','t',#000, 'I','N','U','X','_','L','i','n','u','x',#000,'3','*','2','T',
'6','*','2','T','A','M','I','G','A','_','C','o','m','m','o', 'O','S','2','_','O','S','/','2',' ','2','.','x',#000,'3','*',
'd','o','r','e',' ','A','m','i','g','a',#000,'6','*','2','T', '2','T','W','i','n','3','2','_','W','i','n','d','o','w','s',
'A','T','A','R','I','_','A','t','a','r','i',' ','S','T','/', ' ','3','2',' ','B','i','t',#000,'6','*','2','T','A','M','I',
'S','T','e','/','T','T',#000,'6','*','2','T','M','A','C','O', 'G','A','_','C','o','m','m','o','d','o','r','e',' ','A','m',
'S','_','M','a','c','i','n','t','o','s','h',' ','m','6','8', 'i','g','a',#000,'6','*','2','T','A','T','A','R','I','_','A',
'k',#000,'6','*','2','T','L','I','N','U','X','_','L','i','n', 't','a','r','i',' ','S','T','/','S','T','e','/','T','T',#000,
'u','x','-','6','8','k',#000,'*','*','1','u','<','x','>','_', '6','*','2','T','M','A','C','O','S','_','M','a','c','i','n',
'u','n','d','e','f','i','n','e','s',' ','t','h','e',' ','s', 't','o','s','h',' ','m','6','8','k',#000,'6','*','2','T','L',
'y','m','b','o','l',' ','<','x','>',#000,'*','*','1','U','_', 'I','N','U','X','_','L','i','n','u','x','-','6','8','k',#000,
'u','n','i','t',' ','o','p','t','i','o','n','s',#000,'*','*', '*','*','1','u','<','x','>','_','u','n','d','e','f','i','n',
'2','U','l','s','_','m','a','k','e',' ','s','t','a','t','i', 'e','s',' ','t','h','e',' ','s','y','m','b','o','l',' ','<',
'c',' ','l','i','b','r','a','r','y',' ','f','r','o','m',' ', 'x','>',#000,'*','*','1','U','_','u','n','i','t',' ','o','p',
'u','n','i','t',#000,'*','*','2','U','l','d','_','m','a','k', 't','i','o','n','s',#000,'*','*','2','U','l','s','_','m','a',
'e',' ','d','y','n','a','m','i','c',' ','l','i','b','r','a', 'k','e',' ','s','t','a','t','i','c',' ','l','i','b','r','a',
'r','y',' ','f','r','o','m',' ','u','n','i','t',#000,'*','*', 'r','y',' ','f','r','o','m',' ','u','n','i','t',#000,'*','*',
'2','U','n','_','d','o','n',#039,'t',' ','c','h','e','c','k', '2','U','l','d','_','m','a','k','e',' ','d','y','n','a','m',
' ','t','h','e',' ','u','n','i','t',' ','n','a','m','e',#000, 'i','c',' ','l','i','b','r','a','r','y',' ','f','r','o','m',
'*','*','2','U','p','<','x','>','_','s','a','m','e',' ','a', ' ','u','n','i','t',#000,'*','*','2','U','n','_','d','o','n',
's',' ','-','F','u','<','x','>',#000,'*','*','2','U','s','_', #039,'t',' ','c','h','e','c','k',' ','t','h','e',' ','u','n',
'c','o','m','p','i','l','e',' ','a',' ','s','y','s','t','e', 'i','t',' ','n','a','m','e',#000,'*','*','2','U','p','<','x',
'm',' ','u','n','i','t',#000,'*','*','1','v','<','x','>','_', '>','_','s','a','m','e',' ','a','s',' ','-','F','u','<','x',
'B','e',' ','v','e','r','b','o','s','e','.',' ','<','x','>', '>',#000,'*','*','2','U','s','_','c','o','m','p','i','l','e',
' ','i','s',' ','a',' ','c','o','m','b','i','n','a','t','i', ' ','a',' ','s','y','s','t','e','m',' ','u','n','i','t',#000,
'o','n',' ','o','f',' ','t','h','e',' ','f','o','l','l','o', '*','*','1','v','<','x','>','_','B','e',' ','v','e','r','b',
'w','i','n','g',' ','l','e','t','t','e','r','s',' ',':',#000, 'o','s','e','.',' ','<','x','>',' ','i','s',' ','a',' ','c',
'*','*','2','*','_','e',' ',':',' ','S','h','o','w',' ','e', 'o','m','b','i','n','a','t','i','o','n',' ','o','f',' ','t',
'r','r','o','r','s',' ','(','d','e','f','a','u','l','t',')', 'h','e',' ','f','o','l','l','o','w','i','n','g',' ','l','e',
' ',' ',' ',' ',' ',' ',' ','d',' ',':',' ','S','h','o','w', 't','t','e','r','s',' ',':',#000,'*','*','2','*','_','e',' ',
' ','d','e','b','u','g',' ','i','n','f','o',#000,'*','*','2', ':',' ','S','h','o','w',' ','e','r','r','o','r','s',' ','(',
'*','_','w',' ',':',' ','S','h','o','w',' ','w','a','r','n', 'd','e','f','a','u','l','t',')',' ',' ',' ',' ',' ',' ',' ',
'i','n','g','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ', 'd',' ',':',' ','S','h','o','w',' ','d','e','b','u','g',' ',
' ',' ',' ',' ','u',' ',':',' ','S','h','o','w',' ','u','s', 'i','n','f','o',#000,'*','*','2','*','_','w',' ',':',' ','S',
'e','d',' ','f','i','l','e','s',#000,'*','*','2','*','_','n', 'h','o','w',' ','w','a','r','n','i','n','g','s',' ',' ',' ',
' ',':',' ','S','h','o','w',' ','n','o','t','e','s',' ',' ', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','u',' ',':',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ', ' ','S','h','o','w',' ','u','s','e','d',' ','f','i','l','e',
' ','t',' ',':',' ','S','h','o','w',' ','t','r','i','e','d', 's',#000,'*','*','2','*','_','n',' ',':',' ','S','h','o','w',
' ','f','i','l','e','s',#000,'*','*','2','*','_','h',' ',':', ' ','n','o','t','e','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',
' ','S','h','o','w',' ','h','i','n','t','s',' ',' ',' ',' ', ' ',' ',' ',' ',' ',' ',' ',' ',' ','t',' ',':',' ','S','h',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','m', 'o','w',' ','t','r','i','e','d',' ','f','i','l','e','s',#000,
' ',':',' ','S','h','o','w',' ','d','e','f','i','n','e','d', '*','*','2','*','_','h',' ',':',' ','S','h','o','w',' ','h',
' ','m','a','c','r','o','s',#000,'*','*','2','*','_','i',' ', 'i','n','t','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
':',' ','S','h','o','w',' ','g','e','n','e','r','a','l',' ', ' ',' ',' ',' ',' ',' ',' ','m',' ',':',' ','S','h','o','w',
'i','n','f','o',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ', ' ','d','e','f','i','n','e','d',' ','m','a','c','r','o','s',
'p',' ',':',' ','S','h','o','w',' ','c','o','m','p','i','l', #000,'*','*','2','*','_','i',' ',':',' ','S','h','o','w',' ',
'e','d',' ','p','r','o','c','e','d','u','r','e','s',#000,'*', 'g','e','n','e','r','a','l',' ','i','n','f','o',' ',' ',' ',
'*','2','*','_','l',' ',':',' ','S','h','o','w',' ','l','i', ' ',' ',' ',' ',' ',' ',' ',' ','p',' ',':',' ','S','h','o',
'n','e','n','u','m','b','e','r','s',' ',' ',' ',' ',' ',' ', 'w',' ','c','o','m','p','i','l','e','d',' ','p','r','o','c',
' ',' ',' ',' ',' ',' ','c',' ',':',' ','S','h','o','w',' ', 'e','d','u','r','e','s',#000,'*','*','2','*','_','l',' ',':',
'c','o','n','d','i','t','i','o','n','a','l','s',#000,'*','*', ' ','S','h','o','w',' ','l','i','n','e','n','u','m','b','e',
'2','*','_','a',' ',':',' ','S','h','o','w',' ','e','v','e', 'r','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','c',
'r','y','t','h','i','n','g',' ',' ',' ',' ',' ',' ',' ',' ', ' ',':',' ','S','h','o','w',' ','c','o','n','d','i','t','i',
' ',' ',' ',' ',' ','0',' ',':',' ','S','h','o','w',' ','n', 'o','n','a','l','s',#000,'*','*','2','*','_','a',' ',':',' ',
'o','t','h','i','n','g',' ','(','e','x','c','e','p','t',' ', 'S','h','o','w',' ','e','v','e','r','y','t','h','i','n','g',
'e','r','r','o','r','s',')',#000,'*','*','1','X','_','e','x', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0',' ',
'e','c','u','t','a','b','l','e',' ','o','p','t','i','o','n', ':',' ','S','h','o','w',' ','n','o','t','h','i','n','g',' ',
's',#000,'*','L','2','X','c','_','l','i','n','k',' ','w','i', '(','e','x','c','e','p','t',' ','e','r','r','o','r','s',')',
't','h',' ','t','h','e',' ','c',' ','l','i','b','r','a','r', #000,'*','*','1','X','_','e','x','e','c','u','t','a','b','l',
'y',#000,'*','*','2','X','s','_','s','t','r','i','p',' ','a', 'e',' ','o','p','t','i','o','n','s',#000,'*','L','2','X','c',
'l','l',' ','s','y','m','b','o','l','s',' ','f','r','o','m', '_','l','i','n','k',' ','w','i','t','h',' ','t','h','e',' ',
' ','e','x','e','c','u','t','a','b','l','e',#000,'*','*','0', 'c',' ','l','i','b','r','a','r','y',#000,'*','*','2','X','s',
'*','_','P','r','o','c','e','s','s','o','r',' ','s','p','e', '_','s','t','r','i','p',' ','a','l','l',' ','s','y','m','b',
'c','i','f','i','c',' ','o','p','t','i','o','n','s',':',#000, 'o','l','s',' ','f','r','o','m',' ','e','x','e','c','u','t',
'3','*','1','A','_','o','u','t','p','u','t',' ','f','o','r', 'a','b','l','e',#000,'*','*','0','*','_','P','r','o','c','e',
'm','a','t',#000,'3','*','2','A','a','t','t','_','A','T','&', 's','s','o','r',' ','s','p','e','c','i','f','i','c',' ','o',
'T',' ','a','s','s','e','m','b','l','e','r',#000,'3','*','2', 'p','t','i','o','n','s',':',#000,'3','*','1','A','_','o','u',
'A','o','_','c','o','f','f',' ','f','i','l','e',' ','u','s', 't','p','u','t',' ','f','o','r','m','a','t',#000,'3','*','2',
'i','n','g',' ','G','N','U',' ','A','S',#000,'3','*','2','A', 'A','a','t','t','_','A','T','&','T',' ','a','s','s','e','m',
'o','b','j','_','O','M','F',' ','f','i','l','e',' ','u','s', 'b','l','e','r',#000,'3','*','2','A','o','_','c','o','f','f',
'i','n','g',' ','N','A','S','M',#000,'3','*','2','A','n','a', ' ','f','i','l','e',' ','u','s','i','n','g',' ','G','N','U',
's','m','_','c','o','f','f',' ','f','i','l','e',' ','u','s', ' ','A','S',#000,'3','*','2','A','o','b','j','_','O','M','F',
'i','n','g',' ','N','A','S','M',#000,'3','*','2','A','m','a', ' ','f','i','l','e',' ','u','s','i','n','g',' ','N','A','S',
's','m','_','a','s','s','e','m','b','l','e','r',' ','f','o', 'M',#000,'3','*','2','A','n','a','s','m','_','c','o','f','f',
'r',' ','t','h','e',' ','M','i','c','r','o','s','o','f','t', ' ','f','i','l','e',' ','u','s','i','n','g',' ','N','A','S',
'/','B','o','r','l','a','n','d','/','W','a','t','c','o','m', 'M',#000,'3','*','2','A','m','a','s','m','_','a','s','s','e',
' ','a','s','s','e','m','b','l','e','r',#000,'3','*','1','R', 'm','b','l','e','r',' ','f','o','r',' ','t','h','e',' ','M',
'_','a','s','s','e','m','b','l','e','r',' ','r','e','a','d', 'i','c','r','o','s','o','f','t','/','B','o','r','l','a','n',
'i','n','g',' ','s','t','y','l','e',#000,'3','*','2','R','a', 'd','/','W','a','t','c','o','m',' ','a','s','s','e','m','b',
't','t','_','r','e','a','d',' ','A','T','&','T',' ','s','t', 'l','e','r',#000,'3','*','1','R','_','a','s','s','e','m','b',
'l','e','r',' ','r','e','a','d','i','n','g',' ','s','t','y',
'l','e',#000,'3','*','2','R','a','t','t','_','r','e','a','d',
' ','A','T','&','T',' ','s','t','y','l','e',' ','a','s','s',
'e','m','b','l','e','r',#000,'3','*','2','R','i','n','t','e',
'l','_','r','e','a','d',' ','I','n','t','e','l',' ','s','t',
'y','l','e',' ','a','s','s','e','m','b','l','e','r',#000,'3', 'y','l','e',' ','a','s','s','e','m','b','l','e','r',#000,'3',
'*','2','R','i','n','t','e','l','_','r','e','a','d',' ','I', '*','2','R','d','i','r','e','c','t','_','c','o','p','y',' ',
'n','t','e','l',' ','s','t','y','l','e',' ','a','s','s','e', 'a','s','s','e','m','b','l','e','r',' ','t','e','x','t',' ',
'm','b','l','e','r',#000,'3','*','2','R','d','i','r','e','c', 'd','i','r','e','c','t','l','y',' ','t','o',' ','a','s','s',
't','_','c','o','p','y',' ','a','s','s','e','m','b','l','e', 'e','m','b','l','e','r',' ','f','i','l','e',#000,'3','*','1',
'r',' ','t','e','x','t',' ','d','i','r','e','c','t','l','y', 'O','_','o','p','t','i','m','i','z','a','t','i','o','n','s',
' ','t','o',' ','a','s','s','e','m','b','l','e','r',' ','f', #000,'3','*','2','O','a','_','s','i','m','p','l','e',' ','o',
'i','l','e',#000,'3','*','1','O','_','o','p','t','i','m','i', 'p','t','i','m','i','z','a','t','i','o','n','s',#000,'3','*',
'z','a','t','i','o','n','s',#000,'3','*','2','O','a','_','s', '2','O','g','_','o','p','t','i','m','i','z','e',' ','f','o',
'i','m','p','l','e',' ','o','p','t','i','m','i','z','a','t', 'r',' ','s','i','z','e',#000,'3','*','2','O','G','_','o','p',
'i','o','n','s',#000,'3','*','2','O','g','_','o','p','t','i', 't','i','m','i','z','e',' ','f','o','r',' ','t','i','m','e',
'm','i','z','e',' ','f','o','r',' ','s','i','z','e',#000,'3', #000,'3','*','2','O','x','_','o','p','t','i','m','i','z','e',
'*','2','O','G','_','o','p','t','i','m','i','z','e',' ','f', ' ','m','a','x','i','m','u','m',#000,'3','*','2','O','z','_',
'o','r',' ','t','i','m','e',#000,'3','*','2','O','x','_','o', 'u','n','c','e','r','t','a','i','n',' ','o','p','t','i','m',
'p','t','i','m','i','z','e',' ','m','a','x','i','m','u','m', 'i','z','e','s',' ','(','s','e','e',' ','d','o','c','s',')',
#000,'3','*','2','O','z','_','u','n','c','e','r','t','a','i', #000,'3','*','2','O','2','_','o','p','t','i','m','i','z','e',
'n',' ','o','p','t','i','m','i','z','e','s',' ','(','s','e', ' ','f','o','r',' ','t','h','e',' ','P','e','n','t','i','u',
'e',' ','d','o','c','s',')',#000,'3','*','2','O','2','_','o', 'm',' ','I','I',' ','(','t','m',')',#000,'3','*','2','O','3',
'_','o','p','t','i','m','i','z','e',' ','f','o','r',' ','t',
'h','e',' ','i','3','8','6',#000,'3','*','2','O','4','_','o',
'p','t','i','m','i','z','e',' ','f','o','r',' ','t','h','e', 'p','t','i','m','i','z','e',' ','f','o','r',' ','t','h','e',
' ','P','e','n','t','i','u','m',' ','I','I',' ','(','t','m', ' ','i','4','8','6',#000,'3','*','2','O','5','_','o','p','t',
')',#000,'3','*','2','O','3','_','o','p','t','i','m','i','z', 'i','m','i','z','e',' ','f','o','r',' ','t','h','e',' ','P',
'e',' ','f','o','r',' ','t','h','e',' ','i','3','8','6',#000, 'e','n','t','i','u','m',' ','(','t','m',')',#000,'3','*','2',
'3','*','2','O','4','_','o','p','t','i','m','i','z','e',' ', 'O','6','_','o','p','t','i','m','i','z','e',' ','f','o','r',
'f','o','r',' ','t','h','e',' ','i','4','8','6',#000,'3','*', ' ','t','h','e',' ','P','e','n','t','i','u','m','P','r','o',
'2','O','5','_','o','p','t','i','m','i','z','e',' ','f','o', ' ','(','t','m',')',#000,'3','*','2','O','7','_','o','p','t',
'r',' ','t','h','e',' ','P','e','n','t','i','u','m',' ','(', 'i','m','i','z','e',' ','f','o','r',' ','t','h','e',' ','C',
't','m',')',#000,'3','*','2','O','6','_','o','p','t','i','m', 'y','r','i','x',' ','6','x','8','6',#000,'3','*','2','O','8',
'i','z','e',' ','f','o','r',' ','t','h','e',' ','P','e','n', '_','o','p','t','i','m','i','z','e',' ','f','o','r',' ','t',
't','i','u','m','P','r','o',' ','(','t','m',')',#000,'3','*', 'h','e',' ','A','M','D',' ','K','6',#000,'6','*','1','A','_',
'2','O','7','_','o','p','t','i','m','i','z','e',' ','f','o', 'o','u','t','p','u','t',' ','f','o','r','m','a','t',#000,'6',
'r',' ','t','h','e',' ','C','y','r','i','x',' ','6','x','8', '*','2','A','g','a','s','_','G','N','U',' ','M','o','t','o',
'6',#000,'3','*','2','O','8','_','o','p','t','i','m','i','z', 'r','o','l','a',' ','a','s','s','e','m','b','l','e','r',#000,
'e',' ','f','o','r',' ','t','h','e',' ','A','M','D',' ','K', '6','*','2','A','o','_','U','N','I','X',' ','o','-','f','i',
'6',#000,'6','*','1','A','_','o','u','t','p','u','t',' ','f', 'l','e',#000,'6','*','2','A','m','_','S','t','a','n','d','a',
'o','r','m','a','t',#000,'6','*','2','A','g','a','s','_','G', 'r','d',' ','M','o','t','o','r','o','l','a',' ','a','s','s',
'N','U',' ','M','o','t','o','r','o','l','a',' ','a','s','s', 'e','m','b','l','e','r',#000,'6','*','2','A','i','_','M','I',
'e','m','b','l','e','r',#000,'6','*','2','A','o','_','U','N', 'T',' ','S','y','n','t','a','x',' ','(','o','l','d',' ','G',
'I','X',' ','o','-','f','i','l','e',#000,'6','*','2','A','m', 'A','S',')',#000,'6','*','1','O','_','o','p','t','i','m','i',
'_','S','t','a','n','d','a','r','d',' ','M','o','t','o','r', 'z','a','t','i','o','n','s',#000,'6','*','2','O','a','_','s',
'o','l','a',' ','a','s','s','e','m','b','l','e','r',#000,'6', 'i','m','p','l','e',' ','o','p','t','i','m','i','z','a','t',
'*','2','A','i','_','M','I','T',' ','S','y','n','t','a','x', 'i','o','n','s',#000,'6','*','2','O','g','_','o','p','t','i',
' ','(','o','l','d',' ','G','A','S',')',#000,'6','*','1','O', 'm','i','z','e',' ','f','o','r',' ','s','i','z','e',#000,'6',
'_','o','p','t','i','m','i','z','a','t','i','o','n','s',#000, '*','2','O','G','_','o','p','t','i','m','i','z','e',' ','f',
'6','*','2','O','a','_','s','i','m','p','l','e',' ','o','p', 'o','r',' ','t','i','m','e',#000,'6','*','2','O','x','_','o',
't','i','m','i','z','a','t','i','o','n','s',#000,'6','*','2', 'p','t','i','m','i','z','e',' ','m','a','x','i','m','u','m',
'O','g','_','o','p','t','i','m','i','z','e',' ','f','o','r', #000,'6','*','2','O','2','_','t','a','r','g','e','t',' ','i',
' ','s','i','z','e',#000,'6','*','2','O','G','_','o','p','t', 's',' ','a',' ','M','C','6','8','0','2','0','+',' ','p','r',
'i','m','i','z','e',' ','f','o','r',' ','t','i','m','e',#000, 'o','c','e','s','s','o','r',#000,'*','*','1','*','_',#000,'*',
'6','*','2','O','x','_','o','p','t','i','m','i','z','e',' ', '*','1','?','_','s','h','o','w','s',' ','t','h','i','s',' ',
'm','a','x','i','m','u','m',#000,'6','*','2','O','2','_','t', 'h','e','l','p',#000,'*','*','1','h','_','s','h','o','w','s',
'a','r','g','e','t',' ','i','s',' ','a',' ','M','C','6','8', ' ','t','h','i','s',' ','h','e','l','p',' ','w','i','t','h',
'0','2','0','+',' ','p','r','o','c','e','s','s','o','r',#000, 'o','u','t',' ','w','a','i','t','i','n','g',#000);
'*','*','1','*','_',#000,'*','*','1','?','_','s','h','o','w',
's',' ','t','h','i','s',' ','h','e','l','p',#000,'*','*','1',
'h','_','s','h','o','w','s',' ','t','h','i','s',' ','h','e',
'l','p',' ','w','i','t','h','o','u','t',' ','w','a','i','t',
'i','n','g',#000);

View File

@ -120,7 +120,6 @@ unit parser;
procedure compile(const filename:string;compile_system:boolean); procedure compile(const filename:string;compile_system:boolean);
var var
hp : pmodule; hp : pmodule;
old_comp_unit : boolean;
{ some variables to save the compiler state } { some variables to save the compiler state }
oldtoken : ttoken; oldtoken : ttoken;
@ -222,7 +221,6 @@ unit parser;
oldrefsymtable:=refsymtable; oldrefsymtable:=refsymtable;
refsymtable:=nil; refsymtable:=nil;
oldprocprefix:=procprefix; oldprocprefix:=procprefix;
old_comp_unit:=comp_unit;
{ a long time, this was only in init_parser { a long time, this was only in init_parser
but it should be reset to zero for each module } but it should be reset to zero for each module }
@ -374,27 +372,20 @@ unit parser;
lexlevel:=0; lexlevel:=0;
{ parse source } { parse source }
{***BUGFIX}
if (token=_UNIT) or (compile_level>1) then if (token=_UNIT) or (compile_level>1) then
begin begin
current_module^.is_unit:=true;
{ If the compile level > 1 we get a nice "unit expected" error { If the compile level > 1 we get a nice "unit expected" error
message if we are trying to use a program as unit.} message if we are trying to use a program as unit.}
proc_unit; proc_unit;
if current_module^.compiled then if current_module^.compiled then
goto done; goto done;
comp_unit:=true;
end end
else else
begin begin
proc_program(token=_LIBRARY); proc_program(token=_LIBRARY);
comp_unit:=false;
end; end;
{ Why? The definition of Pascal requires that everything
after 'end.' is ignored!
if not(cs_tp_compatible in aktswitches) then
consume(_EOF); }
if errorcount=0 then if errorcount=0 then
begin begin
if current_module^.uses_imports then if current_module^.uses_imports then
@ -414,9 +405,7 @@ unit parser;
addlinkerfiles(current_module); addlinkerfiles(current_module);
{ Check linking => we are at first level in compile } { Check linking => we are at first level in compile }
if (compile_level=1) then if (compile_level=1) and (not current_module^.is_unit) then
begin
if not comp_unit then
begin begin
if (cs_no_linking in initswitches) then if (cs_no_linking in initswitches) then
externlink:=true; externlink:=true;
@ -424,14 +413,12 @@ unit parser;
Linker.SetExeName(FileName); Linker.SetExeName(FileName);
Linker.MakeExecutable; Linker.MakeExecutable;
end; end;
end;
end end
else else
begin Message1(unit_f_errors_in_unit,tostr(errorcount));
Message1(unit_e_total_errors,tostr(errorcount));
Message(unit_f_errors_in_unit);
end; done:
{ clear memory } { clear memory }
{$ifdef Splitheap} {$ifdef Splitheap}
if testsplit then if testsplit then
@ -440,23 +427,11 @@ unit parser;
codegen_donemodule; codegen_donemodule;
Releasetempheap; Releasetempheap;
end; end;
{else
codegen_donemodule;}
{$endif Splitheap} {$endif Splitheap}
{ restore old state }
{ if already compiled jumps directly here } { restore old state, close trees }
done:
{ close trees }
if dispose_asm_lists then if dispose_asm_lists then
begin codegen_donemodule;
dispose(datasegment,Done);
dispose(codesegment,Done);
dispose(bsssegment,Done);
dispose(debuglist,Done);
dispose(externals,Done);
dispose(internals,Done);
dispose(consts,Done);
end;
reset_gdb_info; reset_gdb_info;
{ restore symtable state } { restore symtable state }
@ -484,7 +459,6 @@ done:
{$endif UseTokenInfo} {$endif UseTokenInfo}
orgpattern:=oldorgpattern; orgpattern:=oldorgpattern;
block_type:=old_block_type; block_type:=old_block_type;
comp_unit:=old_comp_unit;
{ call donescanner before restoring preprocstack, because } { call donescanner before restoring preprocstack, because }
{ donescanner tests for a empty preprocstack } { donescanner tests for a empty preprocstack }
@ -509,6 +483,7 @@ done:
datasegment:=olddatasegment; datasegment:=olddatasegment;
bsssegment:=oldbsssegment; bsssegment:=oldbsssegment;
codesegment:=oldcodesegment; codesegment:=oldcodesegment;
consts:=oldconsts;
debuglist:=olddebuglist; debuglist:=olddebuglist;
externals:=oldexternals; externals:=oldexternals;
internals:=oldinternals; internals:=oldinternals;
@ -518,9 +493,6 @@ done:
nextlabelnr:=oldnextlabelnr; nextlabelnr:=oldnextlabelnr;
exprasmlist:=oldexprasmlist; exprasmlist:=oldexprasmlist;
consts:=oldconsts;
nextlabelnr:=oldnextlabelnr;
if (compile_level=1) then if (compile_level=1) then
begin begin
@ -536,7 +508,15 @@ done:
end. end.
{ {
$Log$ $Log$
Revision 1.15 1998-05-11 13:07:54 peter Revision 1.16 1998-05-12 10:47:00 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.15 1998/05/11 13:07:54 peter
+ $ifdef NEWPPU for the new ppuformat + $ifdef NEWPPU for the new ppuformat
+ $define GDB not longer required + $define GDB not longer required
* removed all warnings and stripped some log comments * removed all warnings and stripped some log comments

View File

@ -25,7 +25,7 @@ unit pbase;
interface interface
uses uses
files,cobjects,globals,scanner,symtable,systems,verbose; cobjects,globals,symtable;
const const
{ forward types should only be possible inside } { forward types should only be possible inside }
@ -92,6 +92,9 @@ unit pbase;
implementation implementation
uses
files,scanner,symtable,systems,verbose;
{ consumes token i, if the current token is unequal i } { consumes token i, if the current token is unequal i }
{ a syntax error is written } { a syntax error is written }
@ -250,7 +253,15 @@ end.
{ {
$Log$ $Log$
Revision 1.5 1998-05-06 08:38:44 pierre Revision 1.6 1998-05-12 10:47:00 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.5 1998/05/06 08:38:44 pierre
* better position info with UseTokenInfo * better position info with UseTokenInfo
UseTokenInfo greatly simplified UseTokenInfo greatly simplified
+ added check for changed tree after first time firstpass + added check for changed tree after first time firstpass
@ -276,47 +287,4 @@ end.
Revision 1.2 1998/04/07 22:45:05 florian Revision 1.2 1998/04/07 22:45:05 florian
* bug0092, bug0115 and bug0121 fixed * bug0092, bug0115 and bug0121 fixed
+ packed object/class/array + packed object/class/array
Revision 1.1.1.1 1998/03/25 11:18:14 root
* Restored version
Revision 1.9 1998/03/10 01:17:23 peter
* all files have the same header
* messages are fully implemented, EXTDEBUG uses Comment()
+ AG... files for the Assembler generation
Revision 1.8 1998/03/06 00:52:40 peter
* replaced all old messages from errore.msg, only ExtDebug and some
Comment() calls are left
* fixed options.pas
Revision 1.7 1998/03/02 01:48:59 peter
* renamed target_DOS to target_GO32V1
+ new verbose system, merged old errors and verbose units into one new
verbose.pas, so errors.pas is obsolete
Revision 1.6 1998/02/16 12:51:38 michael
+ Implemented linker object
Revision 1.5 1998/02/13 10:35:22 daniel
* Made Motorola version compilable.
* Fixed optimizer
Revision 1.4 1998/02/12 11:50:24 daniel
Yes! Finally! After three retries, my patch!
Changes:
Complete rewrite of psub.pas.
Added support for DLL's.
Compiler requires less memory.
Platform units for each platform.
Revision 1.3 1998/01/13 17:13:08 michael
* File time handling and file searching is now done in an OS-independent way,
using the new file treating functions in globals.pas.
Revision 1.2 1998/01/09 09:09:58 michael
+ Initial implementation, second try
} }

View File

@ -80,15 +80,22 @@ unit pmodules;
procedure insertsegment; procedure insertsegment;
begin begin
{Insert Ident of the compiler} {Insert Ident of the compiler}
if not smartlink then if (not smartlink)
{$ifndef EXTDEBUG}
and (not current_module^.is_unit)
{$endif}
then
begin begin
datasegment^.insert(new(pai_align,init(4))); datasegment^.insert(new(pai_align,init(4)));
datasegment^.insert(new(pai_string,init('FPC '+version_string+' - '+target_info.short_name))); datasegment^.insert(new(pai_string,init('FPC '+version_string+' for '+target_string+' - '+target_info.short_name)));
end; end;
bsssegment^.insert(new(pai_section,init(sec_bss)));
codesegment^.insert(new(pai_section,init(sec_code))); codesegment^.insert(new(pai_section,init(sec_code)));
datasegment^.insert(new(pai_section,init(sec_data))); datasegment^.insert(new(pai_section,init(sec_data)));
bsssegment^.insert(new(pai_section,init(sec_bss)));
consts^.insert(new(pai_section,init(sec_data)));
consts^.insert(new(pai_asm_comment,init('Constants')));
end; end;
procedure insertheap; procedure insertheap;
@ -277,6 +284,7 @@ unit pmodules;
count, count,
{$endif NEWPPU} {$endif NEWPPU}
nextmapentry : longint; nextmapentry : longint;
hs : string; hs : string;
begin begin
@ -1090,7 +1098,15 @@ unit pmodules;
end. end.
{ {
$Log$ $Log$
Revision 1.12 1998-05-11 13:07:56 peter Revision 1.13 1998-05-12 10:47:00 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.12 1998/05/11 13:07:56 peter
+ $ifdef NEWPPU for the new ppuformat + $ifdef NEWPPU for the new ppuformat
+ $define GDB not longer required + $define GDB not longer required
* removed all warnings and stripped some log comments * removed all warnings and stripped some log comments

View File

@ -180,26 +180,6 @@ uses
{$endif useoverlay} {$endif useoverlay}
function print_status(const status : tcompilestatus) : boolean;
begin
print_status:=false;
if (abslines=1) then
Message1(general_i_kb_free,tostr(memavail shr 10));
if (status.currentline mod 100=0) then
Message2(general_l_lines_and_free,tostr(status.currentline),tostr(memavail shr 10));
{$ifdef tp}
if (use_big) then
begin
{$ifdef dpmi}
Message1(general_i_stream_kb_free,tostr(symbolstream.getsize shr 10));
{$else}
Message1(general_i_ems_kb_free,tostr(symbolstream.getsize shr 10));
{$endif}
end;
{$endif}
end;
function getrealtime : real; function getrealtime : real;
var var
h,m,s,s100 : word; h,m,s,s100 : word;
@ -328,12 +308,6 @@ begin
end; end;
{$endif tp} {$endif tp}
{$ifndef TP}
compilestatusproc:=@print_status;
{$else}
compilestatusproc:=print_status;
{$endif}
{ inits which need to be done before the arguments are parsed } { inits which need to be done before the arguments are parsed }
get_exepath; get_exepath;
init_tree; init_tree;
@ -379,7 +353,15 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.9 1998-05-11 13:07:56 peter Revision 1.10 1998-05-12 10:47:00 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.9 1998/05/11 13:07:56 peter
+ $ifdef NEWPPU for the new ppuformat + $ifdef NEWPPU for the new ppuformat
+ $define GDB not longer required + $define GDB not longer required
* removed all warnings and stripped some log comments * removed all warnings and stripped some log comments

View File

@ -190,13 +190,6 @@ unit scanner;
dos,verbose,pbase, dos,verbose,pbase,
symtable,switches; symtable,switches;
var
{ this is usefull to get the write filename
for the last instruction of an include file !}
FileHasChanged : Boolean;
status : tcompilestatus;
{***************************************************************************** {*****************************************************************************
TPreProcStack TPreProcStack
*****************************************************************************} *****************************************************************************}
@ -375,31 +368,30 @@ unit scanner;
var var
cur : char; cur : char;
begin begin
cur:=c;
if (byte(inputpointer^)=0) and if (byte(inputpointer^)=0) and
current_module^.current_inputfile^.filenotatend then current_module^.current_inputfile^.filenotatend then
begin begin
cur:=c;
reload; reload;
if byte(cur)+byte(c)<>23 then if byte(cur)+byte(c)<>23 then
dec(longint(inputpointer)); dec(longint(inputpointer));
end end
else else
begin
{ Fix linebreak to be only newline (=#10) for all types of linebreaks } { Fix linebreak to be only newline (=#10) for all types of linebreaks }
if (byte(inputpointer^)+byte(c)=23) then if (byte(inputpointer^)+byte(c)=23) then
inc(longint(inputpointer)); inc(longint(inputpointer));
end;
c:=newline; c:=newline;
{ Update Status and show status } { Update Status and show status }
with status do with status do
begin begin
totalcompiledlines:=abslines; totalcompiledlines:=abslines;
currentline:=current_module^.current_inputfile^.line_no currentline:=current_module^.current_inputfile^.line_no;
+current_module^.current_inputfile^.line_count;
{ you call strcopy here at each line !!! }
{currentsource:=current_module^.current_inputfile^.name^+current_module^.current_inputfile^.ext^;}
totallines:=0;
end; end;
if compilestatusproc(status) then Comment(V_Status,'');
stop;
{ increase line counters }
inc(current_module^.current_inputfile^.line_no); inc(current_module^.current_inputfile^.line_no);
inc(abslines); inc(abslines);
lastlinepos:=longint(inputpointer); lastlinepos:=longint(inputpointer);
@ -1397,7 +1389,15 @@ unit scanner;
end. end.
{ {
$Log$ $Log$
Revision 1.17 1998-05-06 08:38:47 pierre Revision 1.18 1998-05-12 10:47:00 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.17 1998/05/06 08:38:47 pierre
* better position info with UseTokenInfo * better position info with UseTokenInfo
UseTokenInfo greatly simplified UseTokenInfo greatly simplified
+ added check for changed tree after first time firstpass + added check for changed tree after first time firstpass

View File

@ -29,7 +29,7 @@ unit tree;
interface interface
uses uses
globals,scanner,symtable,cobjects,verbose,aasm,files cobjects,globals,symtable,aasm
{$ifdef i386} {$ifdef i386}
,i386 ,i386
{$endif} {$endif}
@ -42,10 +42,8 @@ unit tree;
; ;
type type
tconstset = array[0..31] of byte;
pconstset = ^tconstset; pconstset = ^tconstset;
tconstset = array[0..31] of byte;
ttreetyp = (addn, {Represents the + operator.} ttreetyp = (addn, {Represents the + operator.}
muln, {Represents the * operator.} muln, {Represents the * operator.}
@ -160,7 +158,6 @@ unit tree;
tassigntyp = (at_normal,at_plus,at_minus,at_star,at_slash); tassigntyp = (at_normal,at_plus,at_minus,at_star,at_slash);
pcaserecord = ^tcaserecord; pcaserecord = ^tcaserecord;
tcaserecord = record tcaserecord = record
{ range } { range }
@ -177,7 +174,6 @@ unit tree;
end; end;
ptree = ^ttree; ptree = ^ttree;
ttree = record ttree = record
error : boolean; error : boolean;
disposetyp : tdisposetyp; disposetyp : tdisposetyp;
@ -296,13 +292,8 @@ unit tree;
implementation implementation
{$ifdef extdebug}
uses uses
types,pbase; scanner,verbose,files,types,pbase;
{$else extdebug}
uses
pbase;
{$endif extdebug}
{**************************************************************************** {****************************************************************************
this is a pool for the tree nodes to get more performance this is a pool for the tree nodes to get more performance
@ -1536,7 +1527,15 @@ unit tree;
end. end.
{ {
$Log$ $Log$
Revision 1.8 1998-05-07 00:17:01 peter Revision 1.9 1998-05-12 10:47:00 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.8 1998/05/07 00:17:01 peter
* smartlinking for sets * smartlinking for sets
+ consts labels are now concated/generated in hcodegen + consts labels are now concated/generated in hcodegen
* moved some cpu code to cga and some none cpu depended code from cga * moved some cpu code to cga and some none cpu depended code from cga

View File

@ -896,10 +896,9 @@ unit types;
do_genvmt(_class); do_genvmt(_class);
if has_virtual_method and not(has_constructor) then if has_virtual_method and not(has_constructor) then
begin Message1(parser_w_virtual_without_constructor,_class^.name^);
exterror:=strpnew(_class^.name^);
Message(parser_w_virtual_without_constructor);
end;
{ generates the VMT } { generates the VMT }
{ walk trough all numbers for virtual methods and search } { walk trough all numbers for virtual methods and search }
@ -965,7 +964,15 @@ unit types;
end. end.
{ {
$Log$ $Log$
Revision 1.11 1998-05-01 16:38:46 florian Revision 1.12 1998-05-12 10:47:00 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.11 1998/05/01 16:38:46 florian
* handling of private and protected fixed * handling of private and protected fixed
+ change_keywords_to_tp implemented to remove + change_keywords_to_tp implemented to remove
keywords which aren't supported by tp keywords which aren't supported by tp
@ -1009,151 +1016,4 @@ end.
Revision 1.3 1998/04/08 11:34:22 peter Revision 1.3 1998/04/08 11:34:22 peter
* nasm works (linux only tested) * nasm works (linux only tested)
Revision 1.2 1998/03/28 23:09:57 florian
* secondin bugfix (m68k and i386)
* overflow checking bugfix (m68k and i386) -- pretty useless in
secondadd, since everything is done using 32-bit
* loading pointer to routines hopefully fixed (m68k)
* flags problem with calls to RTL internal routines fixed (still strcmp
to fix) (m68k)
* #ELSE was still incorrect (didn't take care of the previous level)
* problem with filenames in the command line solved
* problem with mangledname solved
* linking name problem solved (was case insensitive)
* double id problem and potential crash solved
* stop after first error
* and=>test problem removed
* correct read for all float types
* 2 sigsegv fixes and a cosmetic fix for Internal Error
* push/pop is now correct optimized (=> mov (%esp),reg)
Revision 1.1.1.1 1998/03/25 11:18:15 root
* Restored version
Revision 1.24 1998/03/21 23:59:40 florian
* indexed properties fixed
* ppu i/o of properties fixed
* field can be also used for write access
* overriding of properties
Revision 1.23 1998/03/20 23:31:35 florian
* bug0113 fixed
* problem with interdepened units fixed ("options.pas problem")
* two small extensions for future AMD 3D support
Revision 1.22 1998/03/10 01:17:30 peter
* all files have the same header
* messages are fully implemented, EXTDEBUG uses Comment()
+ AG... files for the Assembler generation
Revision 1.21 1998/03/06 01:09:01 peter
* removed the conflicts that had occured
Revision 1.20 1998/03/06 00:53:01 peter
* replaced all old messages from errore.msg, only ExtDebug and some
Comment() calls are left
* fixed options.pas
Revision 1.19 1998/03/05 22:40:56 florian
+ warning about missing constructor added
Revision 1.18 1998/03/04 17:34:14 michael
+ Changed ifdef FPK to ifdef FPC
Revision 1.17 1998/03/02 01:49:38 peter
* renamed target_DOS to target_GO32V1
+ new verbose system, merged old errors and verbose units into one new
verbose.pas, so errors.pas is obsolete
Revision 1.16 1998/02/13 10:35:55 daniel
* Made Motorola version compilable.
* Fixed optimizer
Revision 1.15 1998/02/12 17:19:33 florian
* fixed to get remake3 work, but needs additional fixes (output, I don't like
also that aktswitches isn't a pointer)
Revision 1.14 1998/02/12 11:50:52 daniel
Yes! Finally! After three retries, my patch!
Changes:
Complete rewrite of psub.pas.
Added support for DLL's.
Compiler requires less memory.
Platform units for each platform.
Revision 1.13 1998/02/11 21:56:41 florian
* bugfixes: bug0093, bug0053, bug0088, bug0087, bug0089
Revision 1.12 1998/02/07 23:05:08 florian
* once more MMX
Revision 1.11 1998/02/06 10:34:35 florian
* bug0082 and bug0084 fixed
Revision 1.10 1998/02/05 22:27:07 florian
* small problems fixed: remake3 should now work
Revision 1.9 1998/02/05 21:54:36 florian
+ more MMX
Revision 1.8 1998/01/31 00:43:37 carl
- removed in in is_subequal, because the code generator is buggy!
(instead uses if...)
Revision 1.7 1998/01/16 18:03:21 florian
* small bug fixes, some stuff of delphi styled constructores added
Revision 1.6 1998/01/11 19:24:35 carl
+ type checking routine (is_subequal) for case statements
Revision 1.5 1998/01/09 23:08:38 florian
+ C++/Delphi styled //-comments
* some bugs in Delphi object model fixed
+ override directive
Revision 1.4 1998/01/09 16:08:24 florian
* abstract methods call now abstracterrorproc if they are called
a class with an abstract method can be create with a class reference else
the compiler forbides this
Revision 1.3 1998/01/07 00:17:12 michael
Restored released version (plus fixes) as current
Revision 1.2 1997/11/28 18:14:51 pierre
working version with several bug fixes
Revision 1.1.1.1 1997/11/27 08:33:03 michael
FPC Compiler CVS start
Pre-CVS log:
CEC Carl-Eric Codere
FK Florian Klaempfl
PM Pierre Muller
+ feature added
- removed
* bug fixed or changed
History:
22th september 1997
+ function dont_copy_const_param added (FK)
25th september 1997
+ is_open_array added (FK)
+ is_equal handles now also open arrays (FK)
2nd october 1997
+ added then boolean never_copy_const_param for use in typed write
where we must push the reference anyway (PM)
3rd october 1997:
+ renamed ret_in_eax to ret_in_acc (for accumulator for port.) (CEC)
- removed reference to i386 unit (CEC)
25th october 1997:
* poassembler isn't important for compatiblity of proc vars (FK)
3rd november 1997:
+ added formaldef type to types where we dont_copy_const_param (PM)
20rd november 1997:
+ added is_fpu function (PM)
} }

View File

@ -24,29 +24,21 @@ unit verb_def;
interface interface
uses verbose; uses verbose;
{$define allow_oldstyle}
procedure SetRedirectFile(const fn:string); procedure SetRedirectFile(const fn:string);
procedure _stop; procedure _stop;
procedure _comment(Level:Longint;const s:string); procedure _comment(Level:Longint;const s:string);
{$ifdef allow_oldstyle}
function _warning(w : tmsgconst) : boolean;
function _note(w : tmsgconst) : boolean;
function _error(w : tmsgconst) : boolean;
function _fatalerror(w : tmsgconst) : boolean;
function _internalerror(i : longint) : boolean; function _internalerror(i : longint) : boolean;
{$endif}
implementation implementation
uses uses
strings,dos,cobjects,systems,globals,files; strings,dos,globals,files;
const const
{ RHIDE expect gcc like error output } { RHIDE expect gcc like error output }
rh_errorstr='error: '; rh_errorstr='error: ';
rh_warningstr='warning: '; rh_warningstr='warning: ';
fatalstr='Fatal Error: '; fatalstr='Fatal: ';
errorstr='Error: '; errorstr='Error: ';
warningstr='Warning: '; warningstr='Warning: ';
notestr='Note: '; notestr='Note: ';
@ -102,7 +94,18 @@ var
begin begin
if (verbosity and Level)=Level then if (verbosity and Level)=Level then
begin begin
{Create hs} { Status info?, Called every line }
if ((Level and V_Status)<>0) and (s='') then
begin
if (abslines=1) then
WriteLn(memavail shr 10,' Kb Free');
if (status.currentline mod 100=0) then
Write(status.currentline,' ',memavail shr 10,' Kb Free'#13);
end
else
{ Message }
begin
hs:=''; hs:='';
if not(use_rhide) then if not(use_rhide) then
begin begin
@ -133,9 +136,7 @@ begin
if (Level<$100) and Assigned(current_module) and Assigned(current_module^.current_inputfile) then if (Level<$100) and Assigned(current_module) and Assigned(current_module^.current_inputfile) then
hs:=current_module^.current_inputfile^.get_file_line+' '+hs; hs:=current_module^.current_inputfile^.get_file_line+' '+hs;
{ add the message to the text } { add the message to the text }
hs:=hs+s; hs:=hs+s;
{$ifdef FPC} {$ifdef FPC}
if UseStdErr and (Level<$100) then if UseStdErr and (Level<$100) then
begin begin
@ -143,7 +144,7 @@ begin
flush(stderr); flush(stderr);
end end
else else
{$ENDIF} {$endif}
begin begin
if redirtext then if redirtext then
writeln(redirfile,hs) writeln(redirfile,hs)
@ -151,6 +152,8 @@ begin
writeln(hs); writeln(hs);
end; end;
end; end;
end;
end; end;
@ -160,88 +163,29 @@ begin
_internalerror:=true; _internalerror:=true;
end; end;
{****************************************************************************
Old Style
****************************************************************************}
{$ifdef allow_oldstyle}
procedure ShowExtError(l:longint;w:tmsgconst);
var
s : string;
begin
{fix the string to be written }
s:=msg^.get(ord(w));
if assigned(exterror) then
begin
s:=s+strpas(exterror);
strdispose(exterror);
exterror:=nil;
end;
_comment(l,s);
end;
{ predefined handler for warnings }
function _warning(w : tmsgconst) : boolean;
begin
ShowExtError(V_Warning,w);
_warning:=false;
end;
function _note(w : tmsgconst) : boolean;
begin
ShowExtError(V_Note,w);
_note:=false;
end;
function _error(w : tmsgconst) : boolean;
begin
ShowExtError(V_Error,w);
_error:=(errorcount>50);
end;
function _fatalerror(w : tmsgconst) : boolean;
begin
ShowExtError(V_Error,w);
_fatalerror:=true;
end;
{$endif}
begin begin
(* {$ifdef USE_RHIDE}
UseStdErr:=true;
{$endif USE_RHIDE} *)
{$ifdef FPC} {$ifdef FPC}
do_stop:=@_stop; do_stop:=@_stop;
do_comment:=@_comment; do_comment:=@_comment;
{$ifdef allow_oldstyle}
do_note:=@_note;
do_warning:=@_warning;
do_error:=@_error;
do_fatalerror:=@_fatalerror;
do_internalerror:=@_internalerror; do_internalerror:=@_internalerror;
{$endif}
{$else} {$else}
do_stop:=_stop; do_stop:=_stop;
do_comment:=_comment; do_comment:=_comment;
{$ifdef allow_oldstyle}
do_note:=_note;
do_warning:=_warning;
do_error:=_error;
do_fatalerror:=_fatalerror;
do_internalerror:=_internalerror; do_internalerror:=_internalerror;
{$endif} {$endif}
{$endif}
end. end.
{ {
$Log$ $Log$
Revision 1.6 1998-05-11 13:07:58 peter Revision 1.7 1998-05-12 10:47:01 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.6 1998/05/11 13:07:58 peter
+ $ifdef NEWPPU for the new ppuformat + $ifdef NEWPPU for the new ppuformat
+ $define GDB not longer required + $define GDB not longer required
* removed all warnings and stripped some log comments * removed all warnings and stripped some log comments

View File

@ -25,8 +25,6 @@ interface
uses messages; uses messages;
{$define allow_oldstyle}
{$IFNDEF EXTERN_MSG} {$IFNDEF EXTERN_MSG}
{$i msgtxt.inc} {$i msgtxt.inc}
{$ENDIF} {$ENDIF}
@ -38,11 +36,12 @@ Const
{ <$100 can include file and linenr info } { <$100 can include file and linenr info }
V_Fatal = $0; V_Fatal = $0;
V_Error = $1; V_Error = $1;
V_Warning = $2; V_Normal = $2;
V_Note = $4; V_Warning = $4;
V_Hint = $8; V_Note = $8;
V_Hint = $10;
V_Info = $100; V_Info = $100;
V_Linenrs = $200; V_Status = $200;
V_Used = $400; V_Used = $400;
V_Tried = $800; V_Tried = $800;
V_Macro = $1000; V_Macro = $1000;
@ -51,14 +50,24 @@ Const
V_Debug = $8000; V_Debug = $8000;
V_All = $ffffffff; V_All = $ffffffff;
V_Default = V_Fatal + V_Error; V_Default = V_Fatal + V_Error + V_Normal;
Verbosity : longint=V_Default; Verbosity : longint=V_Default;
type
TCompileStatus = record
currentsource : string; { filename }
currentline : longint; { current line number }
totalcompiledlines : longint; { the number of lines which are compiled }
totallines : longint; { total lines to compile, can be 0 }
end;
var var
status : tcompilestatus;
errorcount : longint; { number of generated errors } errorcount : longint; { number of generated errors }
msg : pmessage; msg : pmessage;
UseStdErr : boolean; UseStdErr,
Use_Rhide : boolean; Use_Rhide : boolean;
@ -73,16 +82,6 @@ procedure Message1(w:tmsgconst;const s1:string);
procedure Message2(w:tmsgconst;const s1,s2:string); procedure Message2(w:tmsgconst;const s1,s2:string);
procedure Message3(w:tmsgconst;const s1,s2,s3:string); procedure Message3(w:tmsgconst;const s1,s2,s3:string);
{ old calling style }
{$ifdef allow_oldstyle}
var
exterror : pchar;
procedure note(w:tmsgconst);
procedure warning(w:tmsgconst);
procedure error(w:tmsgconst);
procedure fatalerror(w:tmsgconst);
{$endif}
{ Function redirecting for IDE support } { Function redirecting for IDE support }
type type
tstopprocedure = procedure; tstopprocedure = procedure;
@ -177,9 +176,9 @@ begin
else else
Verbosity:=Verbosity or V_Hint; Verbosity:=Verbosity or V_Hint;
'L' : if inverse then 'L' : if inverse then
Verbosity:=Verbosity and (not V_Linenrs) Verbosity:=Verbosity and (not V_Status)
else else
Verbosity:=Verbosity or V_Linenrs; Verbosity:=Verbosity or V_Status;
'U' : if inverse then 'U' : if inverse then
Verbosity:=Verbosity and (not V_Used) Verbosity:=Verbosity and (not V_Used)
else else
@ -212,6 +211,7 @@ begin
setverbosity:=true; setverbosity:=true;
end; end;
procedure stop; procedure stop;
begin begin
{$ifndef TP} {$ifndef TP}
@ -230,8 +230,13 @@ end;
procedure Comment(l:longint;const s:string); procedure Comment(l:longint;const s:string);
var
msg : string;
begin begin
do_comment(l,s); msg:=s;
Replace(msg,'$VER',version_string);
Replace(msg,'$TARGET',target_string);
do_comment(l,msg);
end; end;
@ -262,11 +267,12 @@ begin
inc(errorcount); inc(errorcount);
dostop:=(errorcount>=maxerrorcount); dostop:=(errorcount>=maxerrorcount);
end; end;
'O' : v:=v or V_Normal;
'W' : v:=v or V_Warning; 'W' : v:=v or V_Warning;
'N' : v:=v or V_Note; 'N' : v:=v or V_Note;
'H' : v:=v or V_Hint; 'H' : v:=v or V_Hint;
'I' : v:=v or V_Info; 'I' : v:=v or V_Info;
'L' : v:=v or V_Linenrs; 'L' : v:=v or V_Status;
'U' : v:=v or V_Used; 'U' : v:=v or V_Used;
'T' : v:=v or V_Tried; 'T' : v:=v or V_Tried;
'M' : v:=v or V_Macro; 'M' : v:=v or V_Macro;
@ -309,42 +315,6 @@ begin
end; end;
{*****************************************************************************
Old Style
*****************************************************************************}
{$ifdef allow_oldstyle}
procedure warning(w:tmsgconst);
begin
if do_warning(w) then
stop;
end;
procedure note(w:tmsgconst);
begin
if do_note(w) then
stop;
end;
procedure error(w:tmsgconst);
begin
inc(errorcount);
if do_error(w) then
stop;
end;
procedure fatalerror(w:tmsgconst);
begin
do_fatalerror(w);
stop;
end;
{$endif}
begin begin
{$IFNDEF EXTERN_MSG} {$IFNDEF EXTERN_MSG}
msg:=new(pmessage,Init(@msgtxt,ord(endmsgconst))); msg:=new(pmessage,Init(@msgtxt,ord(endmsgconst)));
@ -353,7 +323,15 @@ end.
{ {
$Log$ $Log$
Revision 1.5 1998-04-30 15:59:43 pierre Revision 1.6 1998-05-12 10:47:01 peter
* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages
Revision 1.5 1998/04/30 15:59:43 pierre
* GDB works again better : * GDB works again better :
correct type info in one pass correct type info in one pass
+ UseTokenInfo for better source position + UseTokenInfo for better source position
@ -367,56 +345,4 @@ end.
* error handling of pass_1 and cgi386 fixed * error handling of pass_1 and cgi386 fixed
* the following bugs fixed: 0117, 0118, 0119 and 0129, 0122 was already * the following bugs fixed: 0117, 0118, 0119 and 0129, 0122 was already
fixed, verified fixed, verified
Revision 1.2 1998/03/28 23:09:57 florian
* secondin bugfix (m68k and i386)
* overflow checking bugfix (m68k and i386) -- pretty useless in
secondadd, since everything is done using 32-bit
* loading pointer to routines hopefully fixed (m68k)
* flags problem with calls to RTL internal routines fixed (still strcmp
to fix) (m68k)
* #ELSE was still incorrect (didn't take care of the previous level)
* problem with filenames in the command line solved
* problem with mangledname solved
* linking name problem solved (was case insensitive)
* double id problem and potential crash solved
* stop after first error
* and=>test problem removed
* correct read for all float types
* 2 sigsegv fixes and a cosmetic fix for Internal Error
* push/pop is now correct optimized (=> mov (%esp),reg)
Revision 1.1.1.1 1998/03/25 11:18:15 root
* Restored version
Revision 1.17 1998/03/10 16:43:34 peter
* fixed Fatal error writting
Revision 1.16 1998/03/10 01:17:30 peter
* all files have the same header
* messages are fully implemented, EXTDEBUG uses Comment()
+ AG... files for the Assembler generation
Revision 1.15 1998/03/06 00:53:02 peter
* replaced all old messages from errore.msg, only ExtDebug and some
Comment() calls are left
* fixed options.pas
Revision 1.14 1998/03/04 01:35:15 peter
* messages for unit-handling and assembler/linker
* the compiler compiles without -dGDB, but doesn't work yet
+ -vh for Hint
Revision 1.13 1998/03/03 16:45:25 peter
+ message support for assembler parsers
Revision 1.12 1998/03/02 16:02:05 peter
* new style messages for pp.pas
* cleanup of pp.pas
Revision 1.11 1998/03/02 01:49:40 peter
* renamed target_DOS to target_GO32V1
+ new verbose system, merged old errors and verbose units into one new
verbose.pas, so errors.pas is obsolete
} }