Browse Source

* fix for issue #29936: check if the internal needed types are available

git-svn-id: trunk@35310 -
florian 8 years ago
parent
commit
668b198d7c
5 changed files with 292 additions and 263 deletions
  1. 10 0
      compiler/msg/errore.msg
  2. 4 2
      compiler/msgidx.inc
  3. 263 260
      compiler/msgtxt.inc
  4. 4 1
      compiler/nobj.pas
  5. 11 0
      compiler/psub.pas

+ 10 - 0
compiler/msg/errore.msg

@@ -3221,6 +3221,16 @@ unit_u_ppu_invalid_memory_model=10063_U_PPU is compiled for another i8086 memory
 % cannot be read.
 % cannot be read.
 unit_u_loading_from_package=10064_U_Loading unit $1 from package $2
 unit_u_loading_from_package=10064_U_Loading unit $1 from package $2
 % The unit is loaded from a package.
 % The unit is loaded from a package.
+cg_f_internal_type_not_found=10065_F_Internal type "$1" was not found. Check if you use the correct run time library.
+% The compiler expects that the runtime library contains certain types. If you see this error
+% and you didn't change the runtime library code, it's very likely that the runtime library
+% you're using doesn't match the compiler in use. If you changed the runtime library this error means
+% that you removed a type which the compiler needs for internal use.
+cg_f_internal_type_does_not_match=10066_F_Internal type "$1" does not look as expected. Check if you use the correct run time library.
+% The compiler expects that the runtime library contains certain types. If you see this error
+% and you didn't change the runtime library code, it's very likely that the runtime library
+% you're using doesn't match the compiler in use. If you changed the runtime library this error means
+% that you changed a type which the compiler needs for internal use and which needs to have a certain structure.
 % \end{description}
 % \end{description}
 # EndOfTeX
 # EndOfTeX
 
 

+ 4 - 2
compiler/msgidx.inc

@@ -956,6 +956,8 @@ const
   unit_u_indirect_crc_changed=10062;
   unit_u_indirect_crc_changed=10062;
   unit_u_ppu_invalid_memory_model=10063;
   unit_u_ppu_invalid_memory_model=10063;
   unit_u_loading_from_package=10064;
   unit_u_loading_from_package=10064;
+  cg_f_internal_type_not_found=10065;
+  cg_f_internal_type_does_not_match=10066;
   option_usage=11000;
   option_usage=11000;
   option_only_one_source_support=11001;
   option_only_one_source_support=11001;
   option_def_only_for_os2=11002;
   option_def_only_for_os2=11002;
@@ -1064,9 +1066,9 @@ const
   option_info=11024;
   option_info=11024;
   option_help_pages=11025;
   option_help_pages=11025;
 
 
-  MsgTxtSize = 78824;
+  MsgTxtSize = 79014;
 
 
   MsgIdxMax : array[1..20] of longint=(
   MsgIdxMax : array[1..20] of longint=(
-    27,102,347,124,96,58,130,33,209,65,
+    27,102,347,124,96,58,130,33,209,67,
     60,20,30,1,1,1,1,1,1,1
     60,20,30,1,1,1,1,1,1,1
   );
   );

+ 263 - 260
compiler/msgtxt.inc

@@ -1,7 +1,7 @@
 {$ifdef Delphi}
 {$ifdef Delphi}
