فهرست منبع

* if a non local variables isn't initialized the compiler doesn't write
any longer "local var. seems not to be ..."

florian 26 سال پیش
والد
کامیت
41e4095cfa
4فایلهای تغییر یافته به همراه124 افزوده شده و 113 حذف شده
  1. 4 3
      compiler/errord.msg
  2. 1 0
      compiler/msgidx.inc
  3. 108 108
      compiler/msgtxt.inc
  4. 11 2
      compiler/tcld.pas

+ 4 - 3
compiler/errord.msg

@@ -928,7 +928,8 @@ sym_w_function_result_not_set=W_Funktions Ergebnis scheint kein Set zu sein
 % or procedures that contain assembler blocks.
 sym_e_illegal_field=E_Unbekannter Record Feld Bezeichner $1
 % The field doesn't exist in the record definition.
-sym_n_uninitialized_local_variable=W_Locale Variable $1 scheint nicht initialisiert zu sein
+sym_n_uninitialized_local_variable=W_Lokale Variable $1 wird benutzt, bevor ihr ein Wert zugewiesen wurde
+sym_n_uninitialized_local_variable=W_Variable $1 wird benutzt, bevor ihr ein Wert zugewiesen wurde
 % This message is displayed if the compiler thinks that a variable will
 % be used (i.e. appears in the right-hand-side of an expression) when it
 % wasn't initialized first (i.e. appeared in the right-hand side of an
@@ -1506,9 +1507,9 @@ ol098=3*2Rintel_lies Intel Assembler Variante
 ol099=3*2Rdirect_kopiere Assembler-Text direkt in die Assembler-Datei
 ol100=3*1O<x>_Optimierungen:
 ol101=3*2Og_erzeuge kleineren Code
-ol102=3*2OG_erzeuge schnelleren Code (standard)
+ol102=3*2OG_erzeuge schnelleren Code (Standard)
 ol103=3*2Or_behalte bestimmte Variablen in Registern (noch BUGGY!!!)
-ol104=3*2Ou_aktiviere unsichere Optimierungen (siehe Documentation)
+ol104=3*2Ou_aktiviere unsichere Optimierungen (siehe Dokumentation)
 ol105=3*2O1_Stufe 1 Optimierungen (schnelle Optimierungen)
 ol106=3*2O2_Stufe 2 Optimierungen (-O1 + langsamere Optimierungen)
 ol107=3*2O3_Stufe 3 Optimierungen (gleich wie -O2u)

+ 1 - 0
compiler/msgidx.inc

@@ -251,6 +251,7 @@ type tmsgconst=(
   sym_w_function_result_not_set,
   sym_e_illegal_field,
   sym_n_uninitialized_local_variable,
+  sym_n_uninitialized_variable,
   sym_e_id_no_member,
   sym_b_param_list,
   cg_e_break_not_allowed,

+ 108 - 108
compiler/msgtxt.inc

@@ -267,165 +267,166 @@ const msgtxt : array[0..000095,1..240] of char=(
   'W_Function result does not seem to be set'#000+
   'E_Unknown record field identifier $1'#000+
   'W_Local variable $1 does not seem to be initialized'#000+
-  'E_identifier idents no member $1'#000+
-  'B_Found declaratio','n: $1'#000+
+  'W_Variable $1 does not seem to be initialized'#000+
+  'E_ide','ntifier idents no member $1'#000+
+  'B_Found declaration: $1'#000+
   'E_BREAK not allowed'#000+
   'E_CONTINUE not allowed'#000+
   'E_Expression too complicated - FPU stack overflow'#000+
   'E_Illegal expression'#000+
   'E_Invalid integer expression'#000+
   'E_Illegal qualifier'#000+
-  'E_High range limit < low range limit'#000+
+  'E_High range limit < low ','range limit'#000+
   'E_Illegal counter variable'#000+
-  'E_Can'#039't',' determine which overloaded function to call'#000+
+  'E_Can'#039't determine which overloaded function to call'#000+
   'E_Parameter list size exceeds 65535 bytes'#000+
   'E_Illegal type conversion'#000+
   'E_File types must be var parameters'#000+
-  'E_The use of a far pointer isn'#039't allowed there'#000+
+  'E_The use of a far pointer isn'#039't allowed ther','e'#000+
   'E_illegal call by reference parameters'#000+
-  'E_EXP','ORT declared functions can'#039't be called'#000+
+  'E_EXPORT declared functions can'#039't be called'#000+
   'W_Possible illegal call of constructor or destructor (doesn'#039't matc'+
   'h to this context)'#000+
   'N_Inefficient code'#000+
   'W_unreachable code'#000+
-  'E_procedure call with stackframe ESP/SP'#000+
-  'E_Abstract methods can'#039't be called dir','ectly'#000+
+  'E_procedure call with stackframe',' ESP/SP'#000+
+  'E_Abstract methods can'#039't be called directly'#000+
   'F_Internal Error in getfloatreg(), allocation failure'#000+
   'F_Unknown float type'#000+
   'F_SecondVecn() base defined twice'#000+
   'F_Extended cg68k not supported'#000+
-  'F_32-bit unsigned not supported in MC68000 mode'#000+
+  'F_32-bit unsigned not supported in MC68000 mode'#000,
   'F_Internal Error in secondinline()'#000+
-  'D_Register ','$1 weight $2 $3'#000+
+  'D_Register $1 weight $2 $3'#000+
   'E_Stack limit excedeed in local routine'#000+
   'D_Stack frame is omitted'#000+
   'E_Object or class methods can'#039't be inline.'#000+
   'E_Procvar calls can'#039't be inline.'#000+
-  'E_No code for inline procedure stored'#000+
-  'E_Element zero of an ansi/wide- or longstring',' can'#039't be accessed,'+
-  ' use (set)length instead'#000+
+  'E_No code for inline procedure stored',#000+
+  'E_Element zero of an ansi/wide- or longstring can'#039't be accessed, u'+
+  'se (set)length instead'#000+
   'E_Include and exclude not implemented in this case'#000+
   'W_Probably illegal constant passed to internal math function'#000+
-  'E_Constructors or destructors can not be called inside a '#039'with'#039+
+  'E_Constructors or destructors can not ','be called inside a '#039'with'#039+
   ' clause'#000+
-  'E_Cannot call',' message handler method directly'#000+
+  'E_Cannot call message handler method directly'#000+
   'D_Starting $1 styled assembler parsing'#000+
   'D_Finished $1 styled assembler parsing'#000+
   'E_Non-label pattern contains @'#000+
   'W_Override operator not supported'#000+
-  'E_Error building record offset'#000+
-  'E_OFFSET used without identifier'#000,
+  'E_Error building r','ecord offset'#000+
+  'E_OFFSET used without identifier'#000+
   'E_Cannot use local variable or parameters here'#000+
   'E_need to use OFFSET here'#000+
   'E_Cannot use multiple relocatable symbols'#000+
   'E_Relocatable symbol can only be added'#000+
   'E_Invalid constant expression'#000+
-  'E_Relocatable symbol is not allowed'#000+
-  'E_Invalid reference ','syntax'#000+
+  'E_Relocata','ble symbol is not allowed'#000+
+  'E_Invalid reference syntax'#000+
   'E_Local symbols not allowed as references'#000+
   'E_Invalid base and index register usage'#000+
   'E_Wrong scale factor specified'#000+
   'E_Multiple index register usage'#000+
   'E_Invalid operand type'#000+
-  'E_Invalid string as opcode operand: $1'#000+
-  'W_@CODE and @DATA not supp','orted'#000+
+  'E_Invalid string as',' opcode operand: $1'#000+
+  'W_@CODE and @DATA not supported'#000+
   'E_Null label references are not allowed'#000+
   'F_Divide by zero in asm evaluator'#000+
   'F_Evaluator stack overflow'#000+
   'F_Evaluator stack underflow'#000+
   'F_Invalid numeric format in asm evaluator'#000+
-  'F_Invalid Operator in asm evaluator'#000+
-  'E_escape sequence ignored: ','$1'#000+
+  'F_Invalid Operato','r in asm evaluator'#000+
+  'E_escape sequence ignored: $1'#000+
   'E_Invalid symbol reference'#000+
   'W_Fwait can cause emulation problems with emu387'#000+
   'W_Calling an overload function in assembler'#000+
   'E_Unsupported symbol type for operand'#000+
   'E_Constant value out of bounds'#000+
-  'E_Error converting decimal $1'#000+
-  'E_Error converting',' octal $1'#000+
+  'E_','Error converting decimal $1'#000+
+  'E_Error converting octal $1'#000+
   'E_Error converting binary $1'#000+
   'E_Error converting hexadecimal $1'#000+
   'H_$1 translated to $2'#000+
   'W_$1 is associated to an overloaded function'#000+
   'E_Cannot use SELF outside a method'#000+
-  'E_Cannot use __SELF outside a method'#000+
-  'E_Cannot use __OLDEBP outsid','e a nested procedure'#000+
+  'E_Cannot use __SELF',' outside a method'#000+
+  'E_Cannot use __OLDEBP outside a nested procedure'#000+
   'W_Functions with void return value can'#039't return any value in asm c'+
   'ode'#000+
   'E_SEG not supported'#000+
   'E_Size suffix and destination or source size do not match'#000+
-  'W_Size suffix and destination or source size do not match'#000+
-  'E_Assembler s','yntax error'#000+
+  'W_Size suffix and destina','tion or source size do not match'#000+
+  'E_Assembler syntax error'#000+
   'E_Invalid combination of opcode and operands'#000+
   'E_Assemler syntax error in operand'#000+
   'E_Assemler syntax error in constant'#000+
   'E_Invalid String expression'#000+
   '32bit constant created for address'#000+
-  'E_Invalid or missing opcode'#000+
-  'E_Invalid combination',' of prefix and opcode: $1'#000+
+  'E_I','nvalid or missing opcode'#000+
+  'E_Invalid combination of prefix and opcode: $1'#000+
   'E_Invalid combination of override and opcode: $1'#000+
   'E_Too many operands on line'#000+
   'W_NEAR ignored'#000+
   'W_FAR ignored'#000+
   'E_Duplicate local symbol $1'#000+
   'E_Undefined local symbol $1'#000+
-  'E_Unknown label identifier $1'#000+
-  'E_Invalid floating poi','nt register name'#000+
+  'E_Unkn','own label identifier $1'#000+
+  'E_Invalid floating point register name'#000+
   'E_NOR not supported'#000+
   'W_Modulo not supported'#000+
   'E_Invalid floating point constant $1'#000+
   'E_Invalid floating point expression'#000+
   'E_Wrong symbol type'#000+
-  'E_Cannot index a local var or parameter with a register'#000+
-  'E_Invalid segment override expr','ession'#000+
+  'E_Cannot index a local var or parameter w','ith a register'#000+
+  'E_Invalid segment override expression'#000+
   'W_Identifier $1 supposed external'#000+
   'E_Strings not allowed as constants'#000+
   'No type of variable specified'#000+
   'E_assembler code not returned to text section'#000+
   'E_Not a directive or local symbol $1'#000+
-  'E_Using a defined name as a local label'#000+
-  'F_Too many ','assembler files'#000+
+  'E_Usi','ng a defined name as a local label'#000+
+  'F_Too many assembler files'#000+
   'F_Selected assembler output not supported'#000+
   'F_Comp not supported'#000+
   'F_Direct not support for binary writers'#000+
   'E_Allocating of data is only allowed in bss section'#000+
-  'F_No binary writer selected'#000+
+  'F_No binary writer sele','cted'#000+
   'E_Asm: Opcode $1 not in table'#000+
-  'E_Asm: $1 i','nvalid combination of opcode and operands'#000+
+  'E_Asm: $1 invalid combination of opcode and operands'#000+
   'E_Asm: 16 Bit references not supported'#000+
   'E_Asm: Invalid effective address'#000+
   'E_Asm: Immediate or reference expected'#000+
   'E_Asm: $1 value exceeds bounds $2'#000+
-  'E_Asm: Short jump is out of range $1'#000+
-  'W_Source operati','ng system redefined'#000+
+  'E_Asm: ','Short jump is out of range $1'#000+
+  'W_Source operating system redefined'#000+
   'I_Assembling (pipe) $1'#000+
   'E_Can'#039't create assember file $1'#000+
   'W_Assembler $1 not found, switching to external assembling'#000+
   'T_Using assembler: $1'#000+
   'W_Error while assembling exitcode $1'#000+
-  'W_Can'#039't call the assembler, error $1 switching ','to external assem'+
+  'W','_Can'#039't call the assembler, error $1 switching to external assem'+
   'bling'#000+
   'I_Assembling $1'#000+
   'W_Linker $1 not found, switching to external linking'#000+
   'T_Using linker: $1'#000+
   'W_Object $1 not found, Linking may fail !'#000+
-  'W_Library $1 not found, Linking may fail !'#000+
+  'W_Library $1 not found, Linking may fail ','!'#000+
   'W_Error while linking'#000+
-  'W_Can'#039't call the linke','r, switching to external linking'#000+
+  'W_Can'#039't call the linker, switching to external linking'#000+
   'I_Linking $1'#000+
   'W_binder not found, switching to external binding'#000+
   'W_ar not found, switching to external ar'#000+
   'E_Dynamic Libraries not supported'#000+
   'I_Closing script $1'#000+
-  'W_resource compiler not found, switching to exter','nal mode'#000+
+  'W_r','esource compiler not found, switching to external mode'#000+
   'I_Compiling resource $1'#000+
   'F_Can'#039't post process executable $1'#000+
   'F_Can'#039't open executable $1'#000+
   'X_Size of Code: $1 bytes'#000+
   'X_Size of initialized data: $1 bytes'#000+
-  'X_Size of uninitialized data: $1 bytes'#000+
+  'X_Size of uninitialized data: $1 byte','s'#000+
   'X_Stack space reserved: $1 bytes'#000+
-  'X_Stack spa','ce commited: $1 bytes'#000+
+  'X_Stack space commited: $1 bytes'#000+
   'T_Unitsearch: $1'#000+
   'T_PPU Loading $1'#000+
   'U_PPU Name: $1'#000+
@@ -434,8 +435,8 @@ const msgtxt : array[0..000095,1..240] of char=(
   'U_PPU Time: $1'#000+
   'U_PPU File too short'#000+
   'U_PPU Invalid Header (no PPU at the begin)'#000+
-  'U_PPU Invalid Version $1'#000+
-  'U_PPU is compiled for an other proc','essor'#000+
+  'U_PPU Invalid ','Version $1'#000+
+  'U_PPU is compiled for an other processor'#000+
   'U_PPU is compiled for an other target'#000+
   'U_PPU Source: $1'#000+
   'U_Writing $1'#000+
@@ -443,46 +444,46 @@ const msgtxt : array[0..000095,1..240] of char=(
   'F_reading PPU-File'#000+
   'F_unexpected end of PPU-File'#000+
   'F_Invalid PPU-File entry: $1'#000+
-  'F_PPU Dbx count problem'#000+
+  'F_PPU Dbx count prob','lem'#000+
   'E_Illegal unit name: $1'#000+
   'F_Too much units'#000+
-  'F','_Circular unit reference between $1 and $2'#000+
+  'F_Circular unit reference between $1 and $2'#000+
   'F_Can'#039't compile unit $1, no sources available'#000+
   'W_Compiling the system unit requires the -Us switch'#000+
   'F_There were $1 errors compiling module, stopping'#000+
-  'U_Load from $1 ($2) unit $3'#000+
-  'U_Recompiling $1, che','cksum changed for $2'#000+
+  'U_L','oad from $1 ($2) unit $3'#000+
+  'U_Recompiling $1, checksum changed for $2'#000+
   'U_Recompiling $1, source found only'#000+
   'U_Recompiling unit, static lib is older than ppufile'#000+
   'U_Recompiling unit, shared lib is older than ppufile'#000+
-  'U_Recompiling unit, obj and asm are older than ppufile'#000+
-  'U_Recompiling unit, ob','j is older than asm'#000+
+  'U_Recompiling unit, obj and asm',' are older than ppufile'#000+
+  'U_Recompiling unit, obj is older than asm'#000+
   'U_Parsing interface of $1'#000+
   'U_Parsing implementation of $1'#000+
   'U_Second load for unit $1'#000+
   'U_PPU Check file $1 time $2'#000+
   '$1 [options] <inputfile> [options]'#000+
-  'W_Only one source file supported'#000+
+  'W_Only one source file suppo','rted'#000+
   'W_DEF file can be created only for OS/2'#000+
-  'E','_nested response files are not supported'#000+
+  'E_nested response files are not supported'#000+
   'F_No source file name in command line'#000+
   'E_Illegal parameter: $1'#000+
   'H_-? writes help pages'#000+
   'F_Too many config files nested'#000+
   'F_Unable to open file $1'#000+
-  'N_Reading further options from $1'#000+
-  'W_Target is already set ','to: $1'#000+
+  'N_Reading fu','rther options from $1'#000+
+  'W_Target is already set to: $1'#000+
   'W_Shared libs not supported on DOS platform, reverting to static'#000+
   'F_too many IF(N)DEFs'#000+
   'F_too many ENDIFs'#000+
   'F_open conditional at the end of the file'#000+
-  'W_Debug information generation is not supported by this executable'#000+
-  'H_Try recompiling wi','th -dGDB'#000+
+  'W_Debug information generation is not sup','ported by this executable'#000+
+  'H_Try recompiling with -dGDB'#000+
   'E_You are using the obsolete switch $1'#000+
   'E_You are using the obsolete switch $1, please use $2'#000+
   'Free Pascal Compiler version $FPCVER [$FPCDATE] for $FPCTARGET'#000+
-  'Copyright (c) 1993-98 by Florian Klaempfl'#000+
-  'Free Pascal Compiler version $FPC','VER'#000+
+  'Copyright (c) 1993-98 by Flor','ian Klaempfl'#000+
+  'Free Pascal Compiler version $FPCVER'#000+
   #000+
   'Compiler Date  : $FPCDATE'#000+
   'Compiler Target: $FPCTARGET'#000+
@@ -491,144 +492,143 @@ const msgtxt : array[0..000095,1..240] of char=(
   'For more information read COPYING.FPC'#000+
   #000+
   'Report bugs,suggestions etc to:'#000+
-  '                 [email protected]'#000+
-  '**','0*_put + after a boolean switch option to enable it, - to disable '+
-  'it'#000+
+  '       ','          [email protected]'#000+
+  '**0*_put + after a boolean switch option to enable it, - to disable it'+
+  #000+
   '**1a_the compiler doesn'#039't delete the generated assembler file'#000+
   '**2al_list sourcecode lines in assembler file'#000+
-  '**2ar_list register allocation/release info in assembler file'#000+
-  '*','*2at_list temp allocation/release info in assembler file'#000+
+  '**2ar_list regist','er allocation/release info in assembler file'#000+
+  '**2at_list temp allocation/release info in assembler file'#000+
   '**1b_generate browser info'#000+
   '**2bl_generate local symbol info'#000+
   '**1B_build all modules'#000+
   '**1C<x>_code generation options:'#000+
-  '3*2CD_create dynamic library'#000+
-  '**2Ch<n>_<n> bytes heap (between 1023 ','and 67107840)'#000+
+  '3*2CD_create dynamic ','library'#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+
   '**2Cs<n>_set stack size to <n>'#000+
   '**2Ct_stack checking'#000+
-  '3*2CS_create static library'#000+
+  '3*2CS_create static l','ibrary'#000+
   '3*2Cx_use smartlinking'#000+
-  '**1d<x>_defines ','the symbol <x>'#000+
+  '**1d<x>_defines the symbol <x>'#000+
   '*O1D_generate a DEF file'#000+
   '*O2Dd<x>_set description to <x>'#000+
   '*O2Dw_PM application'#000+
   '**1e<x>_set path to executable'#000+
   '**1E_same as -Cn'#000+
   '**1F<x>_set file names and paths:'#000+
-  '**2FD<x>_sets the directory where to search for compiler utilitie','s'#000+
+  '**2FD<x>_sets the d','irectory where to search for compiler utilities'#000+
   '**2Fe<x>_redirect error output to <x>'#000+
   '**2FE<x>_set exe/unit output path to <x>'#000+
   '**2Fi<x>_adds <x> to include path'#000+
   '**2Fl<x>_adds <x> to library path'#000+
   '*L2FL<x>_uses <x> as dynamic linker'#000+
-  '**2Fo<x>_adds <x> to object path'#000+
-  '**2Fr<x>_load error me','ssage file <x>'#000+
+  '**2Fo<x>_','adds <x> to object path'#000+
+  '**2Fr<x>_load error message file <x>'#000+
   '**2Fu<x>_adds <x> to unit path'#000+
   '**2FU<x>_set unit output path to <x>, overrides -FE'#000+
   '*g1g<x>_generate debugger information:'#000+
   '*g2gg_use gsym'#000+
   '*g2gd_use dbx'#000+
   '*g2gh_use heap trace unit'#000+
-  '**1i_information'#000+
+  '**','1i_information'#000+
   '**2iD_return compiler date'#000+
-  '**2i','V_return compiler version'#000+
+  '**2iV_return compiler version'#000+
   '**2iSO_return compiler OS'#000+
   '**2iSP_return compiler processor'#000+
   '**2iTO_return target OS'#000+
   '**2iTP_return target processor'#000+
   '**1I<x>_adds <x> to include path'#000+
-  '**1k<x>_Pass <x> to the linker'#000+
+  '**1k<x>_Pass <x> to t','he linker'#000+
   '**1l_write logo'#000+
-  '**1n_don'#039't read the ','default config file'#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<x>_syntax options:'#000+
-  '**2S2_switch some Delphi 2 extensions o','n'#000+
+  '**1S<x>_syntax op','tions:'#000+
+  '**2S2_switch some Delphi 2 extensions on'#000+
   '**2Sc_supports operators like C (*=,+=,/= and -=)'#000+
   '**2Sd_tries to be Delphi compatible'#000+
   '**2Se_compiler stops after the first error'#000+
   '**2Sg_allow LABEL and GOTO'#000+
   '**2Sh_Use ansistrings'#000+
-  '**2Si_support C++ styled INLINE'#000+
-  '**2Sm_support macros like C ','(global)'#000+
+  '**2Si_support ','C++ styled INLINE'#000+
+  '**2Sm_support macros like C (global)'#000+
   '**2So_tries to be TP/BP 7.0 compatible'#000+
   '**2Sp_tries to be gpc compatible'#000+
   '**2Ss_constructor name must be init (destructor must be done)'#000+
   '**2St_allow static keyword in objects'#000+
-  '**1s_don'#039't call assembler and linker (only with -a)'#000+
-  '**1u<x>','_undefines the symbol <x>'#000+
+  '**1s_don'#039't ca','ll assembler and linker (only with -a)'#000+
+  '**1u<x>_undefines the symbol <x>'#000+
   '**1U_unit options:'#000+
   '**2Un_don'#039't check the unit name'#000+
   '**2Us_compile a system unit'#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 : Sh','ow warnings               u : Show unit info'#000+
+  '**2*_e : Show errors (','default)       d : Show debug info'#000+
+  '**2*_w : Show warnings               u : Show unit info'#000+
   '**2*_n : Show notes                  t : Show tried/used files'#000+
   '**2*_h : Show hints                  m : Show defined macros'#000+
-  '**2*_i : Show general info           p : Show compiled procedures'#000+
-  '**2*_','l : Show linenumbers            c : Show conditionals'#000+
+  '**2*_i : Show general inf','o           p : Show compiled procedures'#000+
+  '**2*_l : Show linenumbers            c : Show conditionals'#000+
   '**2*_a : Show everything             0 : Show nothing (except errors)'#000+
-  '**2*_b : Show all procedure          r : Rhide/GCC compatibility mode'#000+
-  '**2*_    declarations if an error    x : Execu','table info (Win32 only'+
-  ')'#000+
+  '**2*_b : Show all procedure          r : Rhide/GCC compatibility mode'#000,
+  '**2*_    declarations if an error    x : Executable info (Win32 only)'#000+
   '**2*_    occurs'#000+
   '**1X_executable options:'#000+
   '*L2Xc_link with the c library'#000+
   '**2XD_link with dynamic libraries (defines FPC_LINK_DYNAMIC)'#000+
-  '**2Xs_strip all symbols from executable'#000+
-  '**2XS_link with static libraries (defines FP','C_LINK_STATIC)'#000+
+  '**2Xs_strip all symbols from executabl','e'#000+
+  '**2XS_link with static libraries (defines FPC_LINK_STATIC)'#000+
   '**0*_Processor specific options:'#000+
   '3*1A<x>_output format:'#000+
   '3*2Ao_coff file using GNU AS'#000+
   '3*2Anasmcoff_coff file using Nasm'#000+
   '3*2Anasmelf_elf32 (Linux) file using Nasm'#000+
-  '3*2Anasmobj_obj file using Nasm'#000+
-  '3*2Amasm_obj file using Masm (Mi','rcosoft)'#000+
+  '3*2Anasmobj_obj fi','le using Nasm'#000+
+  '3*2Amasm_obj file using Masm (Mircosoft)'#000+
   '3*2Atasm_obj file using Tasm (Borland)'#000+
   '3*1R<x>_assembler reading style:'#000+
   '3*2Ratt_read AT&T style assembler'#000+
   '3*2Rintel_read Intel style assembler'#000+
-  '3*2Rdirect_copy assembler text directly to assembler file'#000+
+  '3*2Rdirect_copy assembler text directly to',' assembler file'#000+
   '3*1O<x>_optimizations:'#000+
-  '3*2Og_g','enerate smaller code'#000+
+  '3*2Og_generate smaller code'#000+
   '3*2OG_generate faster code (default)'#000+
   '3*2Or_keep certain variables in registers (still BUGGY!!!)'#000+
   '3*2Ou_enable uncertain optimizations (see docs)'#000+
-  '3*2O1_level 1 optimizations (quick optimizations)'#000+
-  '3*2O2_level 2 optimizatio','ns (-O1 + slower optimizations)'#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<x>_target processor:'#000+
   '3*3Op1_set target processor to 386/486'#000+
-  '3*3Op2_set target processor to Pentium/PentiumMMX (tm)'#000+
-  '3*3Op3_set target processor to PPro/PII/c6x8','6/K6 (tm)'#000+
+  '3*3Op2_set target processor to Pentium/PentiumMMX (tm',')'#000+
+  '3*3Op3_set target processor to PPro/PII/c6x86/K6 (tm)'#000+
   '3*1T<x>_Target operating system:'#000+
   '3*2TGO32V1_version 1 of DJ Delorie DOS extender'#000+
   '3*2TGO32V2_version 2 of DJ Delorie DOS extender'#000+
   '3*2TLINUX_Linux'#000+
   '3*2TOS2_OS/2 2.x'#000+
-  '3*2TWin32_Windows 32 Bit'#000+
+  '3*2TWin32_Windows 32 B','it'#000+
   '6*1A<x>_output format'#000+
-  '6*2Ao_Unix o-file usi','ng GNU AS'#000+
+  '6*2Ao_Unix o-file using GNU AS'#000+
   '6*2Agas_GNU Motorola assembler'#000+
   '6*2Amit_MIT Syntax (old GAS)'#000+
   '6*2Amot_Standard Motorola assembler'#000+
   '6*1O_optimizations:'#000+
   '6*2Oa_turn on the optimizer'#000+
   '6*2Og_generate smaller code'#000+
-  '6*2OG_generate faster code (default)'#000+
-  '6*2Ox_optimize maximu','m (still BUGGY!!!)'#000+
+  '6*2OG_genera','te faster code (default)'#000+
+  '6*2Ox_optimize maximum (still BUGGY!!!)'#000+
   '6*2O2_set target processor to a MC68020+'#000+
   '6*1R<x>_assembler reading style:'#000+
   '6*2RMOT_read motorola style assembler'#000+
   '6*1T<x>_Target operating system:'#000+
   '6*2TAMIGA_Commodore Amiga'#000+
-  '6*2TATARI_Atari ST/STe/TT'#000+
-  '6*2TMACOS_Macintosh m68k',#000+
+  '6*2T','ATARI_Atari ST/STe/TT'#000+
+  '6*2TMACOS_Macintosh m68k'#000+
   '6*2TLINUX_Linux-68k'#000+
   '**1*_'#000+
   '**1?_shows this help'#000+

+ 11 - 2
compiler/tcld.pas

@@ -147,7 +147,12 @@ implementation
                      if pvarsym(p^.symtableentry)^.is_valid=2 then
                        if (assigned(pvarsym(p^.symtableentry)^.owner) and assigned(aktprocsym)
                        and (pvarsym(p^.symtableentry)^.owner = aktprocsym^.definition^.localst)) then
-                       CGMessage1(sym_n_uninitialized_local_variable,pvarsym(p^.symtableentry)^.name);
+                       begin
+                          if p^.symtable^.symtabletype=localsymtable then
+                            CGMessage1(sym_n_uninitialized_local_variable,pvarsym(p^.symtableentry)^.name)
+                          else
+                            CGMessage1(sym_n_uninitialized_variable,pvarsym(p^.symtableentry)^.name);
+                       end;
                      end;
                    if count_ref then
                      begin
@@ -452,7 +457,11 @@ implementation
 end.
 {
   $Log$
-  Revision 1.30  1999-05-19 10:31:55  florian
+  Revision 1.31  1999-05-19 15:26:41  florian
+    * if a non local variables isn't initialized the compiler doesn't write
+      any longer "local var. seems not to be ..."
+
+  Revision 1.30  1999/05/19 10:31:55  florian
     * two bugs reported by Romio (bugs 13) are fixed:
         - empty array constructors are now handled correctly (e.g. for sysutils.format)
         - comparsion of ansistrings was sometimes coded wrong