* CDECL changed to CVAR for variables

specifications are read in structures also
  + started adding GPC compatibility mode ( option  -Sp)
  * names changed to lowercase
This commit is contained in:
pierre 1998-08-25 12:42:36 +00:00
parent 03ae46b6ca
commit b94116497c
7 changed files with 435 additions and 180 deletions

View File

@ -32,6 +32,7 @@ no_nested_response_file,
no_source_found,
illegal_para,
help_pages_para,
too_many_cfg_files,
unable_open_file,
reading_further_from,
target_is_already_set,

View File

@ -5,6 +5,7 @@ nested response files are not supported
No source file name in command line
Illegal parameter: $1
-? writes help pages
Too many config files nested
Unable to open file $1
Reading further options from $1
Target is already set to: $1

View File

@ -1,149 +1,340 @@
const optiontxt : array[0..00021,1..240] of char=(
' [options] <inputfile> [options]'#000+
'Only one source file supported'#000+
'DEF file can be created only for OS/2'#000+
'nested response files are not supported'#000+
'No source file name in command line'#000+
'Illegal parameter: $1'#000+
'-? writes help pages'#000+
'Unable to open file',' $1'#000+
'Reading further options from $1'#000+
'Target is already set to: $1'#000+
'Shared libs not supported on DOS platform, reverting to static'#000+
'too many IF(N)DEFs'#000+
'too many ENDIFs'#000+
'open conditional at the end of the file'#000+
'Debug information generation is not s','upported by this executable'#000+
'Try recompiling with -dGDB'#000+
'Free Pascal Compiler version $VER for $TARGET'#000+
'Copyright (c) 1993-98 by Florian Klaempfl'#000+
'Free Pascal Compiler version $VER'#000+
#000+
'This program comes under the GNU General Public Licence'#000+
'For mo','re information read COPYING'#000+
#000+
'Report bugs,suggestions etc to:'#000+
' ba2395@fen.baynet.de'#000+
'**0*_+ switch option on, - off'#000+
'**1a_the compiler doesn'#039't delete the generated assembler file'#000+
'*t1b_use EMS'#000+
'**1B+_build'#000+
'**1C_code generation opt','ions'#000+
'**2Ca_not implemented'#000+
'**2Ce_not implemented'#000+
'3*2CD_Dynamic linking'#000+
'**2Ch<n>_<n> bytes heap (between 1023 and 67107840)'#000+
'**2Ci_IO-checking'#000+
'**2Cn_omit linking stage'#000+
'**2Co_check overflow of integer operations'#000+
'**2Cr_range checking'#000+
'*O2Cs<n>_s','et stack size to <n>'#000+
'**2Ct_stack checking'#000+
'3*2CS_static linking'#000+
'**1d<x>_defines the symbol <x>'#000+
'*O1D_controls the generation of DEF file (only OS/2)'#000+
'*O2Dd<x>_set description to <x>'#000+
'*O2Do_generate DEF file'#000+
'*O2Dw_PM application'#000+
'*L1e<x>_set path',' to executables'#000+
'**1E_same as -Cn'#000+
'**1g_generate debugger information'#000+
'**1F_set file names and paths'#000+
'**2Fe<x>_redirect error output to <x>'#000+
'*L2Fg<x>_<x> search path for the GNU C lib'#000+
'*L2Fr<x>_<x> search path for the error message file'#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+
'**2Fu<x>_adds <x> to unit path'#000+
'**1k<x>_Pass <x> to the linker'#000+
'**1L_set language'#000+
'**2LD_German'#000+
'**2LE_English'#000+
'**2LN_Dutch'#000+
'**1l_write logo'#000+
'**1i_infor','mation'#000+
'**1n_don'#039't read the default config file'#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_syntax options'#000+
'**2S2_switch som','e Delphi 2 extension on'#000+
'**2Sc_supports operators like C (*=,+=,/= and -=)'#000+
'**2Sd_compiler disposes asm lists (uses less memory but slower)'#000+
'**2Se_compiler stops after the first error'#000+
'**2Sg_allows LABEL and GOTO'#000+
'**2Si_support C++ stlyed INLINE',#000+
'**2Sm_support macros like C (global)'#000+
'**2So_tries to be TP/BP 7.0 compatible'#000+
'**2Ss_constructor name must be init (destructor must be done)'#000+
'**2St_allows static keyword in objects'#000+
'**1s_don'#039't call assembler and linker (only with -a)'#000+
'**1T<x>_Ta','rget 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*2TWin32_Windows 32 Bit'#000+
'6*2TAMIGA_Commodore Amiga'#000+
'6*2TATARI_Atari ST/STe/TT'#000+
'6*2TMACOS_Ma','cintosh m68k'#000+
'6*2TLINUX_Linux-68k'#000+
'**1u<x>_undefines the symbol <x>'#000+
'**1U_unit options'#000+
'**2Uls_make static library from unit'#000+
'**2Uld_make dynamic library from unit'#000+
'**2Un_don'#039't check the unit name'#000+
'**2Up<x>_same as -Fu<x>'#000+
'**2Us_compile a system un','it'#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 warnings u : Show used files'#000+
'**2*_n : Show notes t : Show tried fil','es'#000+
'**2*_h : Show hints m : Show defined macros'#000+
'**2*_i : Show general info p : Show compiled procedures'#000+
'**2*_l : Show linenumbers c : Show conditionals'#000+
'**2*_a : Show everything 0 : Show nothi','ng (except errors'+
')'#000+
'**1X_executable options'#000+
'*L2Xc_link with the c library'#000+
'**2Xs_strip all symbols from executable'#000+
'**0*_Processor specific options:'#000+
'3*1A_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*2Anasmobj_obj file using Nasm'#000+
'3*2Amasm_obj using Masm (Mircosoft)'#000+
'3*2Atasm_obj using Tasm (Borland)'#000+
'3*1R_assembler reading style'#000+
'3*2Ratt_read AT&T style assembler'#000+
'3*2Rintel_read Intel style assembler'#000+
'3*2Rdire','ct_copy assembler text directly to assembler file'#000+
'3*1O<x>_optimizations'#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 do','cs)'#000+
'3*2O1_level 1 optimizations (quick optimizations)'#000+
'3*2O2_level 2 optimizations (-O1 + slower optimizations)'#000+
'3*2O3_level 3 optimizations (same as -O2u)'#000+
'3*2Op_target processor'#000+
'3*3Op1_set target processor to 386/486'#000+
'3*3Op2_set target proces','sor to Pentium/PentiumMMX (tm)'#000+
'3*3Op3_set target processor to PPro/PII/c6x86/K6 (tm)'#000+
'6*1A_output format'#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_opti','mizations'#000+
'6*2Oa_turn on the optimizer'#000+
'6*2Og_generate smaller code'#000+
'6*2OG_generate faster code (default)'#000+
'6*2Ox_optimize maximum (still BUGGY!!!)'#000+
'6*2O2_set target processor to a MC68020+'#000+
'**1*_'#000+
'**1?_shows this help'#000+
'**1h_shows this help without ','waiting'#000
);
const optiontxt : array[1..05077] of char=(
' ','[','o','p','t','i','o','n','s',']',' ','<','i','n','p',
'u','t','f','i','l','e','>',' ','[','o','p','t','i','o','n',
's',']',#000,'O','n','l','y',' ','o','n','e',' ','s','o','u',
'r','c','e',' ','f','i','l','e',' ','s','u','p','p','o','r',
't','e','d',#000,'D','E','F',' ','f','i','l','e',' ','c','a',
'n',' ','b','e',' ','c','r','e','a','t','e','d',' ','o','n',
'l','y',' ','f','o','r',' ','O','S','/','2',#000,'n','e','s',
't','e','d',' ','r','e','s','p','o','n','s','e',' ','f','i',
'l','e','s',' ','a','r','e',' ','n','o','t',' ','s','u','p',
'p','o','r','t','e','d',#000,'N','o',' ','s','o','u','r','c',
'e',' ','f','i','l','e',' ','n','a','m','e',' ','i','n',' ',
'c','o','m','m','a','n','d',' ','l','i','n','e',#000,'I','l',
'l','e','g','a','l',' ','p','a','r','a','m','e','t','e','r',
':',' ','$','1',#000,'-','?',' ','w','r','i','t','e','s',' ',
'h','e','l','p',' ','p','a','g','e','s',#000,'T','o','o',' ',
'm','a','n','y',' ','c','o','n','f','i','g',' ','f','i','l',
'e','s',' ','n','e','s','t','e','d',#000,'U','n','a','b','l',
'e',' ','t','o',' ','o','p','e','n',' ','f','i','l','e',' ',
'$','1',#000,'R','e','a','d','i','n','g',' ','f','u','r','t',
'h','e','r',' ','o','p','t','i','o','n','s',' ','f','r','o',
'm',' ','$','1',#000,'T','a','r','g','e','t',' ','i','s',' ',
'a','l','r','e','a','d','y',' ','s','e','t',' ','t','o',':',
' ','$','1',#000,'S','h','a','r','e','d',' ','l','i','b','s',
' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ',
'o','n',' ','D','O','S',' ','p','l','a','t','f','o','r','m',
',',' ','r','e','v','e','r','t','i','n','g',' ','t','o',' ',
's','t','a','t','i','c',#000,'t','o','o',' ','m','a','n','y',
' ','I','F','(','N',')','D','E','F','s',#000,'t','o','o',' ',
'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',' ','a',
't',' ','t','h','e',' ','e','n','d',' ','o','f',' ','t','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','e',
'r','s','i','o','n',' ','$','V','E','R',#000,#000,'T','h','i',
's',' ','p','r','o','g','r','a','m',' ','c','o','m','e','s',
' ','u','n','d','e','r',' ','t','h','e',' ','G','N','U',' ',
'G','e','n','e','r','a','l',' ','P','u','b','l','i','c',' ',
'L','i','c','e','n','c','e',#000,'F','o','r',' ','m','o','r',
'e',' ','i','n','f','o','r','m','a','t','i','o','n',' ','r',
'e','a','d',' ','C','O','P','Y','I','N','G',#000,#000,'R','e',
'p','o','r','t',' ','b','u','g','s',',','s','u','g','g','e',
's','t','i','o','n','s',' ','e','t','c',' ','t','o',':',#000,
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
' ','b','a','2','3','9','5','@','f','e','n','.','b','a','y',
'n','e','t','.','d','e',#000,'*','*','0','*','_','+',' ','s',
'w','i','t','c','h',' ','o','p','t','i','o','n',' ','o','n',
',',' ','-',' ','o','f','f',#000,'*','*','1','a','_','t','h',
'e',' ','c','o','m','p','i','l','e','r',' ','d','o','e','s',
'n',#039,'t',' ','d','e','l','e','t','e',' ','t','h','e',' ',
'g','e','n','e','r','a','t','e','d',' ','a','s','s','e','m',
'b','l','e','r',' ','f','i','l','e',#000,'*','t','1','b','_',
'u','s','e',' ','E','M','S',#000,'*','*','1','B','+','_','b',
'u','i','l','d',#000,'*','*','1','C','_','c','o','d','e',' ',
'g','e','n','e','r','a','t','i','o','n',' ','o','p','t','i',
'o','n','s',#000,'*','*','2','C','a','_','n','o','t',' ','i',
'm','p','l','e','m','e','n','t','e','d',#000,'*','*','2','C',
'e','_','n','o','t',' ','i','m','p','l','e','m','e','n','t',
'e','d',#000,'3','*','2','C','D','_','D','y','n','a','m','i',
'c',' ','l','i','n','k','i','n','g',#000,'*','*','2','C','h',
'<','n','>','_','<','n','>',' ','b','y','t','e','s',' ','h',
'e','a','p',' ','(','b','e','t','w','e','e','n',' ','1','0',
'2','3',' ','a','n','d',' ','6','7','1','0','7','8','4','0',
')',#000,'*','*','2','C','i','_','I','O','-','c','h','e','c',
'k','i','n','g',#000,'*','*','2','C','n','_','o','m','i','t',
' ','l','i','n','k','i','n','g',' ','s','t','a','g','e',#000,
'*','*','2','C','o','_','c','h','e','c','k',' ','o','v','e',
'r','f','l','o','w',' ','o','f',' ','i','n','t','e','g','e',
'r',' ','o','p','e','r','a','t','i','o','n','s',#000,'*','*',
'2','C','r','_','r','a','n','g','e',' ','c','h','e','c','k',
'i','n','g',#000,'*','O','2','C','s','<','n','>','_','s','e',
't',' ','s','t','a','c','k',' ','s','i','z','e',' ','t','o',
' ','<','n','>',#000,'*','*','2','C','t','_','s','t','a','c',
'k',' ','c','h','e','c','k','i','n','g',#000,'3','*','2','C',
'S','_','s','t','a','t','i','c',' ','l','i','n','k','i','n',
'g',#000,'*','*','1','d','<','x','>','_','d','e','f','i','n',
'e','s',' ','t','h','e',' ','s','y','m','b','o','l',' ','<',
'x','>',#000,'*','O','1','D','_','c','o','n','t','r','o','l',
's',' ','t','h','e',' ','g','e','n','e','r','a','t','i','o',
'n',' ','o','f',' ','D','E','F',' ','f','i','l','e',' ','(',
'o','n','l','y',' ','O','S','/','2',')',#000,'*','O','2','D',
'd','<','x','>','_','s','e','t',' ','d','e','s','c','r','i',
'p','t','i','o','n',' ','t','o',' ','<','x','>',#000,'*','O',
'2','D','o','_','g','e','n','e','r','a','t','e',' ','D','E',
'F',' ','f','i','l','e',#000,'*','O','2','D','w','_','P','M',
' ','a','p','p','l','i','c','a','t','i','o','n',#000,'*','L',
'1','e','<','x','>','_','s','e','t',' ','p','a','t','h',' ',
't','o',' ','e','x','e','c','u','t','a','b','l','e','s',#000,
'*','*','1','E','_','s','a','m','e',' ','a','s',' ','-','C',
'n',#000,'*','*','1','g','_','g','e','n','e','r','a','t','e',
' ','d','e','b','u','g','g','e','r',' ','i','n','f','o','r',
'm','a','t','i','o','n',#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',' ','p','a','t','h',' ','f','o','r',' ','t','h','e',
' ','e','r','r','o','r',' ','m','e','s','s','a','g','e',' ',
'f','i','l','e',#000,'*','*','2','F','i','<','x','>','_','a',
'd','d','s',' ','<','x','>',' ','t','o',' ','i','n','c','l',
'u','d','e',' ','p','a','t','h',#000,'*','*','2','F','l','<',
'x','>','_','a','d','d','s',' ','<','x','>',' ','t','o',' ',
'l','i','b','r','a','r','y',' ','p','a','t','h',#000,'*','L',
'2','F','L','<','x','>','_','u','s','e','s',' ','<','x','>',
' ','a','s',' ','d','y','n','a','m','i','c',' ','l','i','n',
'k','e','r',#000,'*','*','2','F','u','<','x','>','_','a','d',
'd','s',' ','<','x','>',' ','t','o',' ','u','n','i','t',' ',
'p','a','t','h',#000,'*','*','1','k','<','x','>','_','P','a',
's','s',' ','<','x','>',' ','t','o',' ','t','h','e',' ','l',
'i','n','k','e','r',#000,'*','*','1','L','_','s','e','t',' ',
'l','a','n','g','u','a','g','e',#000,'*','*','2','L','D','_',
'G','e','r','m','a','n',#000,'*','*','2','L','E','_','E','n',
'g','l','i','s','h',#000,'*','*','2','L','N','_','D','u','t',
'c','h',#000,'*','*','1','l','_','w','r','i','t','e',' ','l',
'o','g','o',#000,'*','*','1','i','_','i','n','f','o','r','m',
'a','t','i','o','n',#000,'*','*','1','n','_','d','o','n',#039,
't',' ','r','e','a','d',' ','t','h','e',' ','d','e','f','a',
'u','l','t',' ','c','o','n','f','i','g',' ','f','i','l','e',
#000,'*','*','1','o','<','x','>','_','c','h','a','n','g','e',
' ','t','h','e',' ','n','a','m','e',' ','o','f',' ','t','h',
'e',' ','e','x','e','c','u','t','a','b','l','e',' ','p','r',
'o','d','u','c','e','d',' ','t','o',' ','<','x','>',#000,'*',
'*','1','p','g','_','g','e','n','e','r','a','t','e',' ','p',
'r','o','f','i','l','e',' ','c','o','d','e',' ','f','o','r',
' ','g','p','r','o','f',#000,'*','L','1','P','_','u','s','e',
' ','p','i','p','e','s',' ','i','n','s','t','e','a','d',' ',
'o','f',' ','c','r','e','a','t','i','n','g',' ','t','e','m',
'p','o','r','a','r','y',' ','a','s','s','e','m','b','l','e',
'r',' ','f','i','l','e','s',#000,'*','*','1','S','_','s','y',
'n','t','a','x',' ','o','p','t','i','o','n','s',#000,'*','*',
'2','S','2','_','s','w','i','t','c','h',' ','s','o','m','e',
' ','D','e','l','p','h','i',' ','2',' ','e','x','t','e','n',
's','i','o','n',' ','o','n',#000,'*','*','2','S','c','_','s',
'u','p','p','o','r','t','s',' ','o','p','e','r','a','t','o',
'r','s',' ','l','i','k','e',' ','C',' ','(','*','=',',','+',
'=',',','/','=',' ','a','n','d',' ','-','=',')',#000,'*','*',
'2','S','d','_','c','o','m','p','i','l','e','r',' ','d','i',
's','p','o','s','e','s',' ','a','s','m',' ','l','i','s','t',
's',' ','(','u','s','e','s',' ','l','e','s','s',' ','m','e',
'm','o','r','y',' ','b','u','t',' ','s','l','o','w','e','r',
')',#000,'*','*','2','S','e','_','c','o','m','p','i','l','e',
'r',' ','s','t','o','p','s',' ','a','f','t','e','r',' ','t',
'h','e',' ','f','i','r','s','t',' ','e','r','r','o','r',#000,
'*','*','2','S','g','_','a','l','l','o','w','s',' ','L','A',
'B','E','L',' ','a','n','d',' ','G','O','T','O',#000,'*','*',
'2','S','i','_','s','u','p','p','o','r','t',' ','C','+','+',
' ','s','t','l','y','e','d',' ','I','N','L','I','N','E',#000,
'*','*','2','S','m','_','s','u','p','p','o','r','t',' ','m',
'a','c','r','o','s',' ','l','i','k','e',' ','C',' ','(','g',
'l','o','b','a','l',')',#000,'*','*','2','S','o','_','t','r',
'i','e','s',' ','t','o',' ','b','e',' ','T','P','/','B','P',
' ','7','.','0',' ','c','o','m','p','a','t','i','b','l','e',
#000,'*','*','2','S','s','_','c','o','n','s','t','r','u','c',
't','o','r',' ','n','a','m','e',' ','m','u','s','t',' ','b',
'e',' ','i','n','i','t',' ','(','d','e','s','t','r','u','c',
't','o','r',' ','m','u','s','t',' ','b','e',' ','d','o','n',
'e',')',#000,'*','*','2','S','t','_','a','l','l','o','w','s',
' ','s','t','a','t','i','c',' ','k','e','y','w','o','r','d',
' ','i','n',' ','o','b','j','e','c','t','s',#000,'*','*','1',
's','_','d','o','n',#039,'t',' ','c','a','l','l',' ','a','s',
's','e','m','b','l','e','r',' ','a','n','d',' ','l','i','n',
'k','e','r',' ','(','o','n','l','y',' ','w','i','t','h',' ',
'-','a',')',#000,'*','*','1','T','<','x','>','_','T','a','r',
'g','e','t',' ','o','p','e','r','a','t','i','n','g',' ','s',
'y','s','t','e','m',#000,'3','*','2','T','G','O','3','2','V',
'1','_','v','e','r','s','i','o','n',' ','1',' ','o','f',' ',
'D','J',' ','D','e','l','o','r','i','e',' ','D','O','S',' ',
'e','x','t','e','n','d','e','r',#000,'3','*','2','T','G','O',
'3','2','V','2','_','v','e','r','s','i','o','n',' ','2',' ',
'o','f',' ','D','J',' ','D','e','l','o','r','i','e',' ','D',
'O','S',' ','e','x','t','e','n','d','e','r',#000,'3','*','2',
'T','L','I','N','U','X','_','L','i','n','u','x',#000,'3','*',
'2','T','O','S','2','_','O','S','/','2',' ','2','.','x',#000,
'3','*','2','T','W','i','n','3','2','_','W','i','n','d','o',
'w','s',' ','3','2',' ','B','i','t',#000,'6','*','2','T','A',
'M','I','G','A','_','C','o','m','m','o','d','o','r','e',' ',
'A','m','i','g','a',#000,'6','*','2','T','A','T','A','R','I',
'_','A','t','a','r','i',' ','S','T','/','S','T','e','/','T',
'T',#000,'6','*','2','T','M','A','C','O','S','_','M','a','c',
'i','n','t','o','s','h',' ','m','6','8','k',#000,'6','*','2',
'T','L','I','N','U','X','_','L','i','n','u','x','-','6','8',
'k',#000,'*','*','1','u','<','x','>','_','u','n','d','e','f',
'i','n','e','s',' ','t','h','e',' ','s','y','m','b','o','l',
' ','<','x','>',#000,'*','*','1','U','_','u','n','i','t',' ',
'o','p','t','i','o','n','s',#000,'*','*','2','U','l','s','_',
'm','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,
'*','*','2','U','l','d','_','m','a','k','e',' ','d','y','n',
'a','m','i','c',' ','l','i','b','r','a','r','y',' ','f','r',
'o','m',' ','u','n','i','t',#000,'*','*','2','U','n','_','d',
'o','n',#039,'t',' ','c','h','e','c','k',' ','t','h','e',' ',
'u','n','i','t',' ','n','a','m','e',#000,'*','*','2','U','p',
'<','x','>','_','s','a','m','e',' ','a','s',' ','-','F','u',
'<','x','>',#000,'*','*','2','U','s','_','c','o','m','p','i',
'l','e',' ','a',' ','s','y','s','t','e','m',' ','u','n','i',
't',#000,'*','*','1','v','<','x','>','_','B','e',' ','v','e',
'r','b','o','s','e','.',' ','<','x','>',' ','i','s',' ','a',
' ','c','o','m','b','i','n','a','t','i','o','n',' ','o','f',
' ','t','h','e',' ','f','o','l','l','o','w','i','n','g',' ',
'l','e','t','t','e','r','s',' ',':',#000,'*','*','2','*','_',
'e',' ',':',' ','S','h','o','w',' ','e','r','r','o','r','s',
' ','(','d','e','f','a','u','l','t',')',' ',' ',' ',' ',' ',
' ',' ','d',' ',':',' ','S','h','o','w',' ','d','e','b','u',
'g',' ','i','n','f','o',#000,'*','*','2','*','_','w',' ',':',
' ','S','h','o','w',' ','w','a','r','n','i','n','g','s',' ',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','u',
' ',':',' ','S','h','o','w',' ','u','s','e','d',' ','f','i',
'l','e','s',#000,'*','*','2','*','_','n',' ',':',' ','S','h',
'o','w',' ','n','o','t','e','s',' ',' ',' ',' ',' ',' ',' ',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','t',' ',':',' ',
'S','h','o','w',' ','t','r','i','e','d',' ','f','i','l','e',
's',#000,'*','*','2','*','_','h',' ',':',' ','S','h','o','w',
' ','h','i','n','t','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',
' ',' ',' ',' ',' ',' ',' ',' ',' ','m',' ',':',' ','S','h',
'o','w',' ','d','e','f','i','n','e','d',' ','m','a','c','r',
'o','s',#000,'*','*','2','*','_','i',' ',':',' ','S','h','o',
'w',' ','g','e','n','e','r','a','l',' ','i','n','f','o',' ',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','p',' ',':',' ','S',
'h','o','w',' ','c','o','m','p','i','l','e','d',' ','p','r',
'o','c','e','d','u','r','e','s',#000,'*','*','2','*','_','l',
' ',':',' ','S','h','o','w',' ','l','i','n','e','n','u','m',
'b','e','r','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
' ','c',' ',':',' ','S','h','o','w',' ','c','o','n','d','i',
't','i','o','n','a','l','s',#000,'*','*','2','*','_','a',' ',
':',' ','S','h','o','w',' ','e','v','e','r','y','t','h','i',
'n','g',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
'0',' ',':',' ','S','h','o','w',' ','n','o','t','h','i','n',
'g',' ','(','e','x','c','e','p','t',' ','e','r','r','o','r',
's',')',#000,'*','*','1','X','_','e','x','e','c','u','t','a',
'b','l','e',' ','o','p','t','i','o','n','s',#000,'*','L','2',
'X','c','_','l','i','n','k',' ','w','i','t','h',' ','t','h',
'e',' ','c',' ','l','i','b','r','a','r','y',#000,'*','*','2',
'X','s','_','s','t','r','i','p',' ','a','l','l',' ','s','y',
'm','b','o','l','s',' ','f','r','o','m',' ','e','x','e','c',
'u','t','a','b','l','e',#000,'*','*','0','*','_','P','r','o',
'c','e','s','s','o','r',' ','s','p','e','c','i','f','i','c',
' ','o','p','t','i','o','n','s',':',#000,'3','*','1','A','_',
'o','u','t','p','u','t',' ','f','o','r','m','a','t',#000,'3',
'*','2','A','o','_','c','o','f','f',' ','f','i','l','e',' ',
'u','s','i','n','g',' ','G','N','U',' ','A','S',#000,'3','*',
'2','A','n','a','s','m','c','o','f','f','_','c','o','f','f',
' ','f','i','l','e',' ','u','s','i','n','g',' ','N','a','s',
'm',#000,'3','*','2','A','n','a','s','m','e','l','f','_','e',
'l','f','3','2',' ','(','l','i','n','u','x',')',' ','f','i',
'l','e',' ','u','s','i','n','g',' ','N','a','s','m',#000,'3',
'*','2','A','n','a','s','m','o','b','j','_','o','b','j',' ',
'f','i','l','e',' ','u','s','i','n','g',' ','N','a','s','m',
#000,'3','*','2','A','m','a','s','m','_','o','b','j',' ','u',
's','i','n','g',' ','M','a','s','m',' ','(','M','i','r','c',
'o','s','o','f','t',')',#000,'3','*','2','A','t','a','s','m',
'_','o','b','j',' ','u','s','i','n','g',' ','T','a','s','m',
' ','(','B','o','r','l','a','n','d',')',#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','*','2','R','d','i','r','e','c',
't','_','c','o','p','y',' ','a','s','s','e','m','b','l','e',
'r',' ','t','e','x','t',' ','d','i','r','e','c','t','l','y',
' ','t','o',' ','a','s','s','e','m','b','l','e','r',' ','f',
'i','l','e',#000,'3','*','1','O','<','x','>','_','o','p','t',
'i','m','i','z','a','t','i','o','n','s',#000,'3','*','2','O',
'g','_','g','e','n','e','r','a','t','e',' ','s','m','a','l',
'l','e','r',' ','c','o','d','e',#000,'3','*','2','O','G','_',
'g','e','n','e','r','a','t','e',' ','f','a','s','t','e','r',
' ','c','o','d','e',' ','(','d','e','f','a','u','l','t',')',
#000,'3','*','2','O','r','_','k','e','e','p',' ','c','e','r',
't','a','i','n',' ','v','a','r','i','a','b','l','e','s',' ',
'i','n',' ','r','e','g','i','s','t','e','r','s',' ','(','s',
't','i','l','l',' ','B','U','G','G','Y','!','!','!',')',#000,
'3','*','2','O','u','_','e','n','a','b','l','e',' ','u','n',
'c','e','r','t','a','i','n',' ','o','p','t','i','m','i','z',
'a','t','i','o','n','s',' ','(','s','e','e',' ','d','o','c',
's',')',#000,'3','*','2','O','1','_','l','e','v','e','l',' ',
'1',' ','o','p','t','i','m','i','z','a','t','i','o','n','s',
' ','(','q','u','i','c','k',' ','o','p','t','i','m','i','z',
'a','t','i','o','n','s',')',#000,'3','*','2','O','2','_','l',
'e','v','e','l',' ','2',' ','o','p','t','i','m','i','z','a',
't','i','o','n','s',' ','(','-','O','1',' ','+',' ','s','l',
'o','w','e','r',' ','o','p','t','i','m','i','z','a','t','i',
'o','n','s',')',#000,'3','*','2','O','3','_','l','e','v','e',
'l',' ','3',' ','o','p','t','i','m','i','z','a','t','i','o',
'n','s',' ','(','s','a','m','e',' ','a','s',' ','-','O','2',
'u',')',#000,'3','*','2','O','p','_','t','a','r','g','e','t',
' ','p','r','o','c','e','s','s','o','r',#000,'3','*','3','O',
'p','1','_','s','e','t',' ','t','a','r','g','e','t',' ','p',
'r','o','c','e','s','s','o','r',' ','t','o',' ','3','8','6',
'/','4','8','6',#000,'3','*','3','O','p','2','_','s','e','t',
' ','t','a','r','g','e','t',' ','p','r','o','c','e','s','s',
'o','r',' ','t','o',' ','P','e','n','t','i','u','m','/','P',
'e','n','t','i','u','m','M','M','X',' ','(','t','m',')',#000,
'3','*','3','O','p','3','_','s','e','t',' ','t','a','r','g',
'e','t',' ','p','r','o','c','e','s','s','o','r',' ','t','o',
' ','P','P','r','o','/','P','I','I','/','c','6','x','8','6',
'/','K','6',' ','(','t','m',')',#000,'6','*','1','A','_','o',
'u','t','p','u','t',' ','f','o','r','m','a','t',#000,'6','*',
'2','A','o','_','U','n','i','x',' ','o','-','f','i','l','e',
' ','u','s','i','n','g',' ','G','N','U',' ','A','S',#000,'6',
'*','2','A','g','a','s','_','G','N','U',' ','M','o','t','o',
'r','o','l','a',' ','a','s','s','e','m','b','l','e','r',#000,
'6','*','2','A','m','i','t','_','M','I','T',' ','S','y','n',
't','a','x',' ','(','o','l','d',' ','G','A','S',')',#000,'6',
'*','2','A','m','o','t','_','S','t','a','n','d','a','r','d',
' ','M','o','t','o','r','o','l','a',' ','a','s','s','e','m',
'b','l','e','r',#000,'6','*','1','O','_','o','p','t','i','m',
'i','z','a','t','i','o','n','s',#000,'6','*','2','O','a','_',
't','u','r','n',' ','o','n',' ','t','h','e',' ','o','p','t',
'i','m','i','z','e','r',#000,'6','*','2','O','g','_','g','e',
'n','e','r','a','t','e',' ','s','m','a','l','l','e','r',' ',
'c','o','d','e',#000,'6','*','2','O','G','_','g','e','n','e',
'r','a','t','e',' ','f','a','s','t','e','r',' ','c','o','d',
'e',' ','(','d','e','f','a','u','l','t',')',#000,'6','*','2',
'O','x','_','o','p','t','i','m','i','z','e',' ','m','a','x',
'i','m','u','m',' ','(','s','t','i','l','l',' ','B','U','G',
'G','Y','!','!','!',')',#000,'6','*','2','O','2','_','s','e',
't',' ','t','a','r','g','e','t',' ','p','r','o','c','e','s',
's','o','r',' ','t','o',' ','a',' ','M','C','6','8','0','2',
'0','+',#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

@ -205,7 +205,8 @@ unit pdecl;
{$endif i386}
{ c var }
Csym : pvarsym;
is_cdecl,extern_Csym,export_Csym : boolean;
newtype : ptypesym;
is_gpc_name,is_cdecl,extern_Csym,export_Csym : boolean;
C_name : string;
{ case }
p,casedef : pdef;
@ -216,6 +217,7 @@ unit pdecl;
begin
old_block_type:=block_type;
block_type:=bt_type;
is_gpc_name:=false;
{ Force an expected ID error message }
if not (token in [ID,_CASE,_END]) then
consume(ID);
@ -228,10 +230,32 @@ unit pdecl;
C_name:=orgpattern;
sc:=idlist;
consume(COLON);
if (cs_gpc_compatible in aktmoduleswitches) and
not(is_record or is_object) and
(token=ID) and (orgpattern='__asmname__') then
begin
consume(ID);
C_name:=get_stringconst;
Is_gpc_name:=true;
end;
p:=read_type('');
symdone:=false;
if is_gpc_name then
begin
s:=sc^.get_with_tokeninfo(filepos);
if not sc^.empty then
Message(parser_e_absolute_only_one_var);
dispose(sc,done);
Csym:=new(pvarsym,init_C(s,C_name,p));
Csym^.fileinfo:=filepos;
Csym^.var_options:=Csym^.var_options or vo_is_external;
externals^.concat(new(pai_external,init(Csym^.mangledname,EXT_NEAR)));
symtablestack^.insert(Csym);
symdone:=true;
end;
{ check for absolute }
if (token=ID) and (pattern='ABSOLUTE') and not(is_record or is_object) then
if not symdone and (token=ID) and
(pattern='ABSOLUTE') and not(is_record or is_object) then
begin
consume(ID);
{ only allowed for one var }
@ -303,8 +327,16 @@ unit pdecl;
{ for a record there doesn't need to be a ; before the END or ) }
if not((is_record or is_object) and (token in [_END,RKLAMMER])) then
consume(SEMICOLON);
if (p^.deftype=procvardef) and (p^.sym=nil) then
begin
newtype:=new(ptypesym,init('unnamed',p));
parse_var_proc_directives(newtype);
newtype^.definition:=nil;
p^.sym:=nil;
dispose(newtype,done);
end;
{ Check for variable directives }
if (token=ID) then
if not symdone and (token=ID) then
begin
{ Check for C Variable declarations }
if (cs_support_c_var in aktmoduleswitches) and
@ -312,7 +344,7 @@ unit pdecl;
((pattern='EXPORT') or
(pattern='EXTERNAL') or
(pattern='PUBLIC') or
(pattern='CDECL')) then
(pattern='CVAR')) then
begin
{ only allowed for one var }
s:=sc^.get_with_tokeninfo(filepos);
@ -324,7 +356,7 @@ unit pdecl;
extern_csym:=false;
export_Csym:=false;
{ cdecl }
if pattern='CDECL' then
if pattern='CVAR' then
begin
consume(ID);
consume(SEMICOLON);
@ -365,12 +397,6 @@ unit pdecl;
{ insert in the symtable }
Csym:=new(pvarsym,init_C(s,C_name,p));
Csym^.fileinfo:=filepos;
{ locally defined procvar type with
CDECL need to use C calling convention }
if (p^.deftype=procvardef) and
(p^.sym=nil) then
pprocvardef(p)^.options:=
pprocvardef(p)^.options or (pocdecl+poclearstack);
if export_Csym then
inc(Csym^.refs);
if extern_Csym then
@ -393,7 +419,7 @@ unit pdecl;
symdone:=true;
end;
end;
{ insert it in the symtable, if not done yet }
{ insert it in the symtable, if not done yet }
if not symdone then
insert_syms(symtablestack,sc,p);
end;
@ -1643,6 +1669,7 @@ unit pdecl;
LKLAMMER:
begin
consume(LKLAMMER);
{ allow negativ values }
l:=-1;
aufsym := Nil;
aufdef:=new(penumdef,init);
@ -1667,7 +1694,10 @@ unit pdecl;
else
break;
until false;
aufdef^.max:=l;
{aufdef^.max:=l;
if we allow unordered enums
this can be wrong
min and max are now set in tenumsym.init PM }
p:=aufdef;
consume(RKLAMMER);
end;
@ -1679,7 +1709,11 @@ unit pdecl;
consume(_OF);
hp1:=read_type('');
case hp1^.deftype of
enumdef : p:=new(psetdef,init(hp1,penumdef(hp1)^.max));
{ don't forget that min can be negativ PM }
enumdef : if penumdef(hp1)^.min>=0 then
p:=new(psetdef,init(hp1,penumdef(hp1)^.max))
else
Message(sym_e_ill_type_decl_set);
orddef : begin
case porddef(hp1)^.typ of
uchar : p:=new(psetdef,init(hp1,255));
@ -1935,7 +1969,13 @@ unit pdecl;
end.
{
$Log$
Revision 1.41 1998-08-23 21:04:36 florian
Revision 1.42 1998-08-25 12:42:41 pierre
* CDECL changed to CVAR for variables
specifications are read in structures also
+ started adding GPC compatibility mode ( option -Sp)
* names changed to lowercase
Revision 1.41 1998/08/23 21:04:36 florian
+ rtti generation for classes added
+ new/dispose do now also a call to INITIALIZE/FINALIZE, if necessaray

View File

@ -672,7 +672,7 @@
{ generate two constant for bounds }
getlabelnr(rangenr);
if (cs_smartlink in aktmoduleswitches) then
datasegment^.concat(new(pai_symbol,init_global('R_'+current_module^.mainsource^+tostr(rangenr))))
datasegment^.concat(new(pai_symbol,init_global('R_'+current_module^.modulename^+tostr(rangenr))))
else
datasegment^.concat(new(pai_symbol,init('R_'+tostr(rangenr))));
if low<=high then
@ -687,7 +687,7 @@
datasegment^.concat(new(pai_const,init_32bit($7fffffff)));
inc(nextlabelnr);
if (cs_smartlink in aktmoduleswitches) then
datasegment^.concat(new(pai_symbol,init_global('R_'+current_module^.mainsource^+tostr(rangenr+1))))
datasegment^.concat(new(pai_symbol,init_global('R_'+current_module^.modulename^+tostr(rangenr+1))))
else
datasegment^.concat(new(pai_symbol,init('R_'+tostr(rangenr+1))));
datasegment^.concat(new(pai_const,init_32bit($80000000)));
@ -2535,7 +2535,13 @@
{
$Log$
Revision 1.25 1998-08-23 21:04:38 florian
Revision 1.26 1998-08-25 12:42:44 pierre
* CDECL changed to CVAR for variables
specifications are read in structures also
+ started adding GPC compatibility mode ( option -Sp)
* names changed to lowercase
Revision 1.25 1998/08/23 21:04:38 florian
+ rtti generation for classes added
+ new/dispose do now also a call to INITIALIZE/FINALIZE, if necessaray

View File

@ -1351,6 +1351,10 @@
typ:=enumsym;
definition:=def;
value:=v;
if def^.min>v then
def^.min:=v;
if def^.max<v then
def^.max:=v;
{$ifdef GDB}
order;
{$endif GDB}
@ -1552,7 +1556,13 @@
{
$Log$
Revision 1.34 1998-08-21 14:08:53 pierre
Revision 1.35 1998-08-25 12:42:46 pierre
* CDECL changed to CVAR for variables
specifications are read in structures also
+ started adding GPC compatibility mode ( option -Sp)
* names changed to lowercase
Revision 1.34 1998/08/21 14:08:53 pierre
+ TEST_FUNCRET now default (old code removed)
works also for m68k (at least compiles)

View File

@ -200,12 +200,12 @@ implementation
{$ifdef i386}
(
name : 'GO32 V1 DOS extender';
sharedlibext : '.DLL';
staticlibext : '.A';
sourceext : '.PP';
pasext : '.PAS';
sharedlibext : '.dll';
staticlibext : '.a';
sourceext : '.pp';
pasext : '.pas';
exeext : ''; { No .exe, the linker only output a.out ! }
scriptext : '.BAT';
scriptext : '.bat';
libprefix : '';
Cprefix : '_';
newline : #13#10;
@ -214,12 +214,12 @@ implementation
),
(
name : 'GO32 V2 DOS extender';
sharedlibext : '.DLL';
staticlibext : '.A';
sourceext : '.PP';
pasext : '.PAS';
exeext : '.EXE';
scriptext : '.BAT';
sharedlibext : '.dll';
staticlibext : '.a';
sourceext : '.pp';
pasext : '.pas';
exeext : '.exe';
scriptext : '.bat';
libprefix : '';
Cprefix : '_';
newline : #13#10;
@ -876,7 +876,13 @@ begin
end.
{
$Log$
Revision 1.27 1998-08-21 15:16:57 peter
Revision 1.28 1998-08-25 12:42:47 pierre
* CDECL changed to CVAR for variables
specifications are read in structures also
+ started adding GPC compatibility mode ( option -Sp)
* names changed to lowercase
Revision 1.27 1998/08/21 15:16:57 peter
* win32 compiles a bit better, no growheap crash
Revision 1.26 1998/08/19 16:07:55 jonas