-const msgtxt : array[0..000328] of string[240]=(
+const msgtxt : array[0..000329] of string[240]=(
 {$else Delphi}
 {$else Delphi}
-const msgtxt : array[0..000328,1..240] of char=(
+const msgtxt : array[0..000329,1..240] of char=(
 {$endif Delphi}
 {$endif Delphi}
   '01000_T_Compiler: $1'#000+
   '01000_T_Compiler: $1'#000+
   '01001_D_Compiler OS: $1'#000+
   '01001_D_Compiler OS: $1'#000+
@@ -1149,158 +1149,162 @@ const msgtxt : array[0..000328,1..240] of char=(
   '10062_U_Indirect interface (objects/classes) CRC changed for unit $1'#000+
   '10062_U_Indirect interface (objects/classes) CRC changed for unit $1'#000+
   '10063_U_PPU i','s compiled for another i8086 memory model'#000+
   '10063_U_PPU i','s compiled for another i8086 memory model'#000+
   '10064_U_Loading unit $1 from package $2'#000+
   '10064_U_Loading unit $1 from package $2'#000+
+  '10065_F_Internal type "$1" was not found. Check if you use the correct'+
+  ' run time library.'#000+
+  '10066_F_Internal type "$1" does not look as expected. Check if you us',
+  'e the correct run time library.'#000+
   '11000_O_$1 [options] <inputfile> [options]'#000+
   '11000_O_$1 [options] <inputfile> [options]'#000+
   '11001_W_Only one source file supported, changing source file to compil'+
   '11001_W_Only one source file supported, changing source file to compil'+
   'e from "$1" into "$2"'#000+
   'e from "$1" into "$2"'#000+
-  '11002_W_DEF file can be',' created only for OS/2'#000+
-  '11003_E_nested response files are not supported'#000+
+  '11002_W_DEF file can be created only for OS/2'#000+
+  '11003_E_nested response fil','es are not supported'#000+
   '11004_F_No source file name in command line'#000+
   '11004_F_No source file name in command line'#000+
   '11005_N_No option inside $1 config file'#000+
   '11005_N_No option inside $1 config file'#000+
   '11006_E_Illegal parameter: $1'#000+
   '11006_E_Illegal parameter: $1'#000+
   '11007_H_-? writes help pages'#000+
   '11007_H_-? writes help pages'#000+
-  '11008_F_Too many config fi','les nested'#000+
+  '11008_F_Too many config files nested'#000+
   '11009_F_Unable to open file $1'#000+
   '11009_F_Unable to open file $1'#000+
-  '11010_D_Reading further options from $1'#000+
+  '11010_D_','Reading further options from $1'#000+
   '11011_W_Target is already set to: $1'#000+
   '11011_W_Target is already set to: $1'#000+
   '11012_W_Shared libs not supported on DOS platform, reverting to static'+
   '11012_W_Shared libs not supported on DOS platform, reverting to static'+
   #000+
   #000+
-  '11013_F_In options file $1 at line $2 too many #IF','(N)DEFs encountere'+
-  'd'#000+
-  '11014_F_In options file $1 at line $2 unexpected #ENDIFs encountered'#000+
+  '11013_F_In options file $1 at line $2 too many #IF(N)DEFs encountered'#000+
+  '11014_F_In options file $1 at ','line $2 unexpected #ENDIFs encountered'+
+  #000+
   '11015_F_Open conditional at the end of the options file'#000+
   '11015_F_Open conditional at the end of the options file'#000+
   '11016_W_Debug information generation is not supported by this executab'+
   '11016_W_Debug information generation is not supported by this executab'+
   'le'#000+
   'le'#000+
-  '11017_H_Try recompilin','g with -dGDB'#000+
-  '11018_W_You are using the obsolete switch $1'#000+
+  '11017_H_Try recompiling with -dGDB'#000+
+  '11018_W_You are using the obsolete sw','itch $1'#000+
   '11019_W_You are using the obsolete switch $1, please use $2'#000+
   '11019_W_You are using the obsolete switch $1, please use $2'#000+
   '11020_N_Switching assembler to default source writing assembler'#000+
   '11020_N_Switching assembler to default source writing assembler'#000+
-  '11021_W_Assembler output selected "$1" is not compatible w','ith "$2"'#000+
+  '11021_W_Assembler output selected "$1" is not compatible with "$2"'#000+
   '11022_W_"$1" assembler use forced'#000+
   '11022_W_"$1" assembler use forced'#000+
-  '11026_T_Reading options from file $1'#000+
+  '11026_T','_Reading options from file $1'#000+
   '11027_T_Reading options from environment $1'#000+
   '11027_T_Reading options from environment $1'#000+
   '11028_D_Handling option "$1"'#000+
   '11028_D_Handling option "$1"'#000+
   '11029_O_*** press enter ***'#000+
   '11029_O_*** press enter ***'#000+
   '11030_H_Start of reading config file $1'#000+
   '11030_H_Start of reading config file $1'#000+
-  '11031_H_End of read','ing config file $1'#000+
-  '11032_D_interpreting option "$1"'#000+
+  '11031_H_End of reading config file $1'#000+
+  '11032_D_interpreting option "$1','"'#000+
   '11036_D_interpreting firstpass option "$1"'#000+
   '11036_D_interpreting firstpass option "$1"'#000+
   '11033_D_interpreting file option "$1"'#000+
   '11033_D_interpreting file option "$1"'#000+
   '11034_D_Reading config file "$1"'#000+
   '11034_D_Reading config file "$1"'#000+
   '11035_D_found source file name "$1"'#000+
   '11035_D_found source file name "$1"'#000+
   '11039_E_Unknown codepage "$1"'#000+
   '11039_E_Unknown codepage "$1"'#000+
-  '11040_F_','Config file $1 is a directory'#000+
-  '11041_W_Assembler output selected "$1" cannot generate debug info, deb'+
-  'ugging disabled'#000+
+  '11040_F_Config file $1 is a directory'#000+
+  '11041_W_Assembler ou','tput selected "$1" cannot generate debug info, d'+
+  'ebugging disabled'#000+
   '11042_W_Use of ppc386.cfg is deprecated, please use fpc.cfg instead'#000+
   '11042_W_Use of ppc386.cfg is deprecated, please use fpc.cfg instead'#000+
-  '11043_F_In options file $1 at line $2 #ELSE directive wi','thout #IF(N)'+
-  'DEF found'#000+
-  '11044_F_Option "$1" is not, or not yet, supported on the current targe'+
-  't platform'#000+
+  '11043_F_In options file $1 at line $2 #ELSE directive without #IF(N)DE'+
+  'F found'#000+
+  '11044_F_Option "$1" is not, ','or not yet, supported on the current tar'+
+  'get platform'#000+
   '11045_F_The feature "$1" is not, or not yet, supported on the selected'+
   '11045_F_The feature "$1" is not, or not yet, supported on the selected'+
   ' target platform'#000+
   ' target platform'#000+
-  '11046_N_DWARF debug information cannot be used wit','h smart linking on'+
-  ' this target, switching to static linking'#000+
+  '11046_N_DWARF debug information cannot be used with smart linking on t'+
+  'his target, switching to stati','c linking'#000+
   '11047_W_Option "$1" is ignored for the current target platform.'#000+
   '11047_W_Option "$1" is ignored for the current target platform.'#000+
   '11048_W_Disabling external debug information because it is unsupported'+
   '11048_W_Disabling external debug information because it is unsupported'+
-  ' for the selected target/debug format combinat','ion.'#000+
-  '11049_N_DWARF debug information cannot be used with smart linking with'+
-  ' external assembler, disabling static library creation.'#000+
+  ' for the selected target/debug format combination.'#000+
+  '11049_N_DWARF debug information cannot be use','d with smart linking wi'+
+  'th external assembler, disabling static library creation.'#000+
   '11050_E_Invalid value for MACOSX_DEPLOYMENT_TARGET environment variabl'+
   '11050_E_Invalid value for MACOSX_DEPLOYMENT_TARGET environment variabl'+
   'e: $1'#000+
   'e: $1'#000+
-  '11051_E_Invalid value for IPHONEO','S_DEPLOYMENT_TARGET environment var'+
-  'iable: $1'#000+
-  '11052_E_You must use a FPU type of VFPV2, VFPV3 or VFPV3_D16 when usin'+
-  'g the EABIHF ABI target'#000+
+  '11051_E_Invalid value for IPHONEOS_DEPLOYMENT_TARGET environment varia'+
+  'ble: $1'#000+
+  '11052','_E_You must use a FPU type of VFPV2, VFPV3 or VFPV3_D16 when us'+
+  'ing the EABIHF ABI target'#000+
   '11053_W_The selected debug format is not supported on the current targ'+
   '11053_W_The selected debug format is not supported on the current targ'+
-  'et, not changing the current se','tting'#000+
+  'et, not changing the current setting'#000+
   '11054_E_argument to "$1" is missing'#000+
   '11054_E_argument to "$1" is missing'#000+
-  '11055_E_malformed parameter: $1'#000+
+  '11055_E_','malformed parameter: $1'#000+
   '11056_W_Smart linking requires external linker'#000+
   '11056_W_Smart linking requires external linker'#000+
   '11057_E_Creating .COM files is not supported in the current memory mod'+
   '11057_E_Creating .COM files is not supported in the current memory mod'+
-  'el. Only the tiny memory model supports making .C','OM files.'#000+
-  '11058_W_Experimental CheckPointer option not enabled because it is inc'+
-  'omptatible with -Ur option.'#000+
+  'el. Only the tiny memory model supports making .COM files.'#000+
+  '11058_W_Experimental CheckPointer option',' not enabled because it is i'+
+  'ncomptatible with -Ur option.'#000+
   '11059_E_Unsupported target architecture -P$1, invoke the the "fpc" com'+
   '11059_E_Unsupported target architecture -P$1, invoke the the "fpc" com'+
   'piler driver instead.'#000+
   'piler driver instead.'#000+
-  '12000_F_Cannot open whole program optimi','zation feedback file "$1"'#000+
-  '12001_D_Processing whole program optimization information in wpo feedb'+
-  'ack file "$1"'#000+
+  '12000_F_Cannot open whole program optimization feedback file "$1"'#000+
+  '12001_D_Processing whole',' program optimization information in wpo fee'+
+  'dback file "$1"'#000+
   '12002_D_Finished processing the whole program optimization information'+
   '12002_D_Finished processing the whole program optimization information'+
   ' in wpo feedback file "$1"'#000+
   ' in wpo feedback file "$1"'#000+
-  '12003_E_Expected section header, ','but got "$2" at line $1 of wpo feed'+
-  'back file'#000+
-  '12004_W_No handler registered for whole program optimization section "'+
-  '$2" at line $1 of wpo feedback file, ignoring'#000+
+  '12003_E_Expected section header, but got "$2" at line $1 of wpo feedba'+
+  'ck file'#000+
+  '12004','_W_No handler registered for whole program optimization section'+
+  ' "$2" at line $1 of wpo feedback file, ignoring'#000+
   '12005_D_Found whole program optimization section "$1" with information'+
   '12005_D_Found whole program optimization section "$1" with information'+
-  ' about "$','2"'#000+
-  '12006_F_The selected whole program optimizations require a previously '+
-  'generated feedback file (use -Fw to specify)'#000+
+  ' about "$2"'#000+
+  '12006_F_The selected whole program optimization','s require a previousl'+
+  'y generated feedback file (use -Fw to specify)'#000+
   '12007_E_No collected information necessary to perform "$1" whole progr'+
   '12007_E_No collected information necessary to perform "$1" whole progr'+
   'am optimization found'#000+
   'am optimization found'#000+
-  '12008_F_Specify a whole progra','m optimization feedback file to store '+
-  'the generated info in (using -FW)'#000+
+  '12008_F_Specify a whole program optimization feedback file to store th'+
+  'e generate','d info in (using -FW)'#000+
   '12009_E_Not generating any whole program optimization information, yet'+
   '12009_E_Not generating any whole program optimization information, yet'+
   ' a feedback file was specified (using -FW)'#000+
   ' a feedback file was specified (using -FW)'#000+
-  '12010_E_Not performing any whole program optimizations,',' yet an input'+
-  ' feedback file was specified (using -Fw)'#000+
+  '12010_E_Not performing any whole program optimizations, yet an input f'+
+  'eedback file was specified (using -','Fw)'#000+
   '12011_D_Skipping whole program optimization section "$1", because not '+
   '12011_D_Skipping whole program optimization section "$1", because not '+
   'needed by the requested optimizations'#000+
   'needed by the requested optimizations'#000+
   '12012_W_Overriding previously read information for "$1" from feedback '+
   '12012_W_Overriding previously read information for "$1" from feedback '+
-  'input fi','le using information in section "$2"'#000+
-  '12013_E_Cannot extract symbol liveness information from program when s'+
-  'tripping symbols, use -Xs-'#000+
+  'input file using information in section "$2"'#000+
+  '12013_E_Canno','t extract symbol liveness information from program when'+
+  ' stripping symbols, use -Xs-'#000+
   '12014_E_Cannot extract symbol liveness information from program when w'+
   '12014_E_Cannot extract symbol liveness information from program when w'+
   'hen not linking'#000+
   'hen not linking'#000+
-  '12015_F_Cannot find ','"$1" or "$2" to extract symbol liveness informat'+
-  'ion from linked program'#000+
+  '12015_F_Cannot find "$1" or "$2" to extract symbol liveness informatio',
+  'n from linked program'#000+
   '12016_E_Error during reading symbol liveness information produced by "'+
   '12016_E_Error during reading symbol liveness information produced by "'+
   '$1"'#000+
   '$1"'#000+
   '12017_F_Error executing "$1" (exitcode: $2) to extract symbol informat'+
   '12017_F_Error executing "$1" (exitcode: $2) to extract symbol informat'+
-  'ion from linked program'#000,
-  '12018_E_Collection of symbol liveness information can only help when u'+
-  'sing smart linking, use -CX -XX'#000+
+  'ion from linked program'#000+
+  '12018_E_Collection of symbol liveness information ','can only help when'+
+  ' using smart linking, use -CX -XX'#000+
   '12019_E_Cannot create specified whole program optimisation feedback fi'+
   '12019_E_Cannot create specified whole program optimisation feedback fi'+
   'le "$1"'#000+
   'le "$1"'#000+
   '13001_F_Can'#039't find package $1'#000+
   '13001_F_Can'#039't find package $1'#000+
-  '13002_U_PCP file for package $','1 found'#000+
+  '13002_U_PCP file for package $1 found'#000+
   '13003_E_Duplicate package $1'#000+
   '13003_E_Duplicate package $1'#000+
-  '13004_E_Unit $1 can not be part of a package'#000+
+  '13004_E_Unit ','$1 can not be part of a package'#000+
   '13005_N_Unit $1 is implicitely imported into package $2'#000+
   '13005_N_Unit $1 is implicitely imported into package $2'#000+
   '13006_F_Failed to create PCP file $2 for package $1'#000+
   '13006_F_Failed to create PCP file $2 for package $1'#000+
   '13007_F_Failed to read PCP file for package $1'#000+
   '13007_F_Failed to read PCP file for package $1'#000+
-  '130','08_T_PCP loading $1'#000+
+  '13008_T_PCP loading $1'#000+
   '13009_U_PCP Name: $1'#000+
   '13009_U_PCP Name: $1'#000+
-  '13010_U_PCP Flags: $1'#000+
+  '13010_U_P','CP Flags: $1'#000+
   '13011_U_PCP Crc: $1'#000+
   '13011_U_PCP Crc: $1'#000+
   '13012_U_PCP Time: $1'#000+
   '13012_U_PCP Time: $1'#000+
   '13013_U_PCP File too short'#000+
   '13013_U_PCP File too short'#000+
   '13014_U_PCP Invalid Header (no PCP at the begin)'#000+
   '13014_U_PCP Invalid Header (no PCP at the begin)'#000+
   '13015_U_PCP Invalid Version $1'#000+
   '13015_U_PCP Invalid Version $1'#000+
-  '13016_U_PCP is compiled for a','nother processor'#000+
-  '13017_U_PCP is compiled for another target'#000+
+  '13016_U_PCP is compiled for another processor'#000+
+  '13017_U_PCP is compiled for anoth','er target'#000+
   '13018_U_Writing $1'#000+
   '13018_U_Writing $1'#000+
   '13019_F_Can'#039't Write PCP-File'#000+
   '13019_F_Can'#039't Write PCP-File'#000+
   '13020_F_Error reading PCP-File'#000+
   '13020_F_Error reading PCP-File'#000+
   '13021_F_unexpected end of PCP-File'#000+
   '13021_F_unexpected end of PCP-File'#000+
   '13022_F_Invalid PCP-File entry: $1'#000+
   '13022_F_Invalid PCP-File entry: $1'#000+
-  '13023_U_Trying to use a unit wh','ich was compiled with a different FPU'+
-  ' mode'#000+
-  '13024_T_Packagesearch: $1'#000+
+  '13023_U_Trying to use a unit which was compiled with a different FPU m'+
+  'ode'#000+
+  '13024_T','_Packagesearch: $1'#000+
   '13025_U_Required package $1'#000+
   '13025_U_Required package $1'#000+
   '13026_U_Contained unit $1'#000+
   '13026_U_Contained unit $1'#000+
   '13027_E_Unit $1 is already contained in package $2'#000+
   '13027_E_Unit $1 is already contained in package $2'#000+
   '13028_W_Unit $1 is imported from indirectly required package $2'#000+
   '13028_W_Unit $1 is imported from indirectly required package $2'#000+
-  '13','029_U_PPL filename $1'#000+
-  '11023_Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPC'+
-  'CPU'#010+
+  '13029_U_PPL filename $1'#000+
+  '11023_Free Pascal Compiler v','ersion $FPCFULLVERSION [$FPCDATE] for $F'+
+  'PCCPU'#010+
   'Copyright (c) 1993-2017 by Florian Klaempfl and others'#000+
   'Copyright (c) 1993-2017 by Florian Klaempfl and others'#000+
   '11024_Free Pascal Compiler version $FPCVERSION'#010+
   '11024_Free Pascal Compiler version $FPCVERSION'#010+
   #010+
   #010+
   'Compiler date      : $FPCDATE'#010+
   'Compiler date      : $FPCDATE'#010+
-  'Compiler CP','U target: $FPCCPU'#010+
+  'Compiler CPU target: $FPCCPU'#010+
   #010+
   #010+
-  'Supported targets (targets marked with '#039'{*}'#039' are under develop'+
-  'ment):'#010+
+  'Supported targets (targets mark','ed with '#039'{*}'#039' are under devel'+
+  'opment):'#010+
   '  $OSTARGETS'#010+
   '  $OSTARGETS'#010+
   #010+
   #010+
   'Supported CPU instruction sets:'#010+
   'Supported CPU instruction sets:'#010+
@@ -1309,10 +1313,10 @@ const msgtxt : array[0..000328,1..240] of char=(
   'Supported FPU instruction sets:'#010+
   'Supported FPU instruction sets:'#010+
   '  $FPUINSTRUCTIONSETS'#010+
   '  $FPUINSTRUCTIONSETS'#010+
   #010+
   #010+
-  'Supported inline assembler mode','s:'#010+
+  'Supported inline assembler modes:'#010+
   '  $ASMMODES'#010+
   '  $ASMMODES'#010+
   #010+
   #010+
-  'Recognized compiler and RTL features:'#010+
+  'Recognized compiler and RTL featur','es:'#010+
   '  $FEATURELIST'#010+
   '  $FEATURELIST'#010+
   #010+
   #010+
   'Supported ABI targets:'#010+
   'Supported ABI targets:'#010+
@@ -1325,320 +1329,319 @@ const msgtxt : array[0..000328,1..240] of char=(
   '  All'#010+
   '  All'#010+
   '  $WPOPTIMIZATIONS'#010+
   '  $WPOPTIMIZATIONS'#010+
   #010+
   #010+
-  'Supported Microcontrolle','r types:$\n  $CONTROLLERTYPES$\n'#010+
-  'This program comes under the GNU General Public Licence'#010+
+  'Supported Microcontroller types:$\n  $CONTROLLERTYPES$\n'#010+
+  'This program come','s under the GNU General Public Licence'#010+
   'For more information read COPYING.v2'#010+
   'For more information read COPYING.v2'#010+
   #010+
   #010+
   'Please report bugs in our bug tracker on:'#010+
   'Please report bugs in our bug tracker on:'#010+
   '                 http://bugs.freepascal.org'#010+
   '                 http://bugs.freepascal.org'#010+
   #010+
   #010+
-  'More information may be fo','und on our WWW pages (including directions'+
-  #010+
-  'for mailing lists useful for asking questions or discussing potential'#010+
+  'More information may be found on our WWW pages (including directions'#010+
+  'for mai','ling lists useful for asking questions or discussing potentia'+
+  'l'#010+
   'new features, etc.):'#010+
   'new features, etc.):'#010+
   '                 http://www.freepascal.org'#000+
   '                 http://www.freepascal.org'#000+
-  '11025_F*0*_Only options valid for the default or selected platf','orm a'+
-  're listed.'#010+
-  '**0*_Put + after a boolean switch option to enable it, - to disable it'+
-  '.'#010+
+  '11025_F*0*_Only options valid for the default or selected platform are'+
+  ' listed.'#010+
+  '**0*_Put + after a boolean switch ','option to enable it, - to disable '+
+  'it.'#010+
   '**1@<x>_Read compiler options from <x> in addition to the default fpc.'+
   '**1@<x>_Read compiler options from <x> in addition to the default fpc.'+
   'cfg'#010+
   'cfg'#010+
   '**1a_The compiler does not delete the generated assembler file'#010+
   '**1a_The compiler does not delete the generated assembler file'#010+
-  '**2al_List sour','cecode lines in assembler file'#010+
-  '**2an_List node info in assembler file (-dEXTDEBUG compiler)'#010+
+  '**2al_List sourcecode lines in assembler file'#010+
+  '**2an_List node inf','o in assembler file (-dEXTDEBUG compiler)'#010+
   '**2ao_Add an extra option to external assembler call (ignored for inte'+
   '**2ao_Add an extra option to external assembler call (ignored for inte'+
   'rnal)'#010+
   'rnal)'#010+
   '*L2ap_Use pipes instead of creating temporary assembler files'#010+
   '*L2ap_Use pipes instead of creating temporary assembler files'#010+
-  '**2ar_List',' register allocation/release info in assembler file'#010+
+  '**2ar_List register allocation/release info in assembler fil','e'#010+
   '**2at_List temp allocation/release info in assembler file'#010+
   '**2at_List temp allocation/release info in assembler file'#010+
   '**1A<x>_Output format:'#010+
   '**1A<x>_Output format:'#010+
   '**2Adefault_Use default assembler'#010+
   '**2Adefault_Use default assembler'#010+
   '3*2Aas_Assemble using GNU AS'#010+
   '3*2Aas_Assemble using GNU AS'#010+
-  '3*2Amacho_Mach-O (Darwin, Intel 32 bit) usin','g internal writer'#010+
+  '3*2Amacho_Mach-O (Darwin, Intel 32 bit) using internal writer'#010+
   '8*2Anasm_Assemble using Nasm'#010+
   '8*2Anasm_Assemble using Nasm'#010+
-  '8*2Anasmobj_Assemble using Nasm'#010+
+  '8*2','Anasmobj_Assemble using Nasm'#010+
   '3*2Anasm_Assemble using Nasm'#010+
   '3*2Anasm_Assemble using Nasm'#010+
   '3*2Anasmcoff_COFF (Go32v2) file using Nasm'#010+
   '3*2Anasmcoff_COFF (Go32v2) file using Nasm'#010+
   '3*2Anasmelf_ELF32 (Linux) file using Nasm'#010+
   '3*2Anasmelf_ELF32 (Linux) file using Nasm'#010+
   '3*2Anasmwin32_Win32 object file using Nasm'#010+
   '3*2Anasmwin32_Win32 object file using Nasm'#010+
-  '3*2A','nasmwdosx_Win32/WDOSX object file using Nasm'#010+
-  '3*2Anasmdarwin_macho32 object file using Nasm (experimental)'#010+
+  '3*2Anasmwdosx_Win32/WDOSX object file using Nasm'#010+
+  '3*2An','asmdarwin_macho32 object file using Nasm (experimental)'#010+
   '3*2Awasm_Obj file using Wasm (Watcom)'#010+
   '3*2Awasm_Obj file using Wasm (Watcom)'#010+
   '3*2Anasmobj_Obj file using Nasm'#010+
   '3*2Anasmobj_Obj file using Nasm'#010+
   '3*2Amasm_Obj file using Masm (Microsoft)'#010+
   '3*2Amasm_Obj file using Masm (Microsoft)'#010+
-  '3*2Atasm_Obj file using',' Tasm (Borland)'#010+
-  '3*2Aelf_ELF (Linux) using internal writer'#010+
+  '3*2Atasm_Obj file using Tasm (Borland)'#010+
+  '3*2Aelf_ELF (Linux) using internal',' writer'#010+
   '3*2Acoff_COFF (Go32v2) using internal writer'#010+
   '3*2Acoff_COFF (Go32v2) using internal writer'#010+
   '3*2Apecoff_PE-COFF (Win32) using internal writer'#010+
   '3*2Apecoff_PE-COFF (Win32) using internal writer'#010+
   '3*2Ayasm_Assemble using Yasm (experimental)'#010+
   '3*2Ayasm_Assemble using Yasm (experimental)'#010+
   '4*2Aas_Assemble using GNU AS'#010+
   '4*2Aas_Assemble using GNU AS'#010+
-  '4*2Agas_Assembl','e using GNU GAS'#010+
-  '4*2Agas-darwin_Assemble darwin Mach-O64 using GNU GAS'#010+
+  '4*2Agas_Assemble using GNU GAS'#010+
+  '4*2Agas-darwin_Assemble darwin Mac','h-O64 using GNU GAS'#010+
   '4*2Amasm_Win64 object file using ml64 (Microsoft)'#010+
   '4*2Amasm_Win64 object file using ml64 (Microsoft)'#010+
   '4*2Apecoff_PE-COFF (Win64) using internal writer'#010+
   '4*2Apecoff_PE-COFF (Win64) using internal writer'#010+
   '4*2Aelf_ELF (Linux-64bit) using internal writer'#010+
   '4*2Aelf_ELF (Linux-64bit) using internal writer'#010+
-  '4*2Ayasm_Assemble using',' Yasm (experimental)'#010+
-  '4*2Anasm_Assemble  using Nasm (experimental)'#010+
+  '4*2Ayasm_Assemble using Yasm (experimental)'#010+
+  '4*2Anasm_Assemble  using Nasm',' (experimental)'#010+
   '4*2Anasmwin64_Assemble Win64 object file using Nasm (experimental)'#010+
   '4*2Anasmwin64_Assemble Win64 object file using Nasm (experimental)'#010+
   '4*2Anasmelf_Assemble Linux-64bit object file using Nasm (experimental)'+
   '4*2Anasmelf_Assemble Linux-64bit object file using Nasm (experimental)'+
   #010+
   #010+
-  '4*2Anasmdarwin_Assemble darwin macho','64 object file using Nasm (exper'+
-  'imental)'#010+
-  '6*2Aas_Unix o-file using GNU AS'#010+
+  '4*2Anasmdarwin_Assemble darwin macho64 object file using Nasm (experim'+
+  'ental)'#010+
+  '6*2Aas_Un','ix o-file using GNU AS'#010+
   '6*2Agas_GNU Motorola assembler'#010+
   '6*2Agas_GNU Motorola assembler'#010+
   '6*2Amit_MIT Syntax (old GAS)'#010+
   '6*2Amit_MIT Syntax (old GAS)'#010+
   '6*2Amot_Standard Motorola assembler'#010+
   '6*2Amot_Standard Motorola assembler'#010+
   'A*2Aas_Assemble using GNU AS'#010+
   'A*2Aas_Assemble using GNU AS'#010+
   'P*2Aas_Assemble using GNU AS'#010+
   'P*2Aas_Assemble using GNU AS'#010+
-  'S*2Aas_Assemb','le using GNU AS'#010+
+  'S*2Aas_Assemble using GNU AS'#010+
   '**1b_Generate browser info'#010+
   '**1b_Generate browser info'#010+
-  '**2bl_Generate local symbol info'#010+
+  '**2bl_G','enerate local symbol info'#010+
   '**1B_Build all modules'#010+
   '**1B_Build all modules'#010+
   '**1C<x>_Code generation options:'#010+
   '**1C<x>_Code generation options:'#010+
   '**2C3_Turn on ieee error checking for constants'#010+
   '**2C3_Turn on ieee error checking for constants'#010+
-  '**2Ca<x>_Select ABI; see fpc -i or fpc -ia for possible valu','es'#010+
-  '**2Cb_Generate code for a big-endian variant of the target architectur'+
-  'e'#010+
+  '**2Ca<x>_Select ABI; see fpc -i or fpc -ia for possible values'#010+
+  '**2Cb_Generate code for a big-endian variant of',' the target architect'+
+  'ure'#010+
   '**2Cc<x>_Set default calling convention to <x>'#010+
   '**2Cc<x>_Set default calling convention to <x>'#010+
   '**2CD_Create also dynamic library (not supported)'#010+
   '**2CD_Create also dynamic library (not supported)'#010+
   '**2Ce_Compilation with emulated floating point opcodes'#010+
   '**2Ce_Compilation with emulated floating point opcodes'#010+
-  '**2Cf<x>_Sele','ct fpu instruction set to use; see fpc -i or fpc -if fo'+
+  '**2Cf<x>_Select fpu instruction set to use; see fpc -i or fpc -','if fo'+
   'r possible values'#010+
   'r possible values'#010+
   '**2CF<x>_Minimal floating point constant precision (default, 32, 64)'#010+
   '**2CF<x>_Minimal floating point constant precision (default, 32, 64)'#010+
   '**2Cg_Generate PIC code'#010+
   '**2Cg_Generate PIC code'#010+
   '**2Ch<n>_<n> bytes heap (between 1023 and 67107840)'#010+
   '**2Ch<n>_<n> bytes heap (between 1023 and 67107840)'#010+
   '**2Ci_IO-checking'#010+
   '**2Ci_IO-checking'#010+
-  'A*2C','I<x>_Select instruction set on ARM: ARM or THUMB'#010+
-  '**2Cn_Omit linking stage'#010+
+  'A*2CI<x>_Select instruction set on ARM: ARM or THUMB'#010+
+  '*','*2Cn_Omit linking stage'#010+
   'P*2CN_Generate nil-pointer checks (AIX-only)'#010+
   'P*2CN_Generate nil-pointer checks (AIX-only)'#010+
   '**2Co_Check overflow of integer operations'#010+
   '**2Co_Check overflow of integer operations'#010+
   '**2CO_Check for possible overflow of integer operations'#010+
   '**2CO_Check for possible overflow of integer operations'#010+
-  '**2Cp<x>_Select instru','ction set; see fpc -i or fpc -ic for possible '+
-  'values'#010+
+  '**2Cp<x>_Select instruction set; see fpc -i or fpc -ic for possible va'+
+  'lu','es'#010+
   '**2CP<x>=<y>_ packing settings'#010+
   '**2CP<x>=<y>_ packing settings'#010+
   '**3CPPACKSET=<y>_ <y> set allocation: 0, 1 or DEFAULT or NORMAL, 2, 4 '+
   '**3CPPACKSET=<y>_ <y> set allocation: 0, 1 or DEFAULT or NORMAL, 2, 4 '+
   'and 8'#010+
   'and 8'#010+
   '**3CPPACKENUM=<y>_ <y> enum packing: 0, 1, 2 and 4 or DEFAULT or NORMA'+
   '**3CPPACKENUM=<y>_ <y> enum packing: 0, 1, 2 and 4 or DEFAULT or NORMA'+
   'L'#010+
   'L'#010+
-  '**3CPPAC','KRECORD=<y>_ <y> record packing: 0 or DEFAULT or NORMAL, 1, '+
+  '**3CPPACKRECORD=<y>_ <y> record packing: 0 or DEFAULT or N','ORMAL, 1, '+
   '2, 4, 8, 16 and 32'#010+
   '2, 4, 8, 16 and 32'#010+
   '**2Cr_Range checking'#010+
   '**2Cr_Range checking'#010+
   '**2CR_Verify object method call validity'#010+
   '**2CR_Verify object method call validity'#010+
   '**2Cs<n>_Set stack checking size to <n>'#010+
   '**2Cs<n>_Set stack checking size to <n>'#010+
   '**2Ct_Stack checking (for testing only, see manual)'#010+
   '**2Ct_Stack checking (for testing only, see manual)'#010+
-  '8*2CT<x','>_Target-specific code generation options'#010+
-  '3*2CT<x>_Target-specific code generation options'#010+
+  '8*2CT<x>_Target-specific code generation options'#010+
+  '3*2CT<x>','_Target-specific code generation options'#010+
   '4*2CT<x>_Target-specific code generation options'#010+
   '4*2CT<x>_Target-specific code generation options'#010+
   'p*2CT<x>_Target-specific code generation options'#010+
   'p*2CT<x>_Target-specific code generation options'#010+
   'P*2CT<x>_Target-specific code generation options'#010+
   'P*2CT<x>_Target-specific code generation options'#010+
-  'J*','2CT<x>_Target-specific code generation options'#010+
-  'A*2CT<x>_Target-specific code generation options'#010+
+  'J*2CT<x>_Target-specific code generation options'#010+
+  'A*2','CT<x>_Target-specific code generation options'#010+
   'p*3CTsmalltoc_ Generate smaller TOCs at the expense of execution speed'+
   'p*3CTsmalltoc_ Generate smaller TOCs at the expense of execution speed'+
   ' (AIX)'#010+
   ' (AIX)'#010+
-  'P*3CTsmalltoc_ Generate smaller TOCs at the expense of execution sp','e'+
-  'ed (AIX)'#010+
-  'J*3CTautogetterprefix=X_  Automatically create getters for properties '+
-  'with prefix X (empty string disables)'#010+
+  'P*3CTsmalltoc_ Generate smaller TOCs at the expense of execution speed'+
+  ' (AIX)'#010+
+  'J*3CTautogetterprefix=X_  Automatically ','create getters for propertie'+
+  's with prefix X (empty string disables)'#010+
   'J*3CTautosetterprefix=X_  Automatically create setters for properties '+
   'J*3CTautosetterprefix=X_  Automatically create setters for properties '+
   'with prefix X (empty string disables)'#010+
   'with prefix X (empty string disables)'#010+
-  '8*3CTcld_     ','            Emit a CLD instruction before using the x8'+
+  '8*3CTcld_                 Emit a CLD instruction before using th','e x8'+
   '6 string instructions'#010+
   '6 string instructions'#010+
   '3*3CTcld_                 Emit a CLD instruction before using the x86 '+
   '3*3CTcld_                 Emit a CLD instruction before using the x86 '+
   'string instructions'#010+
   'string instructions'#010+
   '4*3CTcld_                 Emit a CLD instruction before using the x86 '+
   '4*3CTcld_                 Emit a CLD instruction before using the x86 '+
-  'stri','ng instructions'#010+
-  '8*3CTfarprocspushoddbp_       Increment BP before pushing it in the pr'+
-  'ologue of far functions'#010+
+  'string instructions'#010+
+  '8*3CTfarprocspushoddbp_       Incr','ement BP before pushing it in the '+
+  'prologue of far functions'#010+
   'J*3CTcompactintarrayinit_ Generate smaller (but potentially slower) co'+
   'J*3CTcompactintarrayinit_ Generate smaller (but potentially slower) co'+
   'de for initializing integer array constants'#010+
   'de for initializing integer array constants'#010+
-  'J*3CTenumfieldin','it_       Initialize enumeration fields in construct'+
+  'J*3CTenumfieldinit_       Initialize enumeration fields in constru','ct'+
   'ors to enumtype(0), after calling inherited constructors'#010+
   'ors to enumtype(0), after calling inherited constructors'#010+
   'J*3CTinitlocals_          Initialize local variables that trigger a JV'+
   'J*3CTinitlocals_          Initialize local variables that trigger a JV'+
-  'M bytecode verification error if used uninitialized (slows do','wn code'+
-  ')'#010+
-  'J*3CTlowercaseprocstart_  Lowercase the first character of procedure/f'+
-  'unction/method names'#010+
+  'M bytecode verification error if used uninitialized (slows down code)'#010+
+  'J*3CTlowercaseprocstart_  Lowercase the f','irst character of procedure'+
+  '/function/method names'#010+
   'A*3CTthumbinterworking_ Generate Thumb interworking-safe code if possi'+
   'A*3CTthumbinterworking_ Generate Thumb interworking-safe code if possi'+
   'ble'#010+
   'ble'#010+
   'J*2Cv_Var/out parameter copy-out checking'#010+
   'J*2Cv_Var/out parameter copy-out checking'#010+
-  '**2CX_Create also smartl','inked library'#010+
+  '**2CX_Create also smartlinked library'#010+
   '**1d<x>_Defines the symbol <x>'#010+
   '**1d<x>_Defines the symbol <x>'#010+
-  '**1D_Generate a DEF file'#010+
+  '**1D_','Generate a DEF file'#010+
   '**2Dd<x>_Set description to <x>'#010+
   '**2Dd<x>_Set description to <x>'#010+
   '**2Dv<x>_Set DLL version to <x>'#010+
   '**2Dv<x>_Set DLL version to <x>'#010+
   '*O2Dw_PM application'#010+
   '*O2Dw_PM application'#010+
   '**1e<x>_Set path to executable'#010+
   '**1e<x>_Set path to executable'#010+
   '**1E_Same as -Cn'#010+
   '**1E_Same as -Cn'#010+
   '**1fPIC_Same as -Cg'#010+
   '**1fPIC_Same as -Cg'#010+
-  '**1F<x>_Set file ','names and paths:'#010+
-  '**2Fa<x>[,y]_(for a program) load units <x> and [y] before uses is par'+
-  'sed'#010+
+  '**1F<x>_Set file names and paths:'#010+
+  '**2Fa<x>[,y]_(for a program) load',' units <x> and [y] before uses is p'+
+  'arsed'#010+
   '**2Fc<x>_Set input codepage to <x>'#010+
   '**2Fc<x>_Set input codepage to <x>'#010+
   '**2FC<x>_Set RC compiler binary name to <x>'#010+
   '**2FC<x>_Set RC compiler binary name to <x>'#010+
   '**2Fd_Disable the compiler'#039's internal directory cache'#010+
   '**2Fd_Disable the compiler'#039's internal directory cache'#010+
-  '**2FD<x>_Set the',' directory where to search for compiler utilities'#010+
+  '**2FD<x>_Set the directory where to search for compiler utilities'#010,
   '**2Fe<x>_Redirect error output to <x>'#010+
   '**2Fe<x>_Redirect error output to <x>'#010+
   '**2Ff<x>_Add <x> to framework path (Darwin only)'#010+
   '**2Ff<x>_Add <x> to framework path (Darwin only)'#010+
   '**2FE<x>_Set exe/unit output path to <x>'#010+
   '**2FE<x>_Set exe/unit output path to <x>'#010+
   '**2Fi<x>_Add <x> to include path'#010+
   '**2Fi<x>_Add <x> to include path'#010+
-  '**2Fl<x>_Add <x> to library p','ath'#010+
+  '**2Fl<x>_Add <x> to library path'#010+
   '**2FL<x>_Use <x> as dynamic linker'#010+
   '**2FL<x>_Use <x> as dynamic linker'#010+
-  '**2Fm<x>_Load unicode conversion table from <x>.txt in the compiler di'+
-  'r'#010+
+  '**2Fm<x>_Lo','ad unicode conversion table from <x>.txt in the compiler '+
+  'dir'#010+
   '**2FM<x>_Set the directory where to search for unicode binary files'#010+
   '**2FM<x>_Set the directory where to search for unicode binary files'#010+
   '**2Fo<x>_Add <x> to object path'#010+
   '**2Fo<x>_Add <x> to object path'#010+
-  '**2Fr<x>_Load error message f','ile <x>'#010+
-  '**2FR<x>_Set resource (.res) linker to <x>'#010+
+  '**2Fr<x>_Load error message file <x>'#010+
+  '**2FR<x>_Set resource (.res) linker to <x>',#010+
   '**2Fu<x>_Add <x> to unit path'#010+
   '**2Fu<x>_Add <x> to unit path'#010+
   '**2FU<x>_Set unit output path to <x>, overrides -FE'#010+
   '**2FU<x>_Set unit output path to <x>, overrides -FE'#010+
   '**2FW<x>_Store generated whole-program optimization feedback in <x>'#010+
   '**2FW<x>_Store generated whole-program optimization feedback in <x>'#010+
-  '**2Fw<x>_Load previously stored whole-p','rogram optimization feedback '+
-  'from <x>'#010+
-  '*g1g_Generate debug information (default format for target)'#010+
+  '**2Fw<x>_Load previously stored whole-program optimization feedback fr'+
+  'om <x>'#010+
+  '*g1g_Generat','e debug information (default format for target)'#010+
   '*g2gc_Generate checks for pointers (experimental, only available on so'+
   '*g2gc_Generate checks for pointers (experimental, only available on so'+
   'me targets, might generate false positive)'#010+
   'me targets, might generate false positive)'#010+
-  '*g2gh_Use heaptrace unit (for',' memory leak/corruption debugging)'#010+
-  '*g2gl_Use line info unit (show more info with backtraces)'#010+
+  '*g2gh_Use heaptrace unit (for memory leak/corruption debugging)'#010+
+  '*g2gl_Use line ','info unit (show more info with backtraces)'#010+
   '*g2go<x>_Set debug information options'#010+
   '*g2go<x>_Set debug information options'#010+
   '*g3godwarfsets_ Enable DWARF '#039'set'#039' type debug information (bre'+
   '*g3godwarfsets_ Enable DWARF '#039'set'#039' type debug information (bre'+
   'aks gdb < 6.5)'#010+
   'aks gdb < 6.5)'#010+
-  '*g3gostabsabsincludes_ Store ab','solute/full include file paths in Sta'+
-  'bs'#010+
-  '*g3godwarfmethodclassprefix_ Prefix method names in DWARF with class n'+
-  'ame'#010+
+  '*g3gostabsabsincludes_ Store absolute/full include file paths in Stabs'+
+  #010+
+  '*g3godwarf','methodclassprefix_ Prefix method names in DWARF with class'+
+  ' name'#010+
   '*g3godwarfcpp_ Simulate C++ debug information in DWARF'#010+
   '*g3godwarfcpp_ Simulate C++ debug information in DWARF'#010+
   '*g2gp_Preserve case in stabs symbol names'#010+
   '*g2gp_Preserve case in stabs symbol names'#010+
-  '*g2gs_Generate Stabs debug in','formation'#010+
-  '*g2gt_Trash local variables (to detect uninitialized uses; multiple '#039+
-  't'#039' changes the trashing value)'#010+
+  '*g2gs_Generate Stabs debug information'#010+
+  '*g2gt_Trash local variables (to detect u','ninitialized uses; multiple '+
+  #039't'#039' changes the trashing value)'#010+
   '*g2gv_Generates programs traceable with Valgrind'#010+
   '*g2gv_Generates programs traceable with Valgrind'#010+
   '*g2gw_Generate DWARFv2 debug information (same as -gw2)'#010+
   '*g2gw_Generate DWARFv2 debug information (same as -gw2)'#010+
-  '*g2gw2_Generate DWARFv2 d','ebug information'#010+
-  '*g2gw3_Generate DWARFv3 debug information'#010+
+  '*g2gw2_Generate DWARFv2 debug information'#010+
+  '*g2gw3_Generate DWARFv3 debug inf','ormation'#010+
   '*g2gw4_Generate DWARFv4 debug information (experimental)'#010+
   '*g2gw4_Generate DWARFv4 debug information (experimental)'#010+
   '**1i_Information'#010+
   '**1i_Information'#010+
   '**2iD_Return compiler date'#010+
   '**2iD_Return compiler date'#010+
   '**2iSO_Return compiler OS'#010+
   '**2iSO_Return compiler OS'#010+
   '**2iSP_Return compiler host processor'#010+
   '**2iSP_Return compiler host processor'#010+
-  '**2iTO_Return ta','rget OS'#010+
+  '**2iTO_Return target OS'#010+
   '**2iTP_Return target processor'#010+
   '**2iTP_Return target processor'#010+
-  '**2iV_Return short compiler version'#010+
+  '**2iV_Retur','n short compiler version'#010+
   '**2iW_Return full compiler version'#010+
   '**2iW_Return full compiler version'#010+
   '**2ia_Return list of supported ABI targets'#010+
   '**2ia_Return list of supported ABI targets'#010+
   '**2ic_Return list of supported CPU instruction sets'#010+
   '**2ic_Return list of supported CPU instruction sets'#010+
-  '**2if_Return list of supported FPU ','instruction sets'#010+
-  '**2ii_Return list of supported inline assembler modes'#010+
+  '**2if_Return list of supported FPU instruction sets'#010+
+  '**2ii_Return list of supported in','line assembler modes'#010+
   '**2io_Return list of supported optimizations'#010+
   '**2io_Return list of supported optimizations'#010+
   '**2ir_Return list of recognized compiler and RTL features'#010+
   '**2ir_Return list of recognized compiler and RTL features'#010+
   '**2it_Return list of supported targets'#010+
   '**2it_Return list of supported targets'#010+
-  '**2iu_Return list of suppor','ted microcontroller types'#010+
-  '**2iw_Return list of supported whole program optimizations'#010+
+  '**2iu_Return list of supported microcontroller types'#010+
+  '**2iw_Return list of sup','ported whole program optimizations'#010+
   '**1I<x>_Add <x> to include path'#010+
   '**1I<x>_Add <x> to include path'#010+
   '**1k<x>_Pass <x> to the linker'#010+
   '**1k<x>_Pass <x> to the linker'#010+
   '**1l_Write logo'#010+
   '**1l_Write logo'#010+
   '**1M<x>_Set language mode to <x>'#010+
   '**1M<x>_Set language mode to <x>'#010+
   '**2Mfpc_Free Pascal dialect (default)'#010+
   '**2Mfpc_Free Pascal dialect (default)'#010+
-  '**2Mo','bjfpc_FPC mode with Object Pascal support'#010+
-  '**2Mdelphi_Delphi 7 compatibility mode'#010+
+  '**2Mobjfpc_FPC mode with Object Pascal support'#010+
+  '**2Mdelp','hi_Delphi 7 compatibility mode'#010+
   '**2Mtp_TP/BP 7.0 compatibility mode'#010+
   '**2Mtp_TP/BP 7.0 compatibility mode'#010+
   '**2Mmacpas_Macintosh Pascal dialects compatibility mode'#010+
   '**2Mmacpas_Macintosh Pascal dialects compatibility mode'#010+
   '**2Miso_ISO 7185 mode'#010+
   '**2Miso_ISO 7185 mode'#010+
   '**2Mextendedpascal_ISO 10206 mode'#010+
   '**2Mextendedpascal_ISO 10206 mode'#010+
-  '**2Mdelphiu','nicode_Delphi 2009 and later compatibility mode'#010+
-  '**1n_Do not read the default config files'#010+
+  '**2Mdelphiunicode_Delphi 2009 and later compatibility mode'#010+
+  '**','1n_Do not read the default config files'#010+
   '**1o<x>_Change the name of the executable produced to <x>'#010+
   '**1o<x>_Change the name of the executable produced to <x>'#010+
   '**1O<x>_Optimizations:'#010+
   '**1O<x>_Optimizations:'#010+
   '**2O-_Disable optimizations'#010+
   '**2O-_Disable optimizations'#010+
-  '**2O1_Level 1 optimizations (quick and de','bugger friendly)'#010+
-  '**2O2_Level 2 optimizations (-O1 + quick optimizations)'#010+
+  '**2O1_Level 1 optimizations (quick and debugger friendly)'#010+
+  '**2O2_Level 2 optimizations (-O1 ','+ quick optimizations)'#010+
   '**2O3_Level 3 optimizations (-O2 + slow optimizations)'#010+
   '**2O3_Level 3 optimizations (-O2 + slow optimizations)'#010+
   '**2O4_Level 4 optimizations (-O3 + optimizations which might have unex'+
   '**2O4_Level 4 optimizations (-O3 + optimizations which might have unex'+
   'pected side effects)'#010+
   'pected side effects)'#010+
-  '**2Oa<x>=<y>_Set alig','nment'#010+
-  '**2Oo[NO]<x>_Enable or disable optimizations; see fpc -i or fpc -io fo'+
-  'r possible values'#010+
+  '**2Oa<x>=<y>_Set alignment'#010+
+  '**2Oo[NO]<x>_Enable or disable optimizations','; see fpc -i or fpc -io '+
+  'for possible values'#010+
   '**2Op<x>_Set target cpu for optimizing; see fpc -i or fpc -ic for poss'+
   '**2Op<x>_Set target cpu for optimizing; see fpc -i or fpc -ic for poss'+
   'ible values'#010+
   'ible values'#010+
-  '**2OW<x>_Generate whole-program optimization feedback for optimi','zati'+
-  'on <x>; see fpc -i or fpc -iw for possible values'#010+
+  '**2OW<x>_Generate whole-program optimization feedback for optimization'+
+  ' <x>; see fpc -i or fpc -iw for possible val','ues'#010+
   '**2Ow<x>_Perform whole-program optimization <x>; see fpc -i or fpc -iw'+
   '**2Ow<x>_Perform whole-program optimization <x>; see fpc -i or fpc -iw'+
   ' for possible values'#010+
   ' for possible values'#010+
   '**2Os_Optimize for size rather than speed'#010+
   '**2Os_Optimize for size rather than speed'#010+
-  '**1pg_Generate profile code for gprof (defines FPC_PR','OFILE)'#010+
-  'F*1P<x>_Target CPU / compiler related options:'#010+
+  '**1pg_Generate profile code for gprof (defines FPC_PROFILE)'#010+
+  'F*1P<x>_Target CPU / compiler related optio','ns:'#010+
   'F*2PB_Show default compiler binary'#010+
   'F*2PB_Show default compiler binary'#010+
   'F*2PP_Show default target cpu'#010+
   'F*2PP_Show default target cpu'#010+
   'F*2P<x>_Set target CPU (aarch64,arm,avr,i386,i8086,jvm,m68k,mips,mipse'+
   'F*2P<x>_Set target CPU (aarch64,arm,avr,i386,i8086,jvm,m68k,mips,mipse'+
   'l,powerpc,powerpc64,sparc,x86_64)'#010+
   'l,powerpc,powerpc64,sparc,x86_64)'#010+
-  '**1R<x>_Assembler',' reading style:'#010+
-  '**2Rdefault_Use default assembler for target'#010+
+  '**1R<x>_Assembler reading style:'#010+
+  '**2Rdefault_Use default assembler ','for target'#010+
   '3*2Ratt_Read AT&T style assembler'#010+
   '3*2Ratt_Read AT&T style assembler'#010+
   '3*2Rintel_Read Intel style assembler'#010+
   '3*2Rintel_Read Intel style assembler'#010+
   '4*2Ratt_Read AT&T style assembler'#010+
   '4*2Ratt_Read AT&T style assembler'#010+
   '4*2Rintel_Read Intel style assembler'#010+
   '4*2Rintel_Read Intel style assembler'#010+
   '8*2Ratt_Read AT&T style assembler'#010+
   '8*2Ratt_Read AT&T style assembler'#010+
-  '8*2','Rintel_Read Intel style assembler'#010+
-  '6*2RMOT_Read Motorola style assembler'#010+
+  '8*2Rintel_Read Intel style assembler'#010+
+  '6*2RMOT_Read Mot','orola style assembler'#010+
   '**1S<x>_Syntax options:'#010+
   '**1S<x>_Syntax options:'#010+
   '**2S2_Same as -Mobjfpc'#010+
   '**2S2_Same as -Mobjfpc'#010+
   '**2Sc_Support operators like C (*=,+=,/= and -=)'#010+
   '**2Sc_Support operators like C (*=,+=,/= and -=)'#010+
   '**2Sa_Turn on assertions'#010+
   '**2Sa_Turn on assertions'#010+
   '**2Sd_Same as -Mdelphi'#010+
   '**2Sd_Same as -Mdelphi'#010+
-  '**2Se<x>_Error options. ','<x> is a combination of the following:'#010+
-  '**3*_<n> : Compiler halts after the <n> errors (default is 1)'#010+
+  '**2Se<x>_Error options. <x> is a combination of the following:'#010+
+  '**3*_<n> : ','Compiler halts after the <n> errors (default is 1)'#010+
   '**3*_w : Compiler also halts after warnings'#010+
   '**3*_w : Compiler also halts after warnings'#010+
   '**3*_n : Compiler also halts after notes'#010+
   '**3*_n : Compiler also halts after notes'#010+
   '**3*_h : Compiler also halts after hints'#010+
   '**3*_h : Compiler also halts after hints'#010+
-  '**2Sf_Enable ','certain features in compiler and RTL; see fpc -i or fpc'+
+  '**2Sf_Enable certain features in compiler and RTL; see fpc -i o','r fpc'+
   ' -ir for possible values)'#010+
   ' -ir for possible values)'#010+
   '**2Sg_Enable LABEL and GOTO (default in -Mtp and -Mdelphi)'#010+
   '**2Sg_Enable LABEL and GOTO (default in -Mtp and -Mdelphi)'#010+
   '**2Sh_Use reference counted strings (ansistring by default) instead of'+
   '**2Sh_Use reference counted strings (ansistring by default) instead of'+
   ' shortstrings'#010+
   ' shortstrings'#010+
-  '**2Si_Turn on in','lining of procedures/functions declared as "inline"'#010+
+  '**2Si_Turn on inlining of procedures/functions declared as "inline','"'#010+
   '**2Sk_Load fpcylix unit'#010+
   '**2Sk_Load fpcylix unit'#010+
   '**2SI<x>_Set interface style to <x>'#010+
   '**2SI<x>_Set interface style to <x>'#010+
   '**3SIcom_COM compatible interface (default)'#010+
   '**3SIcom_COM compatible interface (default)'#010+
   '**3SIcorba_CORBA compatible interface'#010+
   '**3SIcorba_CORBA compatible interface'#010+
   '**2Sm_Support macros like C (global)'#010+
   '**2Sm_Support macros like C (global)'#010+
-  '**2So_Sam','e as -Mtp'#010+
-  '**2Sr_Transparent file names in ISO mode'#010+
+  '**2So_Same as -Mtp'#010+
+  '**2Sr_Transparent file names in ISO mode',#010+
   '**2Ss_Constructor name must be init (destructor must be done)'#010+
   '**2Ss_Constructor name must be init (destructor must be done)'#010+
   '**2Sv_Support vector processing (use CPU vector extensions if availabl'+
   '**2Sv_Support vector processing (use CPU vector extensions if availabl'+
   'e)'#010+
   'e)'#010+
-  '**2Sx_Enable exception keywords (default in Delphi/Obj','FPC modes)'#010+
-  '**2Sy_@<pointer> returns a typed pointer, same as $T+'#010+
+  '**2Sx_Enable exception keywords (default in Delphi/ObjFPC modes)'#010+
+  '**2Sy_@<pointer> returns a typed pointe','r, same as $T+'#010+
   '**1s_Do not call assembler and linker'#010+
   '**1s_Do not call assembler and linker'#010+
   '**2sh_Generate script to link on host'#010+
   '**2sh_Generate script to link on host'#010+
   '**2st_Generate script to link on target'#010+
   '**2st_Generate script to link on target'#010+
   '**2sr_Skip register allocation phase (use with -alr)'#010+
   '**2sr_Skip register allocation phase (use with -alr)'#010+
-  '**1T<x','>_Target operating system:'#010+
+  '**1T<x>_Target operating system:'#010+
   '3*2Tandroid_Android'#010+
   '3*2Tandroid_Android'#010+
-  '3*2Taros_AROS'#010+
+  '3*2','Taros_AROS'#010+
   '3*2Tbeos_BeOS'#010+
   '3*2Tbeos_BeOS'#010+
   '3*2Tdarwin_Darwin/Mac OS X'#010+
   '3*2Tdarwin_Darwin/Mac OS X'#010+
   '3*2Tembedded_Embedded'#010+
   '3*2Tembedded_Embedded'#010+
   '3*2Temx_OS/2 via EMX (including EMX/RSX extender)'#010+
   '3*2Temx_OS/2 via EMX (including EMX/RSX extender)'#010+
   '3*2Tfreebsd_FreeBSD'#010+
   '3*2Tfreebsd_FreeBSD'#010+
-  '3*2Tgo32v2_Version 2 of DJ Delorie DOS extende','r'#010+
+  '3*2Tgo32v2_Version 2 of DJ Delorie DOS extender'#010+
   '3*2Thaiku_Haiku'#010+
   '3*2Thaiku_Haiku'#010+
-  '3*2Tiphonesim_ iPhoneSimulator from iOS SDK 3.2+ (older versions: -Tda'+
-  'rwin)'#010+
+  '3*2Tiphonesim_ iPhoneSimulator f','rom iOS SDK 3.2+ (older versions: -T'+
+  'darwin)'#010+
   '3*2Tlinux_Linux'#010+
   '3*2Tlinux_Linux'#010+
   '3*2Tnativent_Native NT API (experimental)'#010+
   '3*2Tnativent_Native NT API (experimental)'#010+
   '3*2Tnetbsd_NetBSD'#010+
   '3*2Tnetbsd_NetBSD'#010+
   '3*2Tnetware_Novell Netware Module (clib)'#010+
   '3*2Tnetware_Novell Netware Module (clib)'#010+
-  '3*2Tnetwlibc_Novell Netware M','odule (libc)'#010+
+  '3*2Tnetwlibc_Novell Netware Module (libc)'#010+
   '3*2Topenbsd_OpenBSD'#010+
   '3*2Topenbsd_OpenBSD'#010+
-  '3*2Tos2_OS/2 / eComStation'#010+
+  '3*2Tos2_OS/2 / eC','omStation'#010+
   '3*2Tsunos_SunOS/Solaris'#010+
   '3*2Tsunos_SunOS/Solaris'#010+
   '3*2Tsymbian_Symbian OS'#010+
   '3*2Tsymbian_Symbian OS'#010+
   '3*2Tsolaris_Solaris'#010+
   '3*2Tsolaris_Solaris'#010+
   '3*2Twatcom_Watcom compatible DOS extender'#010+
   '3*2Twatcom_Watcom compatible DOS extender'#010+
   '3*2Twdosx_WDOSX DOS extender'#010+
   '3*2Twdosx_WDOSX DOS extender'#010+
   '3*2Twin32_Windows 32 Bit'#010+
   '3*2Twin32_Windows 32 Bit'#010+
-  '3*2Twince_Windows',' CE'#010+
+  '3*2Twince_Windows CE'#010+
   '4*2Tdarwin_Darwin/Mac OS X'#010+
   '4*2Tdarwin_Darwin/Mac OS X'#010+
-  '4*2Tfreebsd_FreeBSD'#010+
+  '4*2Tfreebsd_FreeBSD',#010+
   '4*2Tiphonesim_ iPhoneSimulator'#010+
   '4*2Tiphonesim_ iPhoneSimulator'#010+
   '4*2Tlinux_Linux'#010+
   '4*2Tlinux_Linux'#010+
   '4*2Tnetbsd_NetBSD'#010+
   '4*2Tnetbsd_NetBSD'#010+
@@ -1646,10 +1649,10 @@ const msgtxt : array[0..000328,1..240] of char=(
   '4*2Tsolaris_Solaris'#010+
   '4*2Tsolaris_Solaris'#010+
   '4*2Twin64_Win64 (64 bit Windows systems)'#010+
   '4*2Twin64_Win64 (64 bit Windows systems)'#010+
   '6*2Tamiga_Commodore Amiga'#010+
   '6*2Tamiga_Commodore Amiga'#010+
-  '6*2Tatari_Atari S','T/STe/TT'#010+
+  '6*2Tatari_Atari ST/STe/TT'#010+
   '6*2Tlinux_Linux'#010+
   '6*2Tlinux_Linux'#010+
   '6*2Tpalmos_PalmOS'#010+
   '6*2Tpalmos_PalmOS'#010+
-  '8*2Tmsdos_MS-DOS (and compatible)'#010+
+  '8*2Tmsd','os_MS-DOS (and compatible)'#010+
   'a*2Tdarwin_Darwin/iOS'#010+
   'a*2Tdarwin_Darwin/iOS'#010+
   'A*2Tandroid_Android'#010+
   'A*2Tandroid_Android'#010+
   'A*2Tdarwin_Darwin/iPhoneOS/iOS'#010+
   'A*2Tdarwin_Darwin/iPhoneOS/iOS'#010+
@@ -1657,9 +1660,9 @@ const msgtxt : array[0..000328,1..240] of char=(
   'A*2Tgba_Game Boy Advance'#010+
   'A*2Tgba_Game Boy Advance'#010+
   'A*2Tlinux_Linux'#010+
   'A*2Tlinux_Linux'#010+
   'A*2Tnds_Nintendo DS'#010+
   'A*2Tnds_Nintendo DS'#010+
-  'A*2Tsym','bian_Symbian'#010+
+  'A*2Tsymbian_Symbian'#010+
   'A*2Twince_Windows CE'#010+
   'A*2Twince_Windows CE'#010+
-  'J*2Tandroid_Android'#010+
+  'J*2Tandroid_Andr','oid'#010+
   'J*2Tjava_Java'#010+
   'J*2Tjava_Java'#010+
   'm*2Tembedded_Embedded'#010+
   'm*2Tembedded_Embedded'#010+
   'm*2Tlinux_Linux'#010+
   'm*2Tlinux_Linux'#010+
@@ -1670,9 +1673,9 @@ const msgtxt : array[0..000328,1..240] of char=(
   'P*2Tamiga_AmigaOS'#010+
   'P*2Tamiga_AmigaOS'#010+
   'P*2Tdarwin_Darwin/Mac OS X'#010+
   'P*2Tdarwin_Darwin/Mac OS X'#010+
   'P*2Tlinux_Linux'#010+
   'P*2Tlinux_Linux'#010+
-  'P*2','Tmacos_Mac OS (classic)'#010+
+  'P*2Tmacos_Mac OS (classic)'#010+
   'P*2Tmorphos_MorphOS'#010+
   'P*2Tmorphos_MorphOS'#010+
-  'P*2Tnetbsd_NetBSD'#010+
+  'P*2Tne','tbsd_NetBSD'#010+
   'P*2Twii_Wii'#010+
   'P*2Twii_Wii'#010+
   'p*2Taix_AIX'#010+
   'p*2Taix_AIX'#010+
   'p*2Tdarwin_Darwin/Mac OS X'#010+
   'p*2Tdarwin_Darwin/Mac OS X'#010+
@@ -1682,142 +1685,142 @@ const msgtxt : array[0..000328,1..240] of char=(
   'V*2Tembedded_Embedded'#010+
   'V*2Tembedded_Embedded'#010+
   '**1u<x>_Undefines the symbol <x>'#010+
   '**1u<x>_Undefines the symbol <x>'#010+
   '**1U_Unit options:'#010+
   '**1U_Unit options:'#010+
-  '*','*2Un_Do not check where the unit name matches the file name'#010+
+  '**2Un_Do not check where the unit name matches the ','file name'#010+
   '**2Ur_Generate release unit files (never automatically recompiled)'#010+
   '**2Ur_Generate release unit files (never automatically recompiled)'#010+
   '**2Us_Compile a system unit'#010+
   '**2Us_Compile a system unit'#010+
   '**1v<x>_Be verbose. <x> is a combination of the following letters:'#010+
   '**1v<x>_Be verbose. <x> is a combination of the following letters:'#010+
-  '**2*_e : Show erro','rs (default)       0 : Show nothing (except errors'+
-  ')'#010+
+  '**2*_e : Show errors (default)       0 : Show nothing (except errors',')'+
+  #010+
   '**2*_w : Show warnings               u : Show unit info'#010+
   '**2*_w : Show warnings               u : Show unit info'#010+
   '**2*_n : Show notes                  t : Show tried/used files'#010+
   '**2*_n : Show notes                  t : Show tried/used files'#010+
   '**2*_h : Show hints                  c : Show conditionals'#010+
   '**2*_h : Show hints                  c : Show conditionals'#010+
-  '**2*_i : S','how general info           d : Show debug info'#010+
-  '**2*_l : Show linenumbers            r : Rhide/GCC compatibility mode'#010+
-  '**2*_s : Show time stamps            q : Show message numbers'#010+
-  '**2*_a : Show everything             x : Show info about invo','ked too'+
-  'ls'#010+
-  '**2*_b : Write file names messages   p : Write tree.log with parse tre'+
+  '**2*_i : Show general info           d : Show debug info'#010+
+  '**2','*_l : Show linenumbers            r : Rhide/GCC compatibility mod'+
   'e'#010+
   'e'#010+
+  '**2*_s : Show time stamps            q : Show message numbers'#010+
+  '**2*_a : Show everything             x : Show info about invoked tools'+
+  #010+
+  '**2*_b : Write file names messages   p :',' Write tree.log with parse t'+
+  'ree'#010+
   '**2*_    with full path              v : Write fpcdebug.txt with'#010+
   '**2*_    with full path              v : Write fpcdebug.txt with'#010+
   '**2*_z : Write output to stderr          lots of debugging info'#010+
   '**2*_z : Write output to stderr          lots of debugging info'#010+
-  '**2*_m<x>,<y> : Do not show m','essages numbered <x> and <y>'#010+
-  'F*1V<x>_Append '#039'-<x>'#039' to the used compiler binary name (e.g. f'+
-  'or version)'#010+
+  '**2*_m<x>,<y> : Do not show messages numbered <x> and <y>'#010+
+  'F*1V<x>_Append '#039'-<x>'#039,' to the used compiler binary name (e.g. '+
+  'for version)'#010+
   '**1W<x>_Target-specific options (targets)'#010+
   '**1W<x>_Target-specific options (targets)'#010+
   '3*2WA_Specify native type application (Windows)'#010+
   '3*2WA_Specify native type application (Windows)'#010+
-  '4*2WA_Specify native type application (Windows)',#010+
+  '4*2WA_Specify native type application (Windows)'#010+
   'A*2WA_Specify native type application (Windows)'#010+
   'A*2WA_Specify native type application (Windows)'#010+
-  '3*2Wb_Create a bundle instead of a library (Darwin)'#010+
+  '3','*2Wb_Create a bundle instead of a library (Darwin)'#010+
   'P*2Wb_Create a bundle instead of a library (Darwin)'#010+
   'P*2Wb_Create a bundle instead of a library (Darwin)'#010+
   'p*2Wb_Create a bundle instead of a library (Darwin)'#010+
   'p*2Wb_Create a bundle instead of a library (Darwin)'#010+
-  'a*2Wb_Create a bundle instead of a ','library (Darwin)'#010+
-  'A*2Wb_Create a bundle instead of a library (Darwin)'#010+
+  'a*2Wb_Create a bundle instead of a library (Darwin)'#010+
+  'A*2Wb_Create a bundle instead of ','a library (Darwin)'#010+
   '4*2Wb_Create a bundle instead of a library (Darwin)'#010+
   '4*2Wb_Create a bundle instead of a library (Darwin)'#010+
   '3*2WB_Create a relocatable image (Windows, Symbian)'#010+
   '3*2WB_Create a relocatable image (Windows, Symbian)'#010+
   '3*2WB<x>_Set image base to <x> (Windows, Symbian)'#010+
   '3*2WB<x>_Set image base to <x> (Windows, Symbian)'#010+
-  '4*2WB_Create a re','locatable image (Windows)'#010+
-  '4*2WB<x>_Set image base to <x> (Windows)'#010+
+  '4*2WB_Create a relocatable image (Windows)'#010+
+  '4*2WB<x>_Set image base ','to <x> (Windows)'#010+
   'A*2WB_Create a relocatable image (Windows, Symbian)'#010+
   'A*2WB_Create a relocatable image (Windows, Symbian)'#010+
   'A*2WB<x>_Set image base to <x> (Windows, Symbian)'#010+
   'A*2WB<x>_Set image base to <x> (Windows, Symbian)'#010+
   '3*2WC_Specify console type application (EMX, OS/2, Windows)'#010+
   '3*2WC_Specify console type application (EMX, OS/2, Windows)'#010+
-  '4*2WC_Speci','fy console type application (Windows)'#010+
-  'A*2WC_Specify console type application (Windows)'#010+
+  '4*2WC_Specify console type application (Windows)'#010+
+  'A*2WC_Specif','y console type application (Windows)'#010+
   'P*2WC_Specify console type application (Classic Mac OS)'#010+
   'P*2WC_Specify console type application (Classic Mac OS)'#010+
   '3*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+
   '3*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+
-  '4*2WD_Use DEFFILE to export functio','ns of DLL or EXE (Windows)'#010+
-  'A*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+
+  '4*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+
+  'A*2WD_Use DEFFILE to ex','port functions of DLL or EXE (Windows)'#010+
   '3*2We_Use external resources (Darwin)'#010+
   '3*2We_Use external resources (Darwin)'#010+
   '4*2We_Use external resources (Darwin)'#010+
   '4*2We_Use external resources (Darwin)'#010+
   'a*2We_Use external resources (Darwin)'#010+
   'a*2We_Use external resources (Darwin)'#010+
-  'A*2We_Use external resources (Darwin)',#010+
+  'A*2We_Use external resources (Darwin)'#010+
   'P*2We_Use external resources (Darwin)'#010+
   'P*2We_Use external resources (Darwin)'#010+
-  'p*2We_Use external resources (Darwin)'#010+
+  'p*2We_Use e','xternal resources (Darwin)'#010+
   '3*2WF_Specify full-screen type application (EMX, OS/2)'#010+
   '3*2WF_Specify full-screen type application (EMX, OS/2)'#010+
   '3*2WG_Specify graphic type application (EMX, OS/2, Windows)'#010+
   '3*2WG_Specify graphic type application (EMX, OS/2, Windows)'#010+
-  '4*2WG_Specify graphic type application (Windows)',#010+
-  'A*2WG_Specify graphic type application (Windows)'#010+
+  '4*2WG_Specify graphic type application (Windows)'#010+
+  'A*2WG_Specify graphic type application (Windows)'#010,
   'P*2WG_Specify graphic type application (Classic Mac OS)'#010+
   'P*2WG_Specify graphic type application (Classic Mac OS)'#010+
   '3*2Wi_Use internal resources (Darwin)'#010+
   '3*2Wi_Use internal resources (Darwin)'#010+
   '4*2Wi_Use internal resources (Darwin)'#010+
   '4*2Wi_Use internal resources (Darwin)'#010+
   'a*2Wi_Use internal resources (Darwin)'#010+
   'a*2Wi_Use internal resources (Darwin)'#010+
-  'A*2Wi_Use internal r','esources (Darwin)'#010+
-  'P*2Wi_Use internal resources (Darwin)'#010+
+  'A*2Wi_Use internal resources (Darwin)'#010+
+  'P*2Wi_Use internal resources (Da','rwin)'#010+
   'p*2Wi_Use internal resources (Darwin)'#010+
   'p*2Wi_Use internal resources (Darwin)'#010+
   '3*2WI_Turn on/off the usage of import sections (Windows)'#010+
   '3*2WI_Turn on/off the usage of import sections (Windows)'#010+
   '4*2WI_Turn on/off the usage of import sections (Windows)'#010+
   '4*2WI_Turn on/off the usage of import sections (Windows)'#010+
-  'A*2WI_Turn on/off the usage of i','mport sections (Windows)'#010+
-  '8*2Wm<x>_Set memory model'#010+
+  'A*2WI_Turn on/off the usage of import sections (Windows)'#010+
+  '8*2Wm<x>_Set memory model',#010+
   '8*3WmTiny_Tiny memory model'#010+
   '8*3WmTiny_Tiny memory model'#010+
   '8*3WmSmall_Small memory model (default)'#010+
   '8*3WmSmall_Small memory model (default)'#010+
   '8*3WmMedium_Medium memory model'#010+
   '8*3WmMedium_Medium memory model'#010+
   '8*3WmCompact_Compact memory model'#010+
   '8*3WmCompact_Compact memory model'#010+
   '8*3WmLarge_Large memory model'#010+
   '8*3WmLarge_Large memory model'#010+
-  '8*3WmHuge_Huge memory mod','el'#010+
-  '3*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwi'+
-  'n)'#010+
+  '8*3WmHuge_Huge memory model'#010+
+  '3*2WM<x>_Minimum Mac OS X deployment version: 1','0.4, 10.5.1, ... (Dar'+
+  'win)'#010+
   '4*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwi'+
   '4*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwi'+
   'n)'#010+
   'n)'#010+
   'p*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwi'+
   'p*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwi'+
   'n)'#010+
   'n)'#010+
-  'P*2WM<x>_Minimum M','ac OS X deployment version: 10.4, 10.5.1, ... (Dar'+
-  'win)'#010+
+  'P*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Dar','w'+
+  'in)'#010+
   '3*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+
   '3*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+
   '4*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+
   '4*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+
-  'A*2WN_Do not generate relocation code, needed',' for debugging (Windows'+
-  ')'#010+
-  'A*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possib'+
-  'le values'#010+
+  'A*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+
+  'A*2Wp<x>_Specify the cont','roller type; see fpc -i or fpc -iu for poss'+
+  'ible values'#010+
   'm*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possib'+
   'm*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possib'+
   'le values'#010+
   'le values'#010+
-  'V*2Wp<x>_Specify the controller type; see fpc -i or fpc',' -iu for poss'+
-  'ible values'#010+
-  '3*2WP<x>_Minimum iOS deployment version: 3.0, 5.0.1, ... (iphonesim)'#010+
+  'V*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possib'+
+  'le values'#010+
+  '3*2WP<x>_Minimum iOS depl','oyment version: 3.0, 5.0.1, ... (iphonesim)'+
+  #010+
   '4*2WP<x>_Minimum iOS deployment version: 8.0, 8.0.2, ... (iphonesim)'#010+
   '4*2WP<x>_Minimum iOS deployment version: 8.0, 8.0.2, ... (iphonesim)'#010+
   'a*2WP<x>_Minimum iOS deployment version: 7.0, 7.1.2, ... (Darwin)'#010+
   'a*2WP<x>_Minimum iOS deployment version: 7.0, 7.1.2, ... (Darwin)'#010+
-  'A*2WP<x>_Mi','nimum iOS deployment version: 3.0, 5.0.1, ... (Darwin)'#010+
+  'A*2WP<x>_Minimum iOS deployment version: 3.0, 5.0.1, ... (Dar','win)'#010+
   '3*2WR_Generate relocation code (Windows)'#010+
   '3*2WR_Generate relocation code (Windows)'#010+
   '4*2WR_Generate relocation code (Windows)'#010+
   '4*2WR_Generate relocation code (Windows)'#010+
   'A*2WR_Generate relocation code (Windows)'#010+
   'A*2WR_Generate relocation code (Windows)'#010+
   '8*2Wt<x>_Set the target executable format'#010+
   '8*2Wt<x>_Set the target executable format'#010+
-  '8*3Wtexe_Create a DO','S .EXE file (default)'#010+
-  '8*3Wtcom_Create a DOS .COM file (requires tiny memory model)'#010+
+  '8*3Wtexe_Create a DOS .EXE file (default)'#010+
+  '8*3Wtcom_Create a DOS .COM f','ile (requires tiny memory model)'#010+
   'P*2WT_Specify MPW tool type application (Classic Mac OS)'#010+
   'P*2WT_Specify MPW tool type application (Classic Mac OS)'#010+
   '**2WX_Enable executable stack (Linux)'#010+
   '**2WX_Enable executable stack (Linux)'#010+
   '**1X_Executable options:'#010+
   '**1X_Executable options:'#010+
-  '**2X9_Generate linkerscript for GNU B','inutils ld older than version 2'+
-  '.19.1 (Linux)'#010+
-  '**2Xc_Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Lin'+
-  'ux)'#010+
+  '**2X9_Generate linkerscript for GNU Binutils ld older than version 2.1'+
+  '9.1 (Linux)'#010+
+  '**2Xc','_Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, L'+
+  'inux)'#010+
   '**2Xd_Do not search default library path (sometimes required for cross'+
   '**2Xd_Do not search default library path (sometimes required for cross'+
   '-compiling when not using -XR)'#010+
   '-compiling when not using -XR)'#010+
-  '**2Xe_Use external l','inker'#010+
-  '**2Xf_Substitute pthread library name for linking (BSD)'#010+
+  '**2Xe_Use external linker'#010+
+  '**2Xf_Substitute pthread library name for li','nking (BSD)'#010+
   '**2Xg_Create debuginfo in a separate file and add a debuglink section '+
   '**2Xg_Create debuginfo in a separate file and add a debuglink section '+
   'to executable'#010+
   'to executable'#010+
   '**2XD_Try to link units dynamically      (defines FPC_LINK_DYNAMIC)'#010+
   '**2XD_Try to link units dynamically      (defines FPC_LINK_DYNAMIC)'#010+
-  '**2Xi_Use internal linker'#010,
+  '**2Xi_Use internal linker'#010+
   '**2XLA_Define library substitutions for linking'#010+
   '**2XLA_Define library substitutions for linking'#010+
-  '**2XLO_Define order of library linking'#010+
+  '**','2XLO_Define order of library linking'#010+
   '**2XLD_Exclude default order of standard libraries'#010+
   '**2XLD_Exclude default order of standard libraries'#010+
   '**2Xm_Generate link map'#010+
   '**2Xm_Generate link map'#010+
   '**2XM<x>_Set the name of the '#039'main'#039' program routine (default i'+
   '**2XM<x>_Set the name of the '#039'main'#039' program routine (default i'+
   's '#039'main'#039')'#010+
   's '#039'main'#039')'#010+
-  '**2Xn_','Use target system native linker instead of GNU ld (Solaris, AI'+
+  '**2Xn_Use target system native linker instead of GNU ld ','(Solaris, AI'+
   'X)'#010+
   'X)'#010+
   'F*2Xp<x>_First search for the compiler binary in the directory <x>'#010+
   'F*2Xp<x>_First search for the compiler binary in the directory <x>'#010+
   '**2XP<x>_Prepend the binutils names with the prefix <x>'#010+
   '**2XP<x>_Prepend the binutils names with the prefix <x>'#010+
-  '**2Xr<x>_Set the linker'#039's rlink-path to <x> (needed ','for cross co'+
-  'mpile, see the ld manual for more information) (BeOS, Linux)'#010+
+  '**2Xr<x>_Set the linker'#039's rlink-path to <x> (needed for cross comp'+
+  'ile, see the ld manual for more info','rmation) (BeOS, Linux)'#010+
   '**2XR<x>_Prepend <x> to all linker search paths (BeOS, Darwin, FreeBSD'+
   '**2XR<x>_Prepend <x> to all linker search paths (BeOS, Darwin, FreeBSD'+
   ', Linux, Mac OS, Solaris)'#010+
   ', Linux, Mac OS, Solaris)'#010+
   '**2Xs_Strip all symbols from executable'#010+
   '**2Xs_Strip all symbols from executable'#010+
-  '**2XS_Try to link units statica','lly (default, defines FPC_LINK_STATIC'+
-  ')'#010+
-  '**2Xt_Link with static libraries (-static is passed to linker)'#010+
+  '**2XS_Try to link units statically (default, defines FPC_LINK_STATIC)'#010+
+  '**2Xt_Link ','with static libraries (-static is passed to linker)'#010+
   '**2Xv_Generate table for Virtual Entry calls'#010+
   '**2Xv_Generate table for Virtual Entry calls'#010+
   '**2XV_Use VLink as external linker       (default on Amiga, MorphOS)'#010+
   '**2XV_Use VLink as external linker       (default on Amiga, MorphOS)'#010+
-  '**2XX_Try to smartlink u','nits             (defines FPC_LINK_SMART)'#010+
+  '**2XX_Try to smartlink units             (defines FPC_LINK_SMART)'#010+
   '**1*_'#010+
   '**1*_'#010+
-  '**1?_Show this help'#010+
+  '**','1?_Show this help'#010+
   '**1h_Shows this help without waiting'
   '**1h_Shows this help without waiting'
 );
 );

+ 4 - 1
compiler/nobj.pas

@@ -833,12 +833,15 @@ implementation
           odt_class:
           odt_class:
             begin
             begin
               systemvmt:=search_system_type('TVMT').typedef;
               systemvmt:=search_system_type('TVMT').typedef;
+              if not assigned(systemvmt) then
+                Message1(cg_f_internal_type_not_found,'TVMT');
+
               { does the TVMT type look like we expect? (so that this code is
               { does the TVMT type look like we expect? (so that this code is
                 easily triggered in case the definition of the VMT would
                 easily triggered in case the definition of the VMT would
                 change) }
                 change) }
               if (systemvmt.typ<>recorddef) or
               if (systemvmt.typ<>recorddef) or
                  (trecorddef(systemvmt).symtable.SymList.count<>27) then
                  (trecorddef(systemvmt).symtable.SymList.count<>27) then
-                internalerror(2015052601);
+                Message1(cg_f_internal_type_does_not_match,'TVMT');
               { system.tvmt is a record that represents the VMT of TObject,
               { system.tvmt is a record that represents the VMT of TObject,
                 including its virtual methods. We only want the non-method
                 including its virtual methods. We only want the non-method
                 fields, as the methods will be added automatically based on
                 fields, as the methods will be added automatically based on

+ 11 - 0
compiler/psub.pas

@@ -1825,6 +1825,17 @@ implementation
 
 
          current_procinfo:=self;
          current_procinfo:=self;
          current_structdef:=procdef.struct;
          current_structdef:=procdef.struct;
+
+
+        { check if the definitions of certain types are available which might not be available in older rtls and
+          which are assigned "on the fly" in types_dec }
+        if not assigned(rec_exceptaddr) then
+          Message1(cg_f_internal_type_not_found,'TEXCEPTADDR');
+        if not assigned(rec_tguid) then
+          Message1(cg_f_internal_type_not_found,'TGUID');
+        if not assigned(rec_jmp_buf) then
+          Message1(cg_f_internal_type_not_found,'TJMPBUF');
+
          { if the procdef is truly a generic (thus takes parameters itself) then
          { if the procdef is truly a generic (thus takes parameters itself) then
            /that/ is our genericdef, not the - potentially - generic struct }
            /that/ is our genericdef, not the - potentially - generic struct }
          if procdef.is_generic then
          if procdef.is_generic then