Parcourir la source

* CDECL changed to CVAR for variables
specifications are read in structures also
+ started adding GPC compatibility mode ( option -Sp)
* names changed to lowercase

pierre il y a 27 ans
Parent
commit
b94116497c
7 fichiers modifiés avec 435 ajouts et 180 suppressions
  1. 1 0
      compiler/optidx.inc
  2. 1 0
      compiler/optione.msg
  3. 340 149
      compiler/optmsg.inc
  4. 55 15
      compiler/pdecl.pas
  5. 9 3
      compiler/symdef.inc
  6. 11 1
      compiler/symsym.inc
  7. 18 12
      compiler/systems.pas

+ 1 - 0
compiler/optidx.inc

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

+ 1 - 0
compiler/optione.msg

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

+ 340 - 149
compiler/optmsg.inc

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

+ 55 - 15
compiler/pdecl.pas

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

+ 9 - 3
compiler/symdef.inc

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

+ 11 - 1
compiler/symsym.inc

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

+ 18 - 12
compiler/systems.pas

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