PageRenderTime 314ms CodeModel.GetById 35ms RepoModel.GetById 9ms app.codeStats 3ms

/compiler/msg/errore.msg

https://github.com/slibre/freepascal
Unknown | 3661 lines | 3633 code | 28 blank | 0 comment | 0 complexity | 18609f6083c110e6853ea308d7194922 MD5 | raw file
Possible License(s): LGPL-2.0, LGPL-2.1, LGPL-3.0
  1. #
  2. # This file is part of the Free Pascal Compiler
  3. # Copyright (c) 1999-2009 by the Free Pascal Development team
  4. #
  5. # English (default) Language File for Free Pascal
  6. #
  7. # See the file COPYING.v2, included in this distribution,
  8. # for details about the copyright.
  9. #
  10. # This program is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. #
  14. #
  15. # The constants are build in the following order:
  16. # <part>_<type>_<txtidentifier>
  17. #
  18. # <part> is the part of the compiler the message is used
  19. # asmr_ assembler parsing
  20. # asmw_ assembler writing/binary writers
  21. # unit_ unit handling
  22. # option_ command line parameter parsing
  23. # scan_ scanner
  24. # parser_ parser
  25. # type_ type checking
  26. # general_ general info
  27. # exec_ calls to assembler, external linker, binder
  28. # link_ internal linker
  29. #
  30. # <type> the type of the message it should normally used for
  31. # f_ fatal error
  32. # e_ error
  33. # w_ warning
  34. # n_ note
  35. # h_ hint
  36. # i_ info
  37. # l_ add linenumber
  38. # u_ used
  39. # t_ tried
  40. # c_ conditional
  41. # d_ debug message
  42. # x_ executable informations
  43. # o_ normal (e.g., "press enter to continue")
  44. #
  45. # <type> can contain a minus sign at the beginning to mark that
  46. # the message is off by default. Look at type_w_explicit_string_cast
  47. # for example.
  48. #
  49. # General
  50. #
  51. # 01023 is the last used one
  52. #
  53. # BeginOfTeX
  54. % \section{General compiler messages}
  55. % This section gives the compiler messages which are not fatal, but which
  56. % display useful information. The number of such messages can be
  57. % controlled with the various verbosity level \var{-v} switches.
  58. % \begin{description}
  59. general_t_compilername=01000_T_Compiler: $1
  60. % When the \var{-vt} switch is used, this line tells you what compiler
  61. % is used.
  62. general_d_sourceos=01001_D_Compiler OS: $1
  63. % When the \var{-vd} switch is used, this line tells you what the source
  64. % operating system is.
  65. general_i_targetos=01002_I_Target OS: $1
  66. % When the \var{-vd} switch is used, this line tells you what the target
  67. % operating system is.
  68. general_t_exepath=01003_T_Using executable path: $1
  69. % When the \var{-vt} switch is used, this line tells you where the compiler
  70. % looks for its binaries.
  71. general_t_unitpath=01004_T_Using unit path: $1
  72. % When the \var{-vt} switch is used, this line tells you where the compiler
  73. % looks for compiled units. You can set this path with the \var{-Fu} option.
  74. general_t_includepath=01005_T_Using include path: $1
  75. % When the \var{-vt} switch is used, this line tells you where the compiler
  76. % looks for its include files (files used in \var{\{\$I xxx\}} statements).
  77. % You can set this path with the \var{-Fi} option.
  78. general_t_librarypath=01006_T_Using library path: $1
  79. % When the \var{-vt} switch is used, this line tells you where the compiler
  80. % looks for the libraries. You can set this path with the \var{-Fl} option.
  81. general_t_objectpath=01007_T_Using object path: $1
  82. % When the \var{-vt} switch is used, this line tells you where the compiler
  83. % looks for object files you link in (files used in \var{\{\$L xxx\}} statements).
  84. % You can set this path with the \var{-Fo} option.
  85. general_i_abslines_compiled=01008_I_$1 lines compiled, $2 sec$3
  86. % When the \var{-vi} switch is used, the compiler reports the number
  87. % of lines compiled, and the time it took to compile them (real time,
  88. % not program time).
  89. general_f_no_memory_left=01009_F_No memory left
  90. % The compiler doesn't have enough memory to compile your program. There are
  91. % several remedies for this:
  92. % \begin{itemize}
  93. % \item If you're using the build option of the compiler, try compiling the
  94. % different units manually.
  95. % \item If you're compiling a huge program, split it up into units, and compile
  96. % these separately.
  97. % \item If the previous two don't work, recompile the compiler with a bigger
  98. % heap. (You can use the \var{-Ch} option for this, \seeo{Ch}.)
  99. % \end{itemize}
  100. general_i_writingresourcefile=01010_I_Writing Resource String Table file: $1
  101. % This message is shown when the compiler writes the Resource String Table
  102. % file containing all the resource strings for a program.
  103. general_e_errorwritingresourcefile=01011_E_Writing Resource String Table file: $1
  104. % This message is shown when the compiler encounters an error when writing
  105. % the Resource String Table file.
  106. general_i_fatal=01012_I_Fatal:
  107. % Prefix for Fatal Errors.
  108. general_i_error=01013_I_Error:
  109. % Prefix for Errors.
  110. general_i_warning=01014_I_Warning:
  111. % Prefix for Warnings.
  112. general_i_note=01015_I_Note:
  113. % Prefix for Notes.
  114. general_i_hint=01016_I_Hint:
  115. % Prefix for Hints.
  116. general_e_path_does_not_exist=01017_E_Path "$1" does not exist
  117. % The specified path does not exist.
  118. general_f_compilation_aborted=01018_F_Compilation aborted
  119. % Compilation was aborted.
  120. general_text_bytes_code=01019_bytes code
  121. % The size of the generated executable code, in bytes.
  122. general_text_bytes_data=01020_bytes data
  123. % The size of the generated program data, in bytes.
  124. general_i_number_of_warnings=01021_I_$1 warning(s) issued
  125. % Total number of warnings issued during compilation.
  126. general_i_number_of_hints=01022_I_$1 hint(s) issued
  127. % Total number of hints issued during compilation.
  128. general_i_number_of_notes=01023_I_$1 note(s) issued
  129. % Total number of notes issued during compilation.
  130. general_f_ioerror=01024_F_I/O error: $1
  131. % During compilation an I/O error happened which allows no further compilation.
  132. general_f_oserror=01025_F_Operating system error: $1
  133. % During compilation an operanting system error happened which allows no further compilation.
  134. % \end{description}
  135. #
  136. # Scanner
  137. #
  138. # 02091 is the last used one
  139. #
  140. % \section{Scanner messages.}
  141. % This section lists the messages that the scanner emits. The scanner takes
  142. % care of the lexical structure of the pascal file, i.e. it tries to find
  143. % reserved words, strings, etc. It also takes care of directives and
  144. % conditional compilation handling.
  145. % \begin{description}
  146. scan_f_end_of_file=02000_F_Unexpected end of file
  147. % This typically happens in one of the following cases:
  148. % \begin{itemize}
  149. % \item The source file ends before the final \var{end.} statement. This
  150. % happens mostly when the \var{begin} and \var{end} statements aren't
  151. % balanced;
  152. % \item An include file ends in the middle of a statement.
  153. % \item A comment was not closed.
  154. % \end{itemize}
  155. scan_f_string_exceeds_line=02001_F_String exceeds line
  156. % There is a missing closing ' in a string, so it occupies
  157. % multiple lines.
  158. scan_f_illegal_char=02002_F_illegal character "$1" ($2)
  159. % An illegal character was encountered in the input file.
  160. scan_f_syn_expected=02003_F_Syntax error, "$1" expected but "$2" found
  161. % This indicates that the compiler expected a different token than
  162. % the one you typed. It can occur almost anywhere it is possible to make an error
  163. % against the Pascal language.
  164. scan_t_start_include_file=02004_TL_Start reading includefile $1
  165. % When you provide the \var{-vt} switch, the compiler tells you
  166. % when it starts reading an included file.
  167. scan_w_comment_level=02005_W_Comment level $1 found
  168. % When the \var{-vw} switch is used, then the compiler warns you if
  169. % it finds nested comments. Nested comments are not allowed in Turbo Pascal
  170. % and Delphi, and can be a possible source of errors.
  171. scan_n_ignored_switch=02008_N_Ignored compiler switch "$1"
  172. % With \var{-vn} on, the compiler warns if it ignores a switch.
  173. scan_w_illegal_switch=02009_W_Illegal compiler switch "$1"
  174. % You included a compiler switch (i.e. \var{\{\$... \}}) which the compiler
  175. % does not recognise.
  176. scan_w_switch_is_global=02010_W_Misplaced global compiler switch
  177. % The compiler switch is misplaced, and should be located at
  178. % the start of the unit or program.
  179. scan_e_illegal_char_const=02011_E_Illegal char constant
  180. % This happens when you specify a character with its ASCII code, as in
  181. % \var{\#96}, but the number is either illegal, or out of range.
  182. scan_f_cannot_open_input=02012_F_Can't open file "$1"
  183. % \fpc cannot find the program or unit source file you specified on the
  184. % command line.
  185. scan_f_cannot_open_includefile=02013_F_Can't open include file "$1"
  186. % \fpc cannot find the source file you specified in a \var{\{\$include ..\}}
  187. % statement.
  188. scan_e_illegal_pack_records=02015_E_Illegal record alignment specifier "$1"
  189. % You are specifying \var{\{\$PACKRECORDS n\} } or \var{\{\$ALIGN n\} }
  190. % with an illegal value for \var{n}. For \$PACKRECORDS valid alignments are 1, 2, 4, 8, 16, 32, C,
  191. % NORMAL, DEFAULT, and for \$ALIGN valid alignments are 1, 2, 4, 8, 16, 32, ON,
  192. % OFF. Under mode MacPas \$ALIGN also supports MAC68K, POWER and RESET.
  193. scan_e_illegal_pack_enum=02016_E_Illegal enum minimum-size specifier "$1"
  194. % You are specifying the \var{\{\$PACKENUM n\}} with an illegal value for
  195. % \var{n}. Only 1,2,4, NORMAL or DEFAULT is valid here.
  196. scan_e_endif_expected=02017_E_$ENDIF expected for $1 $2 defined in $3 line $4
  197. % Your conditional compilation statements are unbalanced.
  198. scan_e_preproc_syntax_error=02018_E_Syntax error while parsing a conditional compiling expression
  199. % There is an error in the expression following the \var{\{\$if ..\}}, \var{\{\$ifc \}}
  200. % or \var{\{\$setc \}} compiler directives.
  201. scan_e_error_in_preproc_expr=02019_E_Evaluating a conditional compiling expression
  202. % There is an error in the expression following the \var{\{\$if ..\}}, $ifc or $setc compiler
  203. % directives.
  204. scan_w_macro_cut_after_255_chars=02020_W_Macro contents are limited to 255 characters in length
  205. % The contents of macros cannot be longer than 255 characters.
  206. scan_e_endif_without_if=02021_E_ENDIF without IF(N)DEF
  207. % Your \var{\{\$IFDEF ..\}} and {\{\$ENDIF\}} statements aren't balanced.
  208. scan_f_user_defined=02022_F_User defined: $1
  209. % A user defined fatal error occurred. See also the \progref.
  210. scan_e_user_defined=02023_E_User defined: $1
  211. % A user defined error occurred. See also the \progref.
  212. scan_w_user_defined=02024_W_User defined: $1
  213. % A user defined warning occurred. See also the \progref.
  214. scan_n_user_defined=02025_N_User defined: $1
  215. % A user defined note was encountered. See also the \progref.
  216. scan_h_user_defined=02026_H_User defined: $1
  217. % A user defined hint was encountered. See also the \progref.
  218. scan_i_user_defined=02027_I_User defined: $1
  219. % User defined information was encountered. See also the \progref.
  220. scan_e_keyword_cant_be_a_macro=02028_E_Keyword redefined as macro has no effect
  221. % You cannot redefine keywords with macros.
  222. scan_f_macro_buffer_overflow=02029_F_Macro buffer overflow while reading or expanding a macro
  223. % Your macro or its result was too long for the compiler.
  224. scan_w_macro_too_deep=02030_W_Expanding of macros exceeds a depth of 16.
  225. % When expanding a macro, macros have been nested to a level of 16.
  226. % The compiler will expand no further, since this may be a sign that
  227. % recursion is used.
  228. scan_w_wrong_styled_switch=02031_W_compiler switches aren't supported in // styled comments
  229. % Compiler switches should be in normal Pascal style comments.
  230. scan_d_handling_switch=02032_DL_Handling switch "$1"
  231. % When you set debugging info on (\var{-vd}) the compiler tells you when it
  232. % is evaluating conditional compile statements.
  233. scan_c_endif_found=02033_CL_ENDIF $1 found
  234. % When you turn on conditional messages (\var{-vc}), the compiler tells you
  235. % where it encounters conditional statements.
  236. scan_c_ifdef_found=02034_CL_IFDEF $1 found, $2
  237. % When you turn on conditional messages (\var{-vc}), the compiler tells you
  238. % where it encounters conditional statements.
  239. scan_c_ifopt_found=02035_CL_IFOPT $1 found, $2
  240. % When you turn on conditional messages (\var{-vc}), the compiler tells you
  241. % where it encounters conditional statements.
  242. scan_c_if_found=02036_CL_IF $1 found, $2
  243. % When you turn on conditional messages (\var{-vc}), the compiler tells you
  244. % where it encounters conditional statements.
  245. scan_c_ifndef_found=02037_CL_IFNDEF $1 found, $2
  246. % When you turn on conditional messages (\var{-vc}), the compiler tells you
  247. % where it encounters conditional statements.
  248. scan_c_else_found=02038_CL_ELSE $1 found, $2
  249. % When you turn on conditional messages (\var{-vc}), the compiler tells you
  250. % where it encounters conditional statements.
  251. scan_c_skipping_until=02039_CL_Skipping until...
  252. % When you turn on conditional messages (\var{-vc}), the compiler tells you
  253. % where it encounters conditional statements, and whether it is skipping or
  254. % compiling parts.
  255. scan_i_press_enter=02040_I_Press <return> to continue
  256. % When the \var{-vi} switch is used, the compiler stops compilation
  257. % and waits for the \var{Enter} key to be pressed when it encounters
  258. % a \var{\{\$STOP\}} directive.
  259. scan_w_unsupported_switch=02041_W_Unsupported switch "$1"
  260. % When warnings are turned on (\var{-vw}), the compiler warns you about
  261. % unsupported switches. This means that the switch is used in Delphi or
  262. % Turbo Pascal, but not in \fpc.
  263. scan_w_illegal_directive=02042_W_Illegal compiler directive "$1"
  264. % When warnings are turned on (\var{-vw}), the compiler warns you about
  265. % unrecognised switches. For a list of recognised switches, see the \progref.
  266. scan_t_back_in=02043_TL_Back in $1
  267. % When you use the \var{-vt} switch, the compiler tells you when it has finished
  268. % reading an include file.
  269. scan_w_unsupported_app_type=02044_W_Unsupported application type: "$1"
  270. % You get this warning if you specify an unknown application type
  271. % with the directive \var{\{\$APPTYPE\}}.
  272. scan_w_app_type_not_support=02045_W_APPTYPE is not supported by the target OS
  273. % The \var{\{\$APPTYPE\}} directive is supported by certain operating systems only.
  274. scan_w_description_not_support=02046_W_DESCRIPTION is not supported by the target OS
  275. % The \var{\{\$DESCRIPTION\}} directive is not supported on this target OS.
  276. scan_n_version_not_support=02047_N_VERSION is not supported by target OS
  277. % The \var{\{\$VERSION\}} directive is not supported on this target OS.
  278. scan_n_only_exe_version=02048_N_VERSION only for exes or DLLs
  279. % The \var{\{\$VERSION\}} directive is only used for executable or DLL sources.
  280. scan_w_wrong_version_ignored=02049_W_Wrong format for VERSION directive "$1"
  281. % The \var{\{\$VERSION\}} directive format is majorversion.minorversion
  282. % where majorversion and minorversion are words.
  283. scan_e_illegal_asmmode_specifier=02050_E_Illegal assembler style specified "$1"
  284. % When you specify an assembler mode with the \var{\{\$ASMMODE xxx\}} directive,
  285. % the compiler didn't recognize the mode you specified.
  286. scan_w_no_asm_reader_switch_inside_asm=02051_W_ASM reader switch is not possible inside asm statement, "$1" will be effective only for next
  287. % It is not possible to switch from one assembler reader to another
  288. % inside an assembler block. The new reader will be used for next
  289. % assembler statements only.
  290. scan_e_wrong_switch_toggle=02052_E_Wrong switch toggle, use ON/OFF or +/-
  291. % You need to use ON or OFF or a + or - to toggle the switch.
  292. scan_e_resourcefiles_not_supported=02053_E_Resource files are not supported for this target
  293. % The target you are compiling for doesn't support resource files.
  294. scan_w_include_env_not_found=02054_W_Include environment "$1" not found in environment
  295. % The included environment variable can't be found in the environment; it will
  296. % be replaced by an empty string instead.
  297. scan_e_invalid_maxfpureg_value=02055_E_Illegal value for FPU register limit
  298. % Valid values for this directive are 0..8 and NORMAL/DEFAULT.
  299. scan_w_only_one_resourcefile_supported=02056_W_Only one resource file is supported for this target
  300. % The target you are compiling for supports only one resource file.
  301. % The first resource file found is used, the others are discarded.
  302. scan_w_macro_support_turned_off=02057_W_Macro support has been turned off
  303. % A macro declaration has been found, but macro support is currently off,
  304. % so the declaration will be ignored. To turn macro support on compile with
  305. % -Sm on the command line or add \{\$MACRO ON\} in the source.
  306. scan_e_invalid_interface_type=02058_E_Illegal interface type specified. Valids are COM, CORBA or DEFAULT.
  307. % The interface type that was specified is not supported.
  308. scan_w_appid_not_support=02059_W_APPID is only supported for PalmOS
  309. % The \var{\{\$APPID\}} directive is only supported for the PalmOS target.
  310. scan_w_appname_not_support=02060_W_APPNAME is only supported for PalmOS
  311. % The \var{\{\$APPNAME\}} directive is only supported for the PalmOS target.
  312. scan_e_string_exceeds_255_chars=02061_E_Constant strings can't be longer than 255 chars
  313. % A single string constant can contain at most 255 chars. Try splitting up the
  314. % string into multiple smaller parts and concatenate them with a + operator.
  315. scan_f_include_deep_ten=02062_F_Including include files exceeds a depth of 16.
  316. % When including include files the files have been nested to a level of 16.
  317. % The compiler will expand no further, since this may be a sign that
  318. % recursion is used.
  319. scan_e_too_many_push=02063_F_Too many levels of PUSH
  320. % A maximum of 20 levels is allowed. This error occurs only in mode MacPas.
  321. scan_e_too_many_pop=02064_E_A POP without a preceding PUSH
  322. % This error occurs only in mode MacPas.
  323. scan_e_error_macro_lacks_value=02065_E_Macro or compile time variable "$1" does not have any value
  324. % Thus the conditional compile time expression cannot be evaluated.
  325. scan_e_wrong_switch_toggle_default=02066_E_Wrong switch toggle, use ON/OFF/DEFAULT or +/-/*
  326. % You need to use ON or OFF or DEFAULT or a + or - or * to toggle the switch.
  327. scan_e_mode_switch_not_allowed=02067_E_Mode switch "$1" not allowed here
  328. % A mode switch has already been encountered, or, in the case of option -Mmacpas,
  329. % a mode switch occurs after UNIT.
  330. scan_e_error_macro_undefined=02068_E_Compile time variable or macro "$1" is not defined.
  331. % Thus the conditional compile time expression cannot be evaluated. Only in mode MacPas.
  332. scan_e_utf8_bigger_than_65535=02069_E_UTF-8 code greater than 65535 found
  333. % \fpc handles UTF-8 strings internally as widestrings, i.e. the char codes are limited to 65535.
  334. scan_e_utf8_malformed=02070_E_Malformed UTF-8 string
  335. % The given string isn't a valid UTF-8 string.
  336. scan_c_switching_to_utf8=02071_C_UTF-8 signature found, using UTF-8 encoding
  337. % The compiler found a UTF-8 encoding signature (\$ef, \$bb, \$bf) at the beginning of a file,
  338. % so it interprets it as a UTF-8 file.
  339. scan_e_compile_time_typeerror=02072_E_Compile time expression: Wanted $1 but got $2 at $3
  340. % The type-check of a compile time expression failed.
  341. scan_n_app_type_not_support=02073_N_APPTYPE is not supported by the target OS
  342. % The \var{\{\$APPTYPE\}} directive is supported by certain operating systems only.
  343. scan_e_illegal_optimization_specifier=02074_E_Illegal optimization specified "$1"
  344. % You specified an optimization with the \var{\{\$OPTIMIZATION xxx\}} directive,
  345. % and the compiler didn't recognize the optimization you specified.
  346. scan_w_setpeflags_not_support=02075_W_SETPEFLAGS is not supported by the target OS
  347. % The \var{\{\$SETPEFLAGS\}} directive is not supported by the target OS.
  348. scan_w_imagebase_not_support=02076_W_IMAGEBASE is not supported by the target OS
  349. % The \var{\{\$IMAGEBASE\}} directive is not supported by the target OS.
  350. scan_w_minstacksize_not_support=02077_W_MINSTACKSIZE is not supported by the target OS
  351. % The \var{\{\$MINSTACKSIZE\}} directive is not supported by the target OS.
  352. scan_w_maxstacksize_not_support=02078_W_MAXSTACKSIZE is not supported by the target OS
  353. % The \var{\{\$MAXSTACKSIZE\}} directive is not supported by the target OS.
  354. scanner_e_illegal_warn_state=02079_E_Illegal state "$1" for $WARN directive
  355. % Only ON and OFF can be used as state with a \var{\{\$WARN\}} compiler directive.
  356. scan_e_only_packset=02080_E_Illegal set packing value
  357. % Only 0, 1, 2, 4, 8, DEFAULT and NORMAL are allowed as packset parameters.
  358. scan_w_pic_ignored=02081_W_PIC directive or switch ignored
  359. % Several targets, such as \windows, do not support nor need PIC,
  360. % so the PIC directive and switch are ignored.
  361. scan_w_unsupported_switch_by_target=02082_W_The switch "$1" is not supported by the currently selected target
  362. % Some compiler switches like \$E are not supported by all targets.
  363. scan_w_frameworks_darwin_only=02084_W_Framework-related options are only supported for Darwin/Mac OS X
  364. % Frameworks are not a known concept, or at least not supported by FPC,
  365. % on operating systems other than Darwin/Mac OS X.
  366. scan_e_illegal_minfpconstprec=02085_E_Illegal minimal floating point constant precision "$1"
  367. % Valid minimal precisions for floating point constants are default, 32 and 64,
  368. % which mean respectively minimal (usually 32 bit), 32 bit and 64 bit precision.
  369. scan_w_multiple_main_name_overrides=02086_W_Overriding name of "main" procedure multiple times, was previously set to "$1"
  370. % The name for the main entry procedure is specified more than once. Only the last
  371. % name will be used.
  372. scanner_w_illegal_warn_identifier=02087_W_Illegal identifier "$1" for $WARN directive
  373. % Identifier is not known by a \var{\{\$WARN\}} compiler directive.
  374. scanner_e_illegal_alignment_directive=02088_E_Illegal alignment directive
  375. % The alignment directive is not valid. Either the alignment type is not known or the alignment
  376. % value is not a power of two.
  377. scanner_f_illegal_utf8_bom=02089_F_It is not possible to include a file that starts with an UTF-8 BOM in a module that uses a different code page
  378. % All source code that is part of a single compilation entity (program, library, unit) must be encoded
  379. % in the same code page
  380. scanner_w_directive_ignored_on_target=02090_W_Directive "$1" is ignored for the the current target platform
  381. % Some directives are ignored for certain targets, such as changing the
  382. % packrecords and packenum settings on managed platforms.
  383. scan_w_unavailable_system_codepage=02091_W_Current system codepage "$1" is not available for the compiler. Switching default codepage back to "$2".
  384. % The current system codepage is not known by the compiler.
  385. % The compiler is compiled with support for several codepages built-in.
  386. % The codepage of the operation system is not in that list. You will need to recompile
  387. % the compiler with support for this codepage.
  388. scan_w_setpeoptflags_not_support=02092_W_SETPEOPTFLAGS is not supported by the target OS
  389. % The \var{\{\$SETPEOPTFLAGS\}} directive is not supported by the target OS.
  390. % \end{description}
  391. #
  392. # Parser
  393. #
  394. # 03331 is the last used one
  395. #
  396. % \section{Parser messages}
  397. % This section lists all parser messages. The parser takes care of the
  398. % semantics of you language, i.e. it determines if your Pascal constructs
  399. % are correct.
  400. % \begin{description}
  401. parser_e_syntax_error=03000_E_Parser - Syntax Error
  402. % An error against the Turbo Pascal language was encountered. This typically
  403. % happens when an illegal character is found in the source file.
  404. parser_e_dont_nest_interrupt=03004_E_INTERRUPT procedure can't be nested
  405. % An \var{INTERRUPT} procedure must be global.
  406. parser_w_proc_directive_ignored=03005_W_Procedure type "$1" ignored
  407. % The specified procedure directive is ignored by FPC programs.
  408. parser_e_no_overload_for_all_procs=03006_E_Not all declarations of "$1" are declared with OVERLOAD
  409. % When you want to use overloading using the \var{OVERLOAD} directive, then
  410. % all declarations need to have \var{OVERLOAD} specified.
  411. parser_e_export_name_double=03008_E_Duplicate exported function name "$1"
  412. % Exported function names inside a specific DLL must all be different.
  413. parser_e_export_ordinal_double=03009_E_Duplicate exported function index $1
  414. % Exported function indexes inside a specific DLL must all be different.
  415. parser_e_export_invalid_index=03010_E_Invalid index for exported function
  416. % DLL function index must be in the range \var{1..\$FFFF}.
  417. parser_w_parser_reloc_no_debug=03011_W_Relocatable DLL or executable $1 debug info does not work, disabled.
  418. % It is currently not possible to include debug information in a relocatable DLL.
  419. parser_w_parser_win32_debug_needs_WN=03012_W_To allow debugging for win32 code you need to disable relocation with -WN option
  420. % Stabs debug info is wrong for relocatable DLL or EXES. Use -WN
  421. % if you want to debug win32 executables.
  422. parser_e_constructorname_must_be_init=03013_E_Constructor name must be INIT
  423. % You are declaring an object constructor with a name which is not \var{init}, and the
  424. % \var{-Ss} switch is in effect. See the switch \seeo{Ss}.
  425. parser_e_destructorname_must_be_done=03014_E_Destructor name must be DONE
  426. % You are declaring an object destructor with a name which is not \var{done}, and the
  427. % \var{-Ss} switch is in effect. See the switch \seeo{Ss}.
  428. parser_e_proc_inline_not_supported=03016_E_Procedure type INLINE not supported
  429. % You tried to compile a program with C++ style inlining, and forgot to
  430. % specify the \var{-Si} option (\seeo{Si}). The compiler doesn't support C++
  431. % styled inlining by default.
  432. parser_w_constructor_should_be_public=03018_W_Constructor should be public
  433. % Constructors must be in the 'public' part of an object (class) declaration.
  434. parser_w_destructor_should_be_public=03019_W_Destructor should be public
  435. % Destructors must be in the 'public' part of an object (class) declaration.
  436. parser_n_only_one_destructor=03020_N_Class should have one destructor only
  437. % You can declare only one destructor for a class.
  438. parser_e_no_local_objects=03021_E_Local class definitions are not allowed
  439. % Classes must be defined globally. They cannot be defined inside a
  440. % procedure or function.
  441. parser_f_no_anonym_objects=03022_F_Anonymous class definitions are not allowed
  442. % An invalid object (class) declaration was encountered, i.e. an
  443. % object or class without methods that isn't derived from another object or
  444. % class. For example:
  445. % \begin{verbatim}
  446. % Type o = object
  447. % a : longint;
  448. % end;
  449. % \end{verbatim}
  450. % will trigger this error.
  451. parser_n_object_has_no_vmt=03023_N_The object "$1" has no VMT
  452. % This is a note indicating that the declared object has no
  453. % virtual method table.
  454. parser_e_illegal_parameter_list=03024_E_Illegal parameter list
  455. % You are calling a function with parameters that are of a different type than
  456. % the declared parameters of the function.
  457. parser_e_wrong_parameter_size=03026_E_Wrong number of parameters specified for call to "$1"
  458. % There is an error in the parameter list of the function or procedure --
  459. % the number of parameters is not correct.
  460. parser_e_overloaded_no_procedure=03027_E_overloaded identifier "$1" isn't a function
  461. % The compiler encountered a symbol with the same name as an overloaded
  462. % function, but it is not a function it can overload.
  463. parser_e_overloaded_have_same_parameters=03028_E_overloaded functions have the same parameter list
  464. % You're declaring overloaded functions, but with the same parameter list.
  465. % Overloaded function must have at least 1 different parameter in their
  466. % declaration.
  467. parser_e_header_dont_match_forward=03029_E_function header doesn't match the previous declaration "$1"
  468. % You declared a function with the same parameters but
  469. % different result type or function modifiers.
  470. parser_e_header_different_var_names=03030_E_function header "$1" doesn't match forward : var name changes $2 => $3
  471. % You declared the function in the \var{interface} part, or with the
  472. % \var{forward} directive, but defined it with a different parameter list.
  473. parser_n_duplicate_enum=03031_N_Values in enumeration types have to be ascending
  474. % \fpc allows enumeration constructions as in C. Examine the following
  475. % two declarations:
  476. % \begin{verbatim}
  477. % type a = (A_A,A_B,A_E:=6,A_UAS:=200);
  478. % type a = (A_A,A_B,A_E:=6,A_UAS:=4);
  479. % \end{verbatim}
  480. % The second declaration would produce an error. \var{A\_UAS} needs to have a
  481. % value higher than \var{A\_E}, i.e. at least 7.
  482. parser_e_no_with_for_variable_in_other_segments=03033_E_With cannot be used for variables in a different segment
  483. % With stores a variable locally on the stack,
  484. % but this is not possible if the variable belongs to another segment.
  485. parser_e_too_much_lexlevel=03034_E_function nesting > 31
  486. % You can nest function definitions only 31 levels deep.
  487. parser_e_range_check_error=03035_E_range check error while evaluating constants
  488. % The constants are out of their allowed range.
  489. parser_w_range_check_error=03036_W_range check error while evaluating constants
  490. % The constants are out of their allowed range.
  491. parser_e_double_caselabel=03037_E_duplicate case label
  492. % You are specifying the same label 2 times in a \var{case} statement.
  493. parser_e_case_lower_less_than_upper_bound=03038_E_Upper bound of case range is less than lower bound
  494. % The upper bound of a \var{case} label is less than the lower bound and this
  495. % is useless.
  496. parser_e_type_const_not_possible=03039_E_typed constants of classes or interfaces are not allowed
  497. % You cannot declare a constant of type class or object.
  498. parser_e_no_overloaded_procvars=03040_E_functions variables of overloaded functions are not allowed
  499. % You are trying to assign an overloaded function to a procedural variable.
  500. % This is not allowed.
  501. parser_e_invalid_string_size=03041_E_string length must be a value from 1 to 255
  502. % The length of a shortstring in Pascal is limited to 255 characters. You are
  503. % trying to declare a string with length less than 1 or greater than 255.
  504. parser_w_use_extended_syntax_for_objects=03042_W_use extended syntax of NEW and DISPOSE for instances of objects
  505. % If you have a pointer \var{a} to an object type, then the statement
  506. % \var{new(a)} will not initialize the object (i.e. the constructor isn't
  507. % called), although space will be allocated. You should issue the
  508. % \var{new(a,init)} statement. This will allocate space, and call the
  509. % constructor of the object.
  510. parser_w_no_new_dispose_on_void_pointers=03043_W_use of NEW or DISPOSE for untyped pointers is meaningless
  511. parser_e_no_new_dispose_on_void_pointers=03044_E_use of NEW or DISPOSE is not possible for untyped pointers
  512. % You cannot use \var{new(p)} or \var{dispose(p)} if \var{p} is an untyped pointer
  513. % because no size is associated to an untyped pointer.
  514. % It is accepted for compatibility in \var{TP} and \var{DELPHI} modes, but the
  515. % compiler will still warn you if it finds such a construct.
  516. parser_e_class_id_expected=03045_E_class identifier expected
  517. % This happens when the compiler scans a procedure declaration that contains
  518. % a dot, i.e., an object or class method, but the type in front of the dot is not
  519. % a known type.
  520. parser_e_no_type_not_allowed_here=03046_E_type identifier not allowed here
  521. % You cannot use a type inside an expression.
  522. parser_e_methode_id_expected=03047_E_method identifier expected
  523. % This identifier is not a method.
  524. % This happens when the compiler scans a procedure declaration that contains
  525. % a dot, i.e., an object or class method, but the procedure name is not a
  526. % procedure of this type.
  527. parser_e_header_dont_match_any_member=03048_E_function header doesn't match any method of this class "$1"
  528. % This identifier is not a method.
  529. % This happens when the compiler scans a procedure declaration that contains
  530. % a dot, i.e., an object or class method, but the procedure name is not a
  531. % procedure of this type.
  532. parser_d_procedure_start=03049_DL_procedure/function $1
  533. % When using the \var{-vd} switch, the compiler tells you when it starts
  534. % processing a procedure or function implementation.
  535. parser_e_error_in_real=03050_E_Illegal floating point constant
  536. % The compiler expects a floating point expression, and gets something else.
  537. parser_e_fail_only_in_constructor=03051_E_FAIL can be used in constructors only
  538. % You are using the \var{fail} keyword outside a constructor method.
  539. parser_e_no_paras_for_destructor=03052_E_Destructors can't have parameters
  540. % You are declaring a destructor with a parameter list. Destructor methods
  541. % cannot have parameters.
  542. parser_e_only_class_members_via_class_ref=03053_E_Only class methods, class properties and class variables can be referred with class references
  543. % This error occurs in a situation like the following:
  544. % \begin{verbatim}
  545. % Type :
  546. % Tclass = Class of Tobject;
  547. %
  548. % Var C : TClass;
  549. %
  550. % begin
  551. % ...
  552. % C.free
  553. % \end{verbatim}
  554. % \var{Free} is not a class method and hence cannot be called with a class
  555. % reference.
  556. parser_e_only_class_members=03054_E_Only class methods, class properties and class variables can be accessed in class methods
  557. % This is related to the previous error. You cannot call a method of an object
  558. % from inside a class method. The following code would produce this error:
  559. % \begin{verbatim}
  560. % class procedure tobject.x;
  561. %
  562. % begin
  563. % free
  564. % \end{verbatim}
  565. % Because free is a normal method of a class it cannot be called from a class
  566. % method.
  567. parser_e_case_mismatch=03055_E_Constant and CASE types do not match
  568. % One of the labels is not of the same type as the case variable.
  569. parser_e_illegal_symbol_exported=03056_E_The symbol can't be exported from a library
  570. % You can only export procedures and functions when you write a library. You
  571. % cannot export variables or constants.
  572. parser_w_should_use_override=03057_W_An inherited method is hidden by "$1"
  573. % A method that is declared \var{virtual} in a parent class, should be
  574. % overridden in the descendant class with the \var{override} directive. If you
  575. % don't specify the \var{override} directive, you will hide the parent method;
  576. % you will not override it.
  577. parser_e_nothing_to_be_overridden=03058_E_There is no method in an ancestor class to be overridden: "$1"
  578. % You are trying to \var{override} a virtual method of a parent class that does
  579. % not exist.
  580. parser_e_no_procedure_to_access_property=03059_E_No member is provided to access property
  581. % You specified no \var{read} directive for a property.
  582. parser_w_stored_not_implemented=03060_W_Stored property directive is not yet implemented
  583. % This message is no longer used, as the \var{stored} directive has been implemented.
  584. parser_e_ill_property_access_sym=03061_E_Illegal symbol for property access
  585. % There is an error in the \var{read} or \var{write} directives for an array
  586. % property. When you declare an array property, you can only access it with
  587. % procedures and functions. The following code would cause such an error.
  588. % \begin{verbatim}
  589. % tmyobject = class
  590. % i : integer;
  591. % property x [i : integer]: integer read I write i;
  592. % \end{verbatim}
  593. %
  594. parser_e_cant_access_protected_member=03062_E_Cannot access a protected field of an object here
  595. % Fields that are declared in a \var{protected} section of an object or class
  596. % declaration cannot be accessed outside the module where the object is
  597. % defined, or outside descendent object methods.
  598. parser_e_cant_access_private_member=03063_E_Cannot access a private field of an object here
  599. % Fields that are declared in a \var{private} section of an object or class
  600. % declaration cannot be accessed outside the module where the class is
  601. % defined.
  602. parser_e_overridden_methods_not_same_ret=03066_E_Overridden methods must have the same return type: "$2" is overridden by "$1" which has another return type
  603. % If you declare overridden methods in a class definition, they must
  604. % have the same return type.
  605. parser_e_dont_nest_export=03067_E_EXPORT declared functions can't be nested
  606. % You cannot declare a function or procedure within a function or procedure
  607. % that was declared as an export procedure.
  608. parser_e_methods_dont_be_export=03068_E_Methods can't be EXPORTed
  609. % You cannot declare a procedure that is a method for an object as
  610. % \var{export}ed.
  611. parser_e_call_by_ref_without_typeconv=03069_E_Call by var for arg no. $1 has to match exactly: Got "$2" expected "$3"
  612. % When calling a function declared with \var{var} parameters, the variables in
  613. % the function call must be of exactly the same type. There is no automatic
  614. % type conversion.
  615. parser_e_no_super_class=03070_E_Class isn't a parent class of the current class
  616. % When calling inherited methods, you are trying to call a method of a non-related
  617. % class. You can only call an inherited method of a parent class.
  618. parser_e_self_not_in_method=03071_E_SELF is only allowed in methods
  619. % You are trying to use the \var{self} parameter outside an object's method.
  620. % Only methods get passed the \var{self} parameters.
  621. parser_e_generic_methods_only_in_methods=03072_E_Methods can be only in other methods called direct with type identifier of the class
  622. % A construction like \var{sometype.somemethod} is only allowed in a method.
  623. parser_e_illegal_colon_qualifier=03073_E_Illegal use of ':'
  624. % You are using the format \var{:} (colon) 2 times on an expression that
  625. % is not a real expression.
  626. parser_e_illegal_set_expr=03074_E_range check error in set constructor or duplicate set element
  627. % The declaration of a set contains an error. Either one of the elements is
  628. % outside the range of the set type, or two of the elements are in fact
  629. % the same.
  630. parser_e_pointer_to_class_expected=03075_E_Pointer to object expected
  631. % You specified an illegal type in a \var{new} statement.
  632. % The extended syntax of \var{new} needs an object as a parameter.
  633. parser_e_expr_have_to_be_constructor_call=03076_E_Expression must be constructor call
  634. % When using the extended syntax of \var{new}, you must specify the constructor
  635. % method of the object you are trying to create. The procedure you specified
  636. % is not a constructor.
  637. parser_e_expr_have_to_be_destructor_call=03077_E_Expression must be destructor call
  638. % When using the extended syntax of \var{dispose}, you must specify the
  639. % destructor method of the object you are trying to dispose of.
  640. % The procedure you specified is not a destructor.
  641. parser_e_invalid_record_const=03078_E_Illegal order of record elements
  642. % When declaring a constant record, you specified the fields in the wrong
  643. % order.
  644. parser_e_false_with_expr=03079_E_Expression type must be class or record type, got $1
  645. % A \var{with} statement needs an argument that is of the type \var{record}
  646. % or \var{class}. You are using \var{with} on an expression that is not of
  647. % this type.
  648. parser_e_void_function=03080_E_Procedures can't return a value
  649. % In \fpc, you can specify a return value for a function when using
  650. % the \var{exit} statement. This error occurs when you try to do this with a
  651. % procedure. Procedures cannot return a value.
  652. parser_e_only_methods_allowed=03081_E_constructors, destructors and class operators must be methods
  653. % You're declaring a procedure as destructor, constructor or class operator, when the
  654. % procedure isn't a class method.
  655. parser_e_operator_not_overloaded=03082_E_Operator is not overloaded
  656. % You're trying to use an overloaded operator when it is not overloaded for
  657. % this type.
  658. parser_e_no_such_assignment=03083_E_Impossible to overload assignment for equal types
  659. % You cannot overload assignment for types
  660. % that the compiler considers as equal.
  661. parser_e_overload_impossible=03084_E_Impossible operator overload
  662. % The combination of operator, arguments and return type are
  663. % incompatible.
  664. parser_e_no_reraise_possible=03085_E_Re-raise isn't possible there
  665. % You are trying to re-raise an exception where it is not allowed. You can only
  666. % re-raise exceptions in an \var{except} block.
  667. parser_e_no_new_or_dispose_for_classes=03086_E_The extended syntax of new or dispose isn't allowed for a class
  668. % You cannot generate an instance of a class with the extended syntax of
  669. % \var{new}. The constructor must be used for that. For the same reason, you
  670. % cannot call \var{dispose} to de-allocate an instance of a class, the
  671. % destructor must be used for that.
  672. parser_e_procedure_overloading_is_off=03088_E_Procedure overloading is switched off
  673. % When using the \var{-So} switch, procedure overloading is switched off.
  674. % Turbo Pascal does not support function overloading.
  675. parser_e_overload_operator_failed=03089_E_It is not possible to overload this operator. Related overloadable operators (if any) are: $1
  676. % You are trying to overload an operator which cannot be overloaded.
  677. % The following operators can be overloaded :
  678. % \begin{verbatim}
  679. % +, -, *, /, =, >, <, <=, >=, is, as, in, **, :=
  680. % \end{verbatim}
  681. parser_e_comparative_operator_return_boolean=03090_E_Comparative operator must return a boolean value
  682. % When overloading the \var{=} operator, the function must return a boolean
  683. % value.
  684. parser_e_only_virtual_methods_abstract=03091_E_Only virtual methods can be abstract
  685. % You are declaring a method as abstract, when it is not declared to be
  686. % virtual.
  687. parser_f_unsupported_feature=03092_F_Use of unsupported feature!
  688. % You're trying to force the compiler into doing something it cannot do yet.
  689. parser_e_mix_of_classes_and_objects=03093_E_The mix of different kind of objects (class, object, interface, etc) isn't allowed
  690. % You cannot derive \var{objects}, \var{classes}, \var{cppclasses} and \var{interfaces} intertwined. E.g.
  691. % a class cannot have an object as parent and vice versa.
  692. parser_w_unknown_proc_directive_ignored=03094_W_Unknown procedure directive had to be ignored: "$1"
  693. % The procedure directive you specified is unknown.
  694. parser_e_directive_only_one_var=03095_E_$1 can be associated with only one variable
  695. % You cannot specify more than one variable before the \var{absolute}, \var{export}, \var{external},
  696. % \var{weakexternal}, \var{public} and \var{cvar} directives.
  697. % As a result, for example the following construct will provide this error:
  698. % \begin{verbatim}
  699. % Var Z : Longint;
  700. % X,Y : Longint absolute Z;
  701. % \end{verbatim}
  702. parser_e_absolute_only_to_var_or_const=03096_E_absolute can only be associated with a var or const
  703. % The address of an \var{absolute} directive can only point to a variable or
  704. % constant. Therefore, the following code will produce this error:
  705. % \begin{verbatim}
  706. % Procedure X;
  707. %
  708. % var p : longint absolute x;
  709. % \end{verbatim}
  710. parser_e_initialized_only_one_var=03097_E_Only one variable can be initialized
  711. % You cannot specify more than one variable with a initial value in Delphi mode.
  712. parser_e_abstract_no_definition=03098_E_Abstract methods shouldn't have any definition (with function body)
  713. % Abstract methods can only be declared, you cannot implement them. They
  714. % should be overridden by a descendant class.
  715. parser_e_overloaded_must_be_all_global=03099_E_This overloaded function can't be local (must be exported)
  716. % You are defining an overloaded function in the implementation part of a unit,
  717. % but there is no corresponding declaration in the interface part of the unit.
  718. parser_w_virtual_without_constructor=03100_W_Virtual methods are used without a constructor in "$1"
  719. % If you declare objects or classes that contain virtual methods, you need
  720. % to have a constructor and destructor to initialize them. The compiler
  721. % encountered an object or class with virtual methods that doesn't have
  722. % a constructor/destructor pair.
  723. parser_c_macro_defined=03101_CL_Macro defined: $1
  724. % When \var{-vc} is used, the compiler tells you when it defines macros.
  725. parser_c_macro_undefined=03102_CL_Macro undefined: $1
  726. % When \var{-vc} is used, the compiler tells you when it undefines macros.
  727. parser_c_macro_set_to=03103_CL_Macro $1 set to $2
  728. % When \var{-vc} is used, the compiler tells you what values macros get.
  729. parser_i_compiling=03104_I_Compiling $1
  730. % When you turn on information messages (\var{-vi}), the compiler tells you
  731. % what units it is recompiling.
  732. parser_u_parsing_interface=03105_UL_Parsing interface of unit $1
  733. % This tells you that the reading of the interface
  734. % of the current unit has started
  735. parser_u_parsing_implementation=03106_UL_Parsing implementation of $1
  736. % This tells you that the code reading of the implementation
  737. % of the current unit, library or program starts
  738. parser_d_compiling_second_time=03107_DL_Compiling $1 for the second time
  739. % When you request debug messages (\var{-vd}) the compiler tells you what
  740. % units it recompiles for the second time.
  741. parser_e_no_property_found_to_override=03109_E_No property found to override
  742. % You want to override a property of a parent class, when there is, in fact,
  743. % no such property in the parent class.
  744. parser_e_only_one_default_property=03110_E_Only one default property is allowed
  745. % You specified a property as \var{Default}, but the class already has a
  746. % default property, and a class can have only one default property.
  747. parser_e_property_need_paras=03111_E_The default property must be an array property
  748. % Only array properties of classes can be made \var{default} properties.
  749. parser_e_constructor_cannot_be_not_virtual=03112_E_Virtual constructors are only supported in class object model
  750. % You cannot have virtual constructors in objects. You can only have them
  751. % in classes.
  752. parser_e_no_default_property_available=03113_E_No default property available
  753. % You are trying to access a default property of a class, but this class (or one of
  754. % its ancestors) doesn't have a default property.
  755. parser_e_cant_have_published=03114_E_The class can't have a published section, use the {$M+} switch
  756. % If you want a \var{published} section in a class definition, you must
  757. % use the \var{\{\$M+\}} switch, which turns on generation of type
  758. % information.
  759. parser_e_forward_declaration_must_be_resolved=03115_E_Forward declaration of class "$1" must be resolved here to use the class as ancestor
  760. % To be able to use an object as an ancestor object, it must be defined
  761. % first. This error occurs in the following situation:
  762. % \begin{verbatim}
  763. % Type ParentClas = Class;
  764. % ChildClass = Class(ParentClass)
  765. % ...
  766. % end;
  767. % \end{verbatim}
  768. % where \var{ParentClass} is declared but not defined.
  769. parser_e_no_local_operator=03116_E_Local operators not supported
  770. % You cannot overload locally, i.e. inside procedures or function
  771. % definitions.
  772. parser_e_proc_dir_not_allowed_in_interface=03117_E_Procedure directive "$1" not allowed in interface section
  773. % This procedure directive is not allowed in the \var{interface} section of
  774. % a unit. You can only use it in the \var{implementation} section.
  775. parser_e_proc_dir_not_allowed_in_implementation=03118_E_Procedure directive "$1" not allowed in implementation section
  776. % This procedure directive is not allowed in the \var{implementation} section of
  777. % a unit. You can only use it in the \var{interface} section.
  778. parser_e_proc_dir_not_allowed_in_procvar=03119_E_Procedure directive "$1" not allowed in procvar declaration
  779. % This procedure directive cannot be part of a procedural or function
  780. % type declaration.
  781. parser_e_function_already_declared_public_forward=03120_E_Function is already declared Public/Forward "$1"
  782. % You will get this error if a function is defined as \var{forward} twice.
  783. % Or if it occurs in the \var{interface} section, and again as a \var{forward}
  784. % declaration in the \var{implementation} section.
  785. parser_e_not_external_and_export=03121_E_Can't use both EXPORT and EXTERNAL
  786. % These two procedure directives are mutually exclusive.
  787. parser_h_not_supported_for_inline=03123_H_"$1" not yet supported inside inline procedure/function
  788. % Inline procedures don't support this declaration.
  789. parser_h_inlining_disabled=03124_H_Inlining disabled
  790. % Inlining of procedures is disabled.
  791. parser_i_writing_browser_log=03125_I_Writing Browser log $1
  792. % When information messages are on, the compiler warns you when it
  793. % writes the browser log (generated with the \var{\{\$Y+ \}} switch).
  794. parser_h_maybe_deref_caret_missing=03126_H_may be pointer dereference is missing
  795. % The compiler thinks that a pointer may need a dereference.
  796. parser_f_assembler_reader_not_supported=03127_F_Selected assembler reader not supported
  797. % The selected assembler reader (with \var{\{\$ASMMODE xxx\}} is not
  798. % supported. The compiler can be compiled with or without support for a
  799. % particular assembler reader.
  800. parser_e_proc_dir_conflict=03128_E_Procedure directive "$1" has conflicts with other directives
  801. % You specified a procedure directive that conflicts with other directives.
  802. % For instance \var{cdecl} and \var{pascal} are mutually exclusive.
  803. parser_e_call_convention_dont_match_forward=03129_E_Calling convention doesn't match forward
  804. % This error happens when you declare a function or procedure with
  805. % e.g. \var{cdecl;} but omit this directive in the implementation, or vice
  806. % versa. The calling convention is part of the function declaration, and
  807. % must be repeated in the function definition.
  808. parser_e_property_cant_have_a_default_value=03131_E_Property can't have a default value
  809. % Set properties or indexed properties cannot have a default value.
  810. parser_e_property_default_value_must_const=03132_E_The default value of a property must be constant
  811. % The value of a \var{default} declared property must be known at compile
  812. % time. The value you specified is only known at run time. This happens
  813. % e.g. if you specify a variable name as a default value.
  814. parser_e_cant_publish_that=03133_E_Symbol can't be published, can be only a class
  815. % Only class type variables can be in a \var{published} section of a class
  816. % if they are not declared as a property.
  817. parser_e_cant_publish_that_property=03134_E_This kind of property can't be published
  818. % Properties in a \var{published} section cannot be array properties.
  819. % They must be moved to public sections. Properties in a \var{published}
  820. % section must be an ordinal type, a real type, strings or sets.
  821. parser_e_empty_import_name=03136_E_An import name is required
  822. % Some targets need a name for the imported procedure or a \var{cdecl} specifier.
  823. parser_e_division_by_zero=03138_E_Division by zero
  824. % A division by zero was encounted.
  825. parser_e_invalid_float_operation=03139_E_Invalid floating point operation
  826. % An operation on two real type values produced an overflow or a division
  827. % by zero.
  828. parser_e_array_lower_less_than_upper_bound=03140_E_Upper bound of range is less than lower bound
  829. % The upper bound of an array declaration is less than the lower bound and this
  830. % is not possible.
  831. parser_w_string_too_long=03141_W_string "$1" is longer than "$2"
  832. % The size of the constant string is larger than the size you specified in
  833. % string type definition.
  834. parser_e_string_larger_array=03142_E_string length is larger than array of char length
  835. % The size of the constant string is larger than the size you specified in
  836. % the \var{Array[x..y] of char} definition.
  837. parser_e_ill_msg_expr=03143_E_Illegal expression after message directive
  838. % \fpc supports only integer or string values as message constants.
  839. parser_e_ill_msg_param=03144_E_Message handlers can take only one call by ref. parameter
  840. % A method declared with the \var{message} directive as message handler
  841. % can take only one parameter which must be declared as call by reference.
  842. % Parameters are declared as call by reference using the \var{var}-directive.
  843. parser_e_duplicate_message_label=03145_E_Duplicate message label: "$1"
  844. % A label for a message is used twice in one object/class.
  845. parser_e_self_in_non_message_handler=03146_E_Self can only be an explicit parameter in methods which are message handlers
  846. % The \var{Self} parameter can only be passed explicitly to a method which
  847. % is declared as message handler.
  848. parser_e_threadvars_only_sg=03147_E_Threadvars can be only static or global
  849. % Threadvars must be static or global; you can't declare a thread
  850. % local to a procedure. Local variables are always local to a thread,
  851. % because every thread has its own stack and local variables
  852. % are stored on the stack.
  853. parser_f_direct_assembler_not_allowed=03148_F_Direct assembler not supported for binary output format
  854. % You can't use direct assembler when using a binary writer. Choose an
  855. % other output format or use another assembler reader.
  856. parser_w_no_objpas_use_mode=03149_W_Don't load OBJPAS unit manually, use \{\$mode objfpc\} or \{\$mode delphi\} instead
  857. % You are trying to load the \file{ObjPas} unit manually from a \var{uses} clause.
  858. % This is not a good idea. Use the \var{\{\$MODE OBJFPC\}} or
  859. % \var{\{\$mode delphi\}} directives which load the unit automatically.
  860. parser_e_no_object_override=03150_E_OVERRIDE can't be used in objects
  861. % \var{Override} is not supported for objects, use \var{virtual} instead to override
  862. % a method of a parent object.
  863. parser_e_cant_use_inittable_here=03151_E_Data types which require initialization/finalization can't be used in variant records
  864. % Some data types (e.g. \var{ansistring}) need initialization/finalization
  865. % code which is implicitly generated by the compiler. Such data types
  866. % can't be used in the variant part of a record.
  867. parser_e_resourcestring_only_sg=03152_E_Resourcestrings can be only static or global
  868. % Resourcestring cannot be declared local, only global or using the static
  869. % directive.
  870. parser_e_exit_with_argument_not__possible=03153_E_Exit with argument can't be used here
  871. % An exit statement with an argument for the return value can't be used here. This
  872. % can happen for example in \var{try..except} or \var{try..finally} blocks.
  873. parser_e_stored_property_must_be_boolean=03154_E_The type of the storage symbol must be boolean
  874. % If you specify a storage symbol in a property declaration, it must be a
  875. % boolean type.
  876. parser_e_ill_property_storage_sym=03155_E_This symbol isn't allowed as storage symbol
  877. % You can't use this type of symbol as storage specifier in property
  878. % declaration. You can use only methods with the result type boolean,
  879. % boolean class fields or boolean constants.
  880. parser_e_only_publishable_classes_can_be_published=03156_E_Only classes which are compiled in $M+ mode can be published
  881. % A class-typed field in the published section of a class can only be a class which was
  882. % compiled in \var{\{\$M+\}} or which is derived from such a class. Normally
  883. % such a class should be derived from \var{TPersistent}.
  884. parser_e_proc_directive_expected=03157_E_Procedure directive expected
  885. % This error is triggered when you have a \var{\{\$Calling\}} directive without
  886. % a calling convention specified.
  887. % It also happens when declaring a procedure in a const block and you
  888. % used a ; after a procedure declaration which must be followed by a
  889. % procedure directive.
  890. % Correct declarations are:
  891. % \begin{verbatim}
  892. % const
  893. % p : procedure;stdcall=nil;
  894. % p : procedure stdcall=nil;
  895. % \end{verbatim}
  896. parser_e_invalid_property_index_value=03158_E_The value for a property index must be of an ordinal type
  897. % The value you use to index a property must be of an ordinal type, for
  898. % example an integer or enumerated type.
  899. parser_e_procname_to_short_for_export=03159_E_Procedure name too short to be exported
  900. % The length of the procedure/function name must be at least 2 characters
  901. % long. This is because of a bug in dlltool which doesn't parse the .def
  902. % file correctly with a name of length 1.
  903. parser_e_dlltool_unit_var_problem=03160_E_No DEFFILE entry can be generated for unit global vars
  904. parser_e_dlltool_unit_var_problem2=03161_E_Compile without -WD option
  905. % You need to compile this file without the -WD switch on the
  906. % command line.
  907. parser_f_need_objfpc_or_delphi_mode=03162_F_You need ObjFpc (-S2) or Delphi (-Sd) mode to compile this module
  908. % You need to use \var{\{\$MODE OBJFPC\}} or \var{\{\$MODE DELPHI\}} to compile this file.
  909. % Or use the corresponding command line switch, either \var{-Mobjfpc} or \var{-MDelphi.}
  910. parser_e_no_export_with_index_for_target=03163_E_Can't export with index under $1
  911. % Exporting of functions or procedures with a specified index is not
  912. % supported on this target.
  913. parser_e_no_export_of_variables_for_target=03164_E_Exporting of variables is not supported under $1
  914. % Exporting of variables is not supported on this target.
  915. parser_e_improper_guid_syntax=03165_E_Improper GUID syntax
  916. % The GUID indication does not have the proper syntax. It should be of the form
  917. % \begin{verbatim}
  918. % {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
  919. % \end{verbatim}
  920. % Where each \var{X} represents a hexadecimal digit.
  921. parser_w_interface_mapping_notfound=03168_W_Procedure named "$1" not found that is suitable for implementing the $2.$3
  922. % The compiler cannot find a suitable procedure which implements the given method of an interface.
  923. % A procedure with the same name is found, but the arguments do not match.
  924. parser_e_interface_id_expected=03169_E_interface identifier expected
  925. % This happens when the compiler scans a \var{class} declaration that contains
  926. % \var{interface} function name mapping code like this:
  927. % \begin{verbatim}
  928. % type
  929. % TMyObject = class(TObject, IDispatch)
  930. % function IUnknown.QueryInterface=MyQueryInterface;
  931. % ....
  932. % \end{verbatim}
  933. % and the \var{interface} before the dot is not listed in the inheritance list.
  934. parser_e_type_cant_be_used_in_array_index=03170_E_Type "$1" can't be used as array index type
  935. % Types like \var{qword} or \var{int64} aren't allowed as array index type.
  936. parser_e_no_con_des_in_interfaces=03171_E_Con- and destructors aren't allowed in interfaces
  937. % Constructor and destructor declarations aren't allowed in interfaces.
  938. % In the most cases method \var{QueryInterface} of \var{IUnknown} can
  939. % be used to create a new interface.
  940. parser_e_no_access_specifier_in_interfaces=03172_E_Access specifiers can't be used in INTERFACEs and OBJCPROTOCOLs
  941. % The access specifiers \var{public}, \var{private}, \var{protected} and
  942. % \var{published} can't be used in interfaces, Objective-C protocols and categories because all methods
  943. % of an interface/protocol/category must be public.
  944. parser_e_no_vars_in_interfaces=03173_E_An interface, helper or Objective-C protocol or category cannot contain fields
  945. % Declarations of fields are not allowed in interfaces, helpers and Objective-C protocols and categories.
  946. % An interface/helper/protocol/category can contain only methods and properties with method read/write specifiers.
  947. parser_e_no_local_proc_external=03174_E_Can't declare local procedure as EXTERNAL
  948. % Declaring local procedures as external is not possible. Local procedures
  949. % get hidden parameters that will make the chance of errors very high.
  950. parser_w_skipped_fields_before=03175_W_Some fields coming before "$1" weren't initialized
  951. % In Delphi mode, not all fields of a typed constant record have to be
  952. % initialized, but the compiler warns you when it detects such situations.
  953. parser_e_skipped_fields_before=03176_E_Some fields coming before "$1" weren't initialized
  954. % In all syntax modes but Delphi mode, you can't leave some fields uninitialized
  955. % in the middle of a typed constant record.
  956. parser_w_skipped_fields_after=03177_W_Some fields coming after "$1" weren't initialized
  957. % You can leave some fields at the end of a type constant record uninitialized
  958. % (The compiler will initialize them to zero automatically). This may be the cause
  959. % of subtle problems.
  960. parser_e_varargs_need_cdecl_and_external=03178_E_VarArgs directive (or '...' in MacPas) without CDecl/CPPDecl/MWPascal and External
  961. % The varargs directive (or the ``...'' varargs parameter in MacPas mode) can only be
  962. % used with procedures or functions that are declared with \var{external} and one of
  963. % \var{cdecl}, \var{cppdecl} and \var{mwpascal}. This functionality
  964. % is only supported to provide a compatible interface to C functions like printf.
  965. parser_e_self_call_by_value=03179_E_Self must be a normal (call-by-value) parameter
  966. % You can't declare \var{Self} as a const or var parameter, it must always be
  967. % a call-by-value parameter.
  968. parser_e_interface_has_no_guid=03180_E_Interface "$1" has no interface identification
  969. % When you want to assign an interface to a constant, then the interface
  970. % must have a GUID value set.
  971. parser_e_illegal_field_or_method=03181_E_Unknown class field or method identifier "$1"
  972. % Properties must refer to a field or method in the same class.
  973. parser_w_proc_overriding_calling=03182_W_Overriding calling convention "$1" with "$2"
  974. % There are two directives in the procedure declaration that specify a calling
  975. % convention. Only the last directive will be used.
  976. parser_e_no_procvarobj_const=03183_E_Typed constants of the type "procedure of object" can only be initialized with NIL
  977. % You cannot assign the address of a method to a typed constant which has a
  978. % 'procedure of object' type, because such a constant requires two addresses:
  979. % that of the method (which is known at compile time) and that of the object or
  980. % class instance it operates on (which cannot be known at compile time).
  981. parser_e_default_value_only_one_para=03184_E_Default value can only be assigned to one parameter
  982. % It is not possible to specify a default value for several parameters at once.
  983. % The following is invalid:
  984. % \begin{verbatim}
  985. % Procedure MyProcedure (A,B : Integer = 0);
  986. % \end{verbatim}
  987. % Instead, this should be declared as
  988. % \begin{verbatim}
  989. % Procedure MyProcedure (A : Integer = 0; B : Integer = 0);
  990. % \end{verbatim}
  991. parser_e_default_value_expected_for_para=03185_E_Default parameter required for "$1"
  992. % The specified parameter requires a default value.
  993. parser_w_unsupported_feature=03186_W_Use of unsupported feature!
  994. % You're trying to force the compiler into doing something it cannot do yet.
  995. parser_h_c_arrays_are_references=03187_H_C arrays are passed by reference
  996. % Any array passed to a C function is passed
  997. % by a pointer (i.e. by reference).
  998. parser_e_C_array_of_const_must_be_last=03188_E_C array of const must be the last argument
  999. % You cannot add any other argument after an \var{array of const} for
  1000. % \var{cdecl} functions, as the size pushed on stack for this argument is
  1001. % not known.
  1002. parser_h_type_redef=03189_H_Type "$1" redefinition
  1003. % This is an indicator that a previously declared type is
  1004. % being redefined as something else. This may, or may not
  1005. % be, a potential source of errors.
  1006. parser_w_cdecl_has_no_high=03190_W_cdecl'ared functions have no high parameter
  1007. % Functions declared with the \var{cdecl} modifier do not pass an extra implicit parameter.
  1008. parser_w_cdecl_no_openstring=03191_W_cdecl'ared functions do not support open strings
  1009. % Openstring is not supported for functions that have the \var{cdecl} modifier.
  1010. parser_e_initialized_not_for_threadvar=03192_E_Cannot initialize variables declared as threadvar
  1011. % Variables declared as threadvar cannot be initialized with a default value.
  1012. % The variables will always be filled with zero at the start of a new thread.
  1013. parser_e_msg_only_for_classes=03193_E_Message directive is only allowed in Classes
  1014. % The message directive is only supported for Class types.
  1015. parser_e_procedure_or_function_expected=03194_E_Procedure or Function expected
  1016. % A class method can only be specified for procedures and functions.
  1017. parser_e_illegal_calling_convention=03195_W_Calling convention directive ignored: "$1"
  1018. % Some calling conventions are supported only by certain CPUs. I.e. most non-i386 ports support
  1019. % only the standard ABI calling convention of the CPU.
  1020. parser_e_no_object_reintroduce=03196_E_REINTRODUCE can't be used in objects
  1021. % \var{reintroduce} is not supported for objects, Objective-C classes and Objective-C protocols.
  1022. parser_e_paraloc_only_one_para=03197_E_Each argument must have its own location
  1023. % If locations for arguments are specified explicitly as it is required by
  1024. % some syscall conventions, each argument must have its own location. Things
  1025. % like
  1026. % \begin{verbatim}
  1027. % procedure p(i,j : longint 'r1');
  1028. % \end{verbatim}
  1029. % aren't allowed.
  1030. parser_e_paraloc_all_paras=03198_E_Each argument must have an explicit location
  1031. % If one argument has an explicit argument location, all arguments of a procedure
  1032. % must have one.
  1033. parser_e_illegal_explicit_paraloc=03199_E_Unknown argument location
  1034. % The location specified for an argument isn't recognized by the compiler.
  1035. parser_e_32bitint_or_pointer_variable_expected=03200_E_32 Bit-Integer or pointer variable expected
  1036. % The libbase for MorphOS/AmigaOS can be given only as \var{longint}, \var{dword} or any pointer variable.
  1037. parser_e_goto_outside_proc=03201_E_Goto statements aren't allowed between different procedures
  1038. % It isn't allowed to use \var{goto} statements referencing labels outside the
  1039. % current procedure. The following example shows the problem:
  1040. % \begin{verbatim}
  1041. % ...
  1042. % procedure p1;
  1043. % label
  1044. % l1;
  1045. %
  1046. % procedure p2;
  1047. % begin
  1048. % goto l1; // This goto ISN'T allowed
  1049. % end;
  1050. %
  1051. % begin
  1052. % p2
  1053. % l1:
  1054. % end;
  1055. % ...
  1056. %
  1057. % \end{verbatim}
  1058. parser_f_too_complex_proc=03202_F_Procedure too complex, it requires too many registers
  1059. % Your procedure body is too long for the compiler. You should split the
  1060. % procedure into multiple smaller procedures.
  1061. parser_e_illegal_expression=03203_E_Illegal expression
  1062. % This can occur under many circumstances. Usually when trying to evaluate
  1063. % constant expressions.
  1064. parser_e_invalid_integer=03204_E_Invalid integer expression
  1065. % You made an expression which isn't an integer, and the compiler expects the
  1066. % result to be an integer.
  1067. parser_e_invalid_qualifier=03205_E_Illegal qualifier
  1068. % One of the following is happening :
  1069. % \begin{itemize}
  1070. % \item You're trying to access a field of a variable that is not a record.
  1071. % \item You're indexing a variable that is not an array.
  1072. % \item You're dereferencing a variable that is not a pointer.
  1073. % \end{itemize}
  1074. parser_e_upper_lower_than_lower=03206_E_High range limit < low range limit
  1075. % You are declaring a subrange, and the high limit is less than the low limit of
  1076. % the range.
  1077. parser_e_macpas_exit_wrong_param=03207_E_Exit's parameter must be the name of the procedure it is used in or of a surrounding procedure
  1078. % The parameter of a exit call in macpas mode must be either the name of the current subroutine or of a surrounding one
  1079. parser_e_illegal_assignment_to_count_var=03208_E_Illegal assignment to for-loop variable "$1"
  1080. % The type of a \var{for} loop variable must be an ordinal type.
  1081. % Loop variables cannot be reals or strings. You also cannot assign values to
  1082. % loop variables inside the loop (Except in Delphi and TP modes). Use a while or
  1083. % repeat loop instead if you need to do something like that, since those
  1084. % constructs were built for that.
  1085. parser_e_no_local_var_external=03209_E_Can't declare local variable as EXTERNAL
  1086. % Declaring local variables as external is not allowed. Only global variables can reference
  1087. % external variables.
  1088. parser_e_proc_already_external=03210_E_Procedure is already declared EXTERNAL
  1089. % The procedure is already declared with the EXTERNAL directive in an interface or
  1090. % forward declaration.
  1091. parser_w_implicit_uses_of_variants_unit=03211_W_Implicit uses of Variants unit
  1092. % The Variant type is used in the unit without any used unit using the Variants unit. The
  1093. % compiler has implicitly added the Variants unit to the uses list. To remove this warning
  1094. % the Variants unit needs to be added to the uses statement.
  1095. parser_e_no_static_method_in_interfaces=03212_E_Class and static methods can't be used in INTERFACES
  1096. % The specifier \var{class} and directive \var{static} can't be used in interfaces
  1097. % because all methods of an interface must be public.
  1098. parser_e_arithmetic_operation_overflow=03213_E_Overflow in arithmetic operation
  1099. % An operation on two integer values produced an overflow.
  1100. parser_e_protected_or_private_expected=03214_E_Protected or private expected
  1101. % \var{strict} can be only used together with \var{protected} or \var{private}.
  1102. parser_e_illegal_slice=03215_E_SLICE can't be used outside of parameter list
  1103. % \var{slice} can be used only for arguments accepting an open array parameter.
  1104. parser_e_dispinterface_cant_have_parent=03216_E_A DISPINTERFACE can't have a parent class
  1105. % A DISPINTERFACE is a special type of interface which can't have a parent class. Dispinterface always derive from IDispatch type.
  1106. parser_e_dispinterface_needs_a_guid=03217_E_A DISPINTERFACE needs a guid
  1107. % A DISPINTERFACE always needs an interface identification (a GUID).
  1108. parser_w_overridden_methods_not_same_ret=03218_W_Overridden methods must have a related return type. This code may crash, it depends on a Delphi parser bug ("$2" is overridden by "$1" which has another return type)
  1109. % If you declare overridden methods in a class definition, they must
  1110. % have the same return type. Some versions of Delphi allow you to change the
  1111. % return type of interface methods, and even to change procedures into
  1112. % functions, but the resulting code may crash depending on the types used
  1113. % and the way the methods are called.
  1114. parser_e_dispid_must_be_ord_const=03219_E_Dispatch IDs must be ordinal constants
  1115. % The \var{dispid} keyword must be followed by an ordinal constant (the dispid index).
  1116. parser_e_array_range_out_of_bounds=03220_E_The range of the array is too large
  1117. % Regardless of the size taken up by its elements, an array cannot have more
  1118. % than high(ptrint) elements. Additionally, the range type must be a subrange
  1119. % of ptrint.
  1120. parser_e_packed_element_no_var_addr=03221_E_The address cannot be taken of bit packed array elements and record fields
  1121. % If you declare an array or record as \var{packed} in Mac Pascal mode
  1122. % (or as \var{packed} in any mode with \var{\{\$bitpacking on\}}), it will
  1123. % be packed at the bit level. This means it becomes impossible to take addresses
  1124. % of individual array elements or record fields. The only exception to this rule
  1125. % is in the case of packed arrays elements whose packed size is a multple of 8 bits.
  1126. parser_e_packed_dynamic_open_array=03222_E_Dynamic arrays cannot be packed
  1127. % Only regular (and possibly in the future also open) arrays can be packed.
  1128. parser_e_packed_element_no_loop=03223_E_Bit packed array elements and record fields cannot be used as loop variables
  1129. % If you declare an array or record as \var{packed} in Mac Pascal mode
  1130. % (or as \var{packed} in any mode with \var{\{\$bitpacking on\}}), it will
  1131. % be packed at the bit level. For performance reasons, they cannot be
  1132. % used as loop variables.
  1133. parser_e_type_var_const_only_in_records_and_classes=03224_E_VAR, TYPE and CONST are allowed only in records, objects and classes
  1134. % The usage of VAR, TYPE and CONST to declare new types inside an object is allowed only inside
  1135. % records, objects and classes.
  1136. parser_e_cant_create_generics_of_this_type=03225_E_This type can't be a generic
  1137. % Only Classes, Objects, Interfaces and Records are allowed to be used as generic.
  1138. parser_w_no_lineinfo_use_switch=03226_W_Don't load LINEINFO unit manually, Use the -gl compiler switch instead
  1139. % Do not use the \file{lineinfo} unit directly, Use the \var{-gl} switch which
  1140. % automatically adds the correct unit for reading the selected type of debugging
  1141. % information. The unit that needs to be used depends on the type of
  1142. % debug information used when compiling the binary.
  1143. parser_e_no_funcret_specified=03227_E_No function result type specified for function "$1"
  1144. % The first time you declare a function you have to declare it completely,
  1145. % including all parameters and the result type.
  1146. parser_e_special_onlygenerics=03228_E_Specialization is only supported for generic types
  1147. % Types which are not generics can't be specialized.
  1148. parser_e_no_generics_as_params=03229_E_Generics can't be used as parameters when specializing generics
  1149. % When specializing a generic, only non-generic types can be used as parameters.
  1150. parser_e_type_object_constants=03230_E_Constants of objects containing a VMT aren't allowed
  1151. % If an object requires a VMT either because it contains a constructor or virtual methods,
  1152. % it's not allowed to create constants of it. In TP and Delphi mode this is allowed
  1153. % for compatibility reasons.
  1154. parser_e_label_outside_proc=03231_E_Taking the address of labels defined outside the current scope isn't allowed
  1155. % It isn't allowed to take the address of labels outside the
  1156. % current procedure.
  1157. parser_e_initialized_not_for_external=03233_E_Cannot initialize variables declared as external
  1158. % Variables declared as external cannot be initialized with a default value.
  1159. parser_e_illegal_function_result=03234_E_Illegal function result type
  1160. % Some types like file types cannot be used as function result.
  1161. parser_e_no_common_type=03235_E_No common type possible between "$1" and "$2"
  1162. % To perform an operation on integers, the compiler converts both operands
  1163. % to their common type, which appears to be an invalid type. To determine the
  1164. % common type of the operands, the compiler takes the minimum of the minimal values
  1165. % of both types, and the maximum of the maximal values of both types. The common
  1166. % type is then minimum..maximum.
  1167. parser_e_no_generics_as_types=03236_E_Generics without specialization cannot be used as a type for a variable
  1168. % Generics must be always specialized before being used as variable type.
  1169. parser_w_register_list_ignored=03237_W_Register list is ignored for pure assembler routines
  1170. % When using pure assembler routines, the list with modified registers is ignored.
  1171. parser_e_implements_must_be_class_or_interface=03238_E_Implements property must have class or interface type
  1172. % A property which implements an interface must be of type class or interface.
  1173. parser_e_implements_must_have_correct_type=03239_E_Implements-property must implement interface of correct type, found "$1" expected "$2"
  1174. % A property which implements an interface actually implements a different interface.
  1175. parser_e_implements_must_read_specifier=03240_E_Implements-property must have read specifier
  1176. % A property which implements an interface must have at least a read specifier.
  1177. parser_e_implements_must_not_have_write_specifier=03241_E_Implements-property must not have write-specifier
  1178. % A property which implements an interface may not have a write specifier.
  1179. parser_e_implements_must_not_have_stored_specifier=03242_E_Implements-property must not have stored-specifier
  1180. % A property which implements an interface may not have a stored specifier.
  1181. parser_e_implements_uses_non_implemented_interface=03243_E_Implements-property used on unimplemented interface: "$1"
  1182. % The interface which is implemented by a property is not an interface implemented by the class.
  1183. parser_e_unsupported_real=03244_E_Floating point not supported for this target
  1184. % The compiler parsed a floating point expression, but it is not supported.
  1185. parser_e_class_doesnt_implement_interface=03245_E_Class "$1" does not implement interface "$2"
  1186. % The delegated interface is not implemented by the class given in the implements clause.
  1187. parser_e_class_implements_must_be_interface=03246_E_Type used by implements must be an interface
  1188. % The \var{implements} keyword must be followed by an interface type.
  1189. parser_e_cant_export_var_different_name=03247_E_Variables cannot be exported with a different name on this target, add the name to the declaration using the "export" directive (variable name: $1, declared export name: $2)
  1190. % On most targets it is not possible to change the name under which a variable
  1191. % is exported inside the \var{exports} statement of a library.
  1192. % In that case, you have to specify the export name at the point where the
  1193. % variable is declared, using the \var{export} and \var{alias} directives.
  1194. parser_e_weak_external_not_supported=03248_E_Weak external symbols are not supported for the current target
  1195. % A "weak external" symbol is a symbol which may or may not exist at (either static
  1196. % or dynamic) link time. This concept may not be available (or implemented yet)
  1197. % on the current cpu/OS target.
  1198. parser_e_forward_mismatch=03249_E_Forward type definition does not match
  1199. % Classes and interfaces being defined forward must have the same type
  1200. % when being implemented. A forward interface cannot be changed into a class.
  1201. parser_n_ignore_lower_visibility=03250_N_Virtual method "$1" has a lower visibility ($2) than parent class $3 ($4)
  1202. % The virtual method overrides an method that is declared with a higher visibility. This might give
  1203. % unexpected results. E.g., in case the new visibility is private then a call to ``inherited'' in a
  1204. % new child class will call the higher-visible method in a parent class and ignores the private method.
  1205. parser_e_field_not_allowed_here=03251_E_Fields cannot appear after a method or property definition, start a new visibility section first
  1206. % Once a method or property has been defined in a class or object, you cannot define any fields afterwards
  1207. % without starting a new visibility section (such as \var{public}, \var{private}, etc.). The reason is
  1208. % that otherwise the source code can appear ambiguous to the compiler, since it is possible to use modifiers
  1209. % such as \var{default} and \var{register} also as field names.
  1210. parser_e_no_local_para_def=03252_E_Parameters or result types cannot contain local type definitions. Use a separate type definition in a type block.
  1211. % In Pascal, types are not considered to be identical simply because they are semantically equivalent.
  1212. % Two variables or parameters are only considered to be of the same type if they refer to the
  1213. % same type definition.
  1214. % As a result, it is not allowed to define new types inside parameter lists, because then it is impossible to
  1215. % refer to the same type definition in the procedure headers of the interface and implementation of a unit
  1216. % (both procedure headers would define a separate type). Keep in mind that expressions such as
  1217. % ``file of byte'' or ``string[50]'' also define a new type.
  1218. parser_e_abstract_and_sealed_conflict=03253_E_ABSTRACT and SEALED conflict
  1219. % ABSTRACT and SEALED cannot be used together in one declaration
  1220. parser_e_sealed_descendant=03254_E_Cannot create a descendant of the sealed class "$1"
  1221. % Sealed means that class cannot be derived by another class.
  1222. parser_e_sealed_class_cannot_have_abstract_methods=03255_E_SEALED class cannot have an ABSTRACT method
  1223. % Sealed means that class cannot be derived. Therefore no one class is able to override an abstract method in a sealed class.
  1224. parser_e_only_virtual_methods_final=03256_E_Only virtual methods can be final
  1225. % You are declaring a method as final, when it is not declared to be
  1226. % virtual.
  1227. parser_e_final_can_no_be_overridden=03257_E_Final method cannot be overridden: "$1"
  1228. % You are trying to \var{override} a virtual method of a parent class that does
  1229. % not exist.
  1230. parser_e_multiple_messages=03258_E_Only one message can be used per method.
  1231. % It is not possible to associate multiple messages with a single method.
  1232. parser_e_invalid_enumerator_identifier=03259_E_Invalid enumerator identifier: "$1"
  1233. % Only "MoveNext" and "Current" enumerator identifiers are supported.
  1234. parser_e_enumerator_identifier_required=03260_E_Enumerator identifier required
  1235. % "MoveNext" or "Current" identifier must follow the \var{enumerator} modifier.
  1236. parser_e_enumerator_movenext_is_not_valid=03261_E_Enumerator MoveNext pattern method is not valid. Method must be a function with the Boolean return type and no required arguments.
  1237. % "MoveNext" enumerator pattern method must be a function with Boolean return type and no required arguments
  1238. parser_e_enumerator_current_is_not_valid=03262_E_Enumerator Current pattern property is not valid. Property must have a getter.
  1239. % "Current" enumerator pattern property must have a getter
  1240. parser_e_only_one_enumerator_movenext=03263_E_Only one enumerator MoveNext method is allowed per class/object
  1241. % Class or Object can have only one enumerator MoveNext declaration.
  1242. parser_e_only_one_enumerator_current=03264_E_Only one enumerator Current property is allowed per class/object
  1243. % Class or Object can have only one enumerator Current declaration.
  1244. parser_e_for_in_loop_cannot_be_used_for_the_type=03265_E_For in loop cannot be used for the type "$1"
  1245. % For in loop can be used not for all types. For example it cannot be used for the enumerations with jumps.
  1246. parser_e_objc_requires_msgstr=03266_E_Objective-C messages require their Objective-C selector name to be specified using the "message" directive.
  1247. % Objective-C messages require their Objective-C name (selector name) to be specified using the \var{message `someName:'} procedure directive.
  1248. % While bindings to other languages automatically generate such names based on the identifier you use (by replacing
  1249. % all underscores with colons), this is unsafe since nothing prevents an Objective-C method name to contain actual
  1250. % colons.
  1251. parser_e_objc_no_constructor_destructor=03267_E_Objective-C does not have formal constructors nor destructors. Use the alloc, initXXX and dealloc messages.
  1252. % The Objective-C language does not have any constructors or destructors. While there are some messages with a similar
  1253. % purpose (such as \var{init} and \var{dealloc}), these cannot be identified using automatic parsers and do not
  1254. % guarantee anything like Pascal constructors/destructors (e.g., you have to take care of only calling ``designated''
  1255. % inherited ``constructors''). For these reasons, we have opted to follow the standard Objective-C patterns for
  1256. % instance creation/destruction.
  1257. parser_e_message_string_too_long=03268_E_Message name is too long (max. 255 characters)
  1258. % Due to compiler implementation reasons, message names are currently limited to 255 characters.
  1259. parser_e_objc_message_name_too_long=03269_E_Objective-C message symbol name for "$1" is too long
  1260. % Due to compiler implementation reasons, mangled message names (i.e., the symbol names used in the assembler
  1261. % code) are currently limited to 255 characters.
  1262. parser_h_no_objc_parent=03270_H_Defining a new Objective-C root class. To derive from another root class (e.g., NSObject), specify it as the parent class.
  1263. % If no parent class is specified for an Object Pascal class, then it automatically derives from TObject.
  1264. % Objective-C classes however do not automatically derive from NSObject, because one can have multiple
  1265. % root classes in Objective-C. For example, in the Cocoa framework both NSObject and NSProxy are root classes.
  1266. % Therefore, you have to explicitly define a parent class (such as NSObject) if you want to derive your
  1267. % Objective-C class from it.
  1268. parser_e_no_objc_published=03271_E_Objective-C classes cannot have published sections.
  1269. % In Object Pascal, ``published'' determines whether or not RTTI is generated. Since the Objective-C runtime always needs
  1270. % RTTI for everything, this specified does not make sense for Objective-C classes.
  1271. parser_f_need_objc=03272_F_This module requires an Objective-C mode switch to be compiled
  1272. % This error indicates the use of Objective-C language features without an Objective-C mode switch
  1273. % active. Enable one via the -M command line switch, or the {\$modeswitch x} directive.
  1274. parser_e_must_use_override=03273_E_Inherited methods can only be overridden in Objective-C and Java, add "override" (inherited method defined in $1)
  1275. parser_h_should_use_override=03274_H_Inherited methods can only be overridden in Objective-C and Java, add "override" (inherited method defined in $1).
  1276. % It is not possible to \var{reintroduce} methods in Objective-C or Java like in Object Pascal. Methods with the same
  1277. % name always map to the same virtual method entry. In order to make this clear in the source code,
  1278. % the compiler always requires the \var{override} directive to be specified when implementing overriding
  1279. % Objective-C or Java methods in Pascal. If the implementation is external, this rule is relaxed because Objective-C and Java
  1280. % do not have any \var{override}-style keyword (since it's the default and only behaviour in these languages),
  1281. % which makes it hard for automated header conversion tools to include it everywhere.
  1282. % The type in which the inherited method is defined is explicitly mentioned, because this may either
  1283. % be an objcclass or an objccategory in case of Objective-C.
  1284. parser_e_objc_message_name_changed=03275_E_Message name "$1" in inherited class is different from message name "$2" in current class.
  1285. % An overriding Objective-C method cannot have a different message name than an inherited method. The reason
  1286. % is that these message names uniquely define the message to the Objective-C runtime, which means that
  1287. % giving them a different message name breaks the ``override'' semantics.
  1288. parser_e_unique_unsupported=03276_E_It is not yet possible to make unique copies of Objective-C or Java types
  1289. % Duplicating an Objective-C or Java type using \var{type x = type y;} is not yet supported. You may be able to
  1290. % obtain the desired effect using \var{type x = objcclass(y) end;} resp.{} \var{type x = class(y) end;} instead.
  1291. parser_e_no_category_as_types=03277_E_Objective-C categories and Object Pascal class helpers cannot be used as types
  1292. % It is not possible to declare a variable as an instance of an Objective-C
  1293. % category or an Object Pascal class helper. A category/class helper adds
  1294. % methods to the scope of an existing class, but does not define a type by
  1295. % itself. An exception of this rule is when inheriting an Object Pascal class
  1296. % helper from another class helper.
  1297. parser_e_no_category_override=03278_E_Categories do not override, but replace methods. Use "reintroduce" instead.
  1298. parser_e_must_use_reintroduce_objc=03279_E_Replaced methods can only be reintroduced in Objective-C, add "reintroduce" (replaced method defined in $1).
  1299. parser_h_should_use_reintroduce_objc=03280_H_Replaced methods can only be reintroduced in Objective-C, add "reintroduce" (replaced method defined in $1).
  1300. % A category replaces an existing method in an Objective-C class, rather than that it overrides it.
  1301. % Calling an inherited method from an category method will call that method in
  1302. % the extended class' parent, not in the extended class itself. The
  1303. % replaced method in the original class is basically lost, and can no longer be
  1304. % called or referred to. This behaviour corresponds somewhat more closely to
  1305. % \var{reintroduce} than to \var{override} (although in case of \var{reintroduce}
  1306. % in Object Pascal, hidden methods are still reachable via inherited).
  1307. % The type in which the inherited method is defined is explicitly mentioned, because this may either
  1308. % be an objcclass or an objccategory.
  1309. parser_e_implements_getter_not_default_cc=03281_E_Getter for implements interface must use the target's default calling convention.
  1310. % Interface getters are called via a helper in the run time library, and hence
  1311. % have to use the default calling convention for the target (\var{register} on
  1312. % i386 and x86\_64, \var{stdcall} on other architectures).
  1313. parser_e_no_refcounted_typed_file=03282_E_Typed files cannot contain reference-counted types.
  1314. % The data in a typed file cannot be of a reference counted type (such as
  1315. % \var{ansistring} or a record containing a field that is reference counted).
  1316. parser_e_operator_not_overloaded_2=03283_E_Operator is not overloaded: $2 "$1"
  1317. % You are trying to use an overloaded operator when it is not overloaded for
  1318. % this type.
  1319. parser_e_operator_not_overloaded_3=03284_E_Operator is not overloaded: "$1" $2 "$3"
  1320. % You are trying to use an overloaded operator when it is not overloaded for
  1321. % this type.
  1322. parser_e_more_array_elements_expected=03285_E_Expected another $1 array elements
  1323. % When declaring a typed constant array, you provided to few elements to initialize the array
  1324. parser_e_string_const_too_long=03286_E_String constant too long while ansistrings are disabled
  1325. % Only when a piece of code is compiled with ansistrings enabled (\var{\{\$H+\}}), string constants
  1326. % longer than 255 characters are allowed.
  1327. parser_e_invalid_univ_para=03287_E_Type cannot be used as univ parameter because its size is unknown at compile time: "$1"
  1328. % \var{univ} parameters are compatible with all values of the same size, but this
  1329. % cannot be checked in case a parameter's size is unknown at compile time.
  1330. parser_e_only_one_class_constructor_allowed=03288_E_Only one class constructor can be declared in class: "$1"
  1331. % You are trying to declare more than one class constructor but only one class constructor can be declared.
  1332. parser_e_only_one_class_destructor_allowed=03289_E_Only one class destructor can be declared in class: "$1"
  1333. % You are trying to declare more than one class destructor but only one class destructor can be declared.
  1334. parser_e_no_paras_for_class_constructor=03290_E_Class constructors can't have parameters
  1335. % You are declaring a class constructor with a parameter list. Class constructor methods
  1336. % cannot have parameters.
  1337. parser_e_no_paras_for_class_destructor=03291_E_Class destructors can't have parameters
  1338. % You are declaring a class destructor with a parameter list. Class destructor methods
  1339. % cannot have parameters.
  1340. parser_f_modeswitch_objc_required=03292_F_This construct requires the \{\$modeswitch objectivec1\} mode switch to be active
  1341. % Objective-Pascal constructs are not supported when \{\$modeswitch ObjectiveC1\}
  1342. % is not active.
  1343. parser_e_widestring_to_ansi_compile_time=03293_E_Unicodechar/string constants cannot be converted to ansi/shortstring at compile-time
  1344. % It is not possible to use unicodechar and unicodestring constants in
  1345. % constant expressions that have to be converted into an ansistring or shortstring
  1346. % at compile time, for example inside typed constants. The reason is that the
  1347. % compiler cannot know what the actual ansi encoding will be at run time.
  1348. parser_e_objc_enumerator_2_0=03294_E_For-in Objective-Pascal loops require \{\$modeswitch ObjectiveC2\} to be active
  1349. % Objective-C ``fast enumeration'' support was added in Objective-C 2.0, and
  1350. % hence the appropriate modeswitch has to be activated to expose this feature.
  1351. % Note that Objective-C 2.0 programs require Mac OS X 10.5 or later.
  1352. parser_e_objc_missing_enumeration_defs=03295_E_The compiler cannot find the NSFastEnumerationProtocol or NSFastEnumerationState type in the CocoaAll unit
  1353. % Objective-C for-in loops (fast enumeration) require that the compiler can
  1354. % find a unit called CocoaAll that contains definitions for the
  1355. % NSFastEnumerationProtocol and NSFastEnumerationState types. If you get this
  1356. % error, most likely the compiler is finding and loading an alternate CocoaAll
  1357. % unit.
  1358. parser_e_no_procvarnested_const=03296_E_Typed constants of the type 'procedure is nested' can only be initialized with NIL and global procedures/functions
  1359. % A nested procedural variable consists of two components: the address of the
  1360. % procedure/function to call (which is always known at compile time), and also
  1361. % a parent frame pointer (which is never known at compile time) in case the
  1362. % procedural variable contains a reference to a nested procedure/function.
  1363. % Therefore such typed constants can only be initialized with global
  1364. % functions/procedures since these do not require a parent frame pointer.
  1365. parser_f_no_generic_inside_generic=03297_F_Declaration of generic class inside another generic class is not allowed
  1366. % At the moment, scanner supports recording of only one token buffer at the time
  1367. % (guarded by internal error 200511173 in tscannerfile.startrecordtokens).
  1368. % Since generics are implemented by recording tokens, it is not possible to
  1369. % have declaration of generic class inside another generic class.
  1370. parser_e_forward_intf_declaration_must_be_resolved=03298_E_Forward declaration "$1" must be resolved before a class can conform to or implement it
  1371. % An Objective-C protocol or Java Interface must be fully defined before classes can conform to it.
  1372. % This error occurs in the following situation (example for Objective-C, but the same goes for Java interfaces):
  1373. % \begin{verbatim}
  1374. % Type MyProtocol = objcprotoocl;
  1375. % ChildClass = Class(NSObject,MyProtocol)
  1376. % ...
  1377. % end;
  1378. % \end{verbatim}
  1379. % where \var{MyProtocol} is declared but not defined.
  1380. parser_e_no_record_published=03299_E_Record types cannot have published sections
  1381. % Published sections can be used only inside classes.
  1382. parser_e_no_destructor_in_records=03300_E_Destructors aren't allowed in records or helpers
  1383. % Destructor declarations aren't allowed in records or helpers.
  1384. parser_e_class_methods_only_static_in_records=03301_E_Class methods must be static in records
  1385. % Class methods declarations aren't allowed in records without static modifier.
  1386. % Records have no inheritance and therefore non static class methods have no sence for them.
  1387. parser_e_no_parameterless_constructor_in_records=03302_E_Parameterless constructors aren't allowed in records or record/type helpers
  1388. % Constructor declarations with no arguments aren't allowed in records or record/type helpers.
  1389. parser_e_at_least_one_argument_must_be_of_type=03303_E_Either the result or at least one parameter must be of type "$1"
  1390. % It is required that either the result of the routine or at least one of its parameters be of the specified type.
  1391. % For example class operators either take an instance of the structured type in which they are defined, or they return one.
  1392. parser_e_cant_use_type_parameters_here=03304_E_Type parameters may require initialization/finalization - can't be used in variant records
  1393. % Type parameters may be specialized with types which (e.g. \var{ansistring}) need initialization/finalization
  1394. % code which is implicitly generated by the compiler.
  1395. parser_e_externals_no_section=03305_E_Variables being declared as external cannot be in a custom section
  1396. % A section directive is not valid for variables being declared as external.
  1397. parser_e_section_no_locals=03306_E_Non-static and non-global variables cannot have a section directive
  1398. % A variable placed in a custom section is always statically allocated so it must be either a static or global variable.
  1399. parser_e_not_allowed_in_helper=03307_E_"$1" is not allowed in helper types
  1400. % Some directives and specifiers like "virtual", "dynamic", "override" aren't
  1401. % allowed inside helper types in mode ObjFPC (they are ignored in mode Delphi),
  1402. % because they have no meaning within helpers. Also "abstract" isn't allowed in
  1403. % either mode.
  1404. parser_e_no_class_constructor_in_helpers=03308_E_Class constructors aren't allowed in helpers
  1405. % Class constructor declarations aren't allowed in helpers.
  1406. parser_e_inherited_not_in_record=03309_E_The use of "inherited" is not allowed in a record
  1407. % As records don't suppport inheritance the use of "inherited" is prohibited for
  1408. % these as well as for record helpers (in mode "Delphi" only).
  1409. parser_e_no_types_in_local_anonymous_records=03310_E_Type declarations are not allowed in local or anonymous records
  1410. % Records with types must be defined globally. Types cannot be defined inside records which are defined in a
  1411. % procedure or function or in anonymous records.
  1412. parser_e_duplicate_implements_clause=03311_E_Duplicate implements clause for interface "$1"
  1413. % A class may delegate an interface using the "implements" clause only to a single property. Delegating it multiple times
  1414. % is a error.
  1415. parser_e_mapping_no_implements=03312_E_Interface "$1" can't be delegated by "$2", it already has method resolutions
  1416. % Method resolution clause maps a method of an interface to a method of the current class. Therefore the current class
  1417. % has to implement the interface directly. Delegation is not possible.
  1418. parser_e_implements_no_mapping=03313_E_Interface "$1" can't have method resolutions, "$2" already delegates it
  1419. % Method resoulution is only possible for interfaces that are implemented directly, not by delegation.
  1420. parser_e_invalid_codepage=03314_E_Invalid codepage
  1421. % When declaring a string with a given codepage, the range of valid codepages values is limited
  1422. % to 0 to 65535.
  1423. parser_e_final_only_const_var=03315_E_Only fields (var-sections) and constants can be final in object types
  1424. % A final (class) field must be assigned a single value in the (class) constructor, and cannot
  1425. % be overwritten afterwards. A final (typed) constant is read-only.
  1426. parser_e_final_only_external=03316_E_Final fields are currently only supported for external classes
  1427. % Support for final fields in non-external classes requires a full data flow
  1428. % analysis implementation in FPC, which it currently still lacks.
  1429. parser_e_no_typed_const=03317_E_Typed constants are not allowed here, only formal constants are
  1430. % Java interfaces define a namespace in which formal constant can be defined,
  1431. % but since they define no storage it is not possible to define typed constants
  1432. % in them (those are more or less the same as initialised class fields).
  1433. parser_e_java_no_inherited_constructor=03318_E_Constructors are not automatically inherited in the JVM; explicitly add a constructor that calls the inherited one if you need it
  1434. % Java does not automatically add inherited constructors to child classes, so that they can be hidden.
  1435. % For compatibility with external Java code, FPC does the same. If you require access to the same
  1436. % constructors in a child class, define them in the child class and call the inherited one from
  1437. % there.
  1438. parser_d_internal_parser_string=03319_D_Parsing internally generated code: $1
  1439. % The compiler sometimes internally constructs Pascal code that is subsequently
  1440. % injected into the program. These messages display such code, in order to help
  1441. % with debugging errors in them.
  1442. parser_e_feature_unsupported_for_vm=03320_E_This language feature is not supported on managed VM targets
  1443. % Certain language features are not supported on targets that are managed virtual machines.
  1444. parser_e_jvm_invalid_virtual_constructor_call=03321_E_Calling a virtual constructor for the current instance inside another constructor is not possible on the JVM target
  1445. % The JVM does not natively support virtual constructor. Unforunately, we are not aware of a way to
  1446. % emulate them in a way that makes it possible to support calling virtual constructors
  1447. % for the current instance inside another constructor.
  1448. parser_e_method_lower_visibility=03322_E_Overriding method "$1" cannot have a lower visibility ($2) than in parent class $3 ($4)
  1449. % The JVM does not allow lowering the visibility of an overriding method.
  1450. parser_w_nostackframe_without_assembler=03323_W_Procedure/Function declared with call option NOSTACKFRAME but without ASSEMBLER
  1451. % nostackframe call modifier is supposed to be used in conjunction with assembler.
  1452. parser_e_nostackframe_with_locals=03324_E_Procedure/Function declared with call option NOSTACKFRAME but local stack size is $1
  1453. % nostackframe call modifier used without assembler modifier
  1454. % might still generate local stack needs.
  1455. parser_e_cannot_generate_property_getter_setter=03325_E_Cannot generate property getter/setter $1 because its name clashes with existing identifier $2
  1456. % Automatically generated getters/setters cannot have the same name as existing
  1457. % identifiers, because this may change the behaviour of existing code.
  1458. parser_w_overriding_property_getter_setter=03326_W_Automatically generated property getter/setter $1 overrides the same-named getter/setter in class $2
  1459. % Automatically generated property getters/setters on the JVM platform are virtual methods, because
  1460. % the JVM does not support non-virtual methods that can be changed in child classes. This means
  1461. % that if a child class changes an inherited property definition, the behaviour of that property
  1462. % can change compared to native targets since even if a variable is declared as the parent type,
  1463. % by calling the virtual method the getter from the child will be used. This is different from
  1464. % the behaviour on native targets or when not activating automatically generated setters/getters,
  1465. % because in that case only the declared type of a variable influences the property behaviour.
  1466. parser_w_case_difference_auto_property_getter_setter_prefix=03327_W_Case mismatch between declared property getter/setter $1 and automatically constructed name $2, not changing declared name
  1467. % If a property's specified getter/setter already corresponded to the naming convention specified
  1468. % by the automatic getter/setter generation setting except in terms of upper/lowercase, the
  1469. % compiler will print a warning because it cannot necessarily change that other declaration itself
  1470. % not can it add one using the correct case (it could conflict with the original declaration).
  1471. % Manually correct the case of the getter/setter to conform to the desired coding rules.
  1472. % \var{TChild} overrides
  1473. parser_e_no_consts_in_local_anonymous_records=03328_E_Constants declarations are not allowed in local or anonymous records
  1474. % Records with constants must be defined globally. Constants cannot be defined inside records which are defined in a
  1475. % procedure or function or in anonymous records.
  1476. parser_e_no_methods_in_local_anonymous_records=03329_E_Method declarations are not allowed in local or anonymous records
  1477. % Records with methods must be defined globally. Methods cannot be defined inside records which are defined in a
  1478. % procedure or function or in anonymous records.
  1479. parser_e_no_properties_in_local_anonymous_records=03330_E_Property declarations are not allowed in local or anonymous records
  1480. % Records with properties must be defined globally. Properties cannot be defined inside records which are defined in a
  1481. % procedure or function or in anonymous records.
  1482. parser_e_no_class_in_local_anonymous_records=03331_E_Class memeber declarations are not allowed in local or anonymous records
  1483. % Records with class members must be defined globally. Class members cannot be defined inside records which are defined in a
  1484. % procedure or function or in anonymous records.
  1485. %
  1486. % \end{description}
  1487. %
  1488. # Type Checking
  1489. #
  1490. # 04120 is the last used one
  1491. #
  1492. % \section{Type checking errors}
  1493. % This section lists all errors that can occur when type checking is
  1494. % performed.
  1495. % \begin{description}
  1496. type_e_mismatch=04000_E_Type mismatch
  1497. % This can happen in many cases:
  1498. % \begin{itemize}
  1499. % \item The variable you're assigning to is of a different type than the
  1500. % expression in the assignment.
  1501. % \item You are calling a function or procedure with parameters that are
  1502. % incompatible with the parameters in the function or procedure definition.
  1503. % \end{itemize}
  1504. type_e_incompatible_types=04001_E_Incompatible types: got "$1" expected "$2"
  1505. % There is no conversion possible between the two types.
  1506. % Another possiblity is that they are declared in different
  1507. % declarations:
  1508. % \begin{verbatim}
  1509. % Var
  1510. % A1 : Array[1..10] Of Integer;
  1511. % A2 : Array[1..10] Of Integer;
  1512. %
  1513. % Begin
  1514. % A1:=A2; { This statement also gives this error. It
  1515. % is due to the strict type checking of Pascal }
  1516. % End.
  1517. % \end{verbatim}
  1518. type_e_not_equal_types=04002_E_Type mismatch between "$1" and "$2"
  1519. % The types are not equal.
  1520. type_e_type_id_expected=04003_E_Type identifier expected
  1521. % The identifier is not a type, or you forgot to supply a type identifier.
  1522. type_e_variable_id_expected=04004_E_Variable identifier expected
  1523. % This happens when you pass a constant to a routine (such as \var{Inc} var or \var{Dec})
  1524. % when it expects a variable. You can only pass variables as arguments to these functions.
  1525. type_e_integer_expr_expected=04005_E_Integer expression expected, but got "$1"
  1526. % The compiler expects an expression of type integer, but gets a different
  1527. % type.
  1528. type_e_boolean_expr_expected=04006_E_Boolean expression expected, but got "$1"
  1529. % The expression must be a boolean type. It should be return \var{True} or
  1530. % \var{False}.
  1531. type_e_ordinal_expr_expected=04007_E_Ordinal expression expected
  1532. % The expression must be of ordinal type, i.e., maximum a \var{Longint}.
  1533. % This happens, for instance, when you specify a second argument
  1534. % to \var{Inc} or \var{Dec} that doesn't evaluate to an ordinal value.
  1535. type_e_pointer_type_expected=04008_E_pointer type expected, but got "$1"
  1536. % The variable or expression isn't of the type \var{pointer}. This
  1537. % happens when you pass a variable that isn't a pointer to \var{New}
  1538. % or \var{Dispose}.
  1539. type_e_class_type_expected=04009_E_class type expected, but got "$1"
  1540. % The variable or expression isn't of the type \var{class}. This happens
  1541. % typically when
  1542. % \begin{enumerate}
  1543. % \item The parent class in a class declaration isn't a class.
  1544. % \item An exception handler (\var{On}) contains a type identifier that
  1545. % isn't a class.
  1546. % \end{enumerate}
  1547. type_e_cant_eval_constant_expr=04011_E_Can't evaluate constant expression
  1548. % This error can occur when the bounds of an array you declared do
  1549. % not evaluate to ordinal constants.
  1550. type_e_set_element_are_not_comp=04012_E_Set elements are not compatible
  1551. % You are trying to perform an operation on two sets, when the set element types
  1552. % are not the same. The base type of a set must be the same when taking the
  1553. % union.
  1554. type_e_set_operation_unknown=04013_E_Operation not implemented for sets
  1555. % several binary operations are not defined for sets.
  1556. % These include: \var{div}, \var{mod}, \var{**}, \var{>=} and \var{<=}.
  1557. % The last two may be defined for sets in the future.
  1558. type_w_convert_real_2_comp=04014_W_Automatic type conversion from floating type to COMP which is an integer type
  1559. % An implicit type conversion from a real type to a \var{comp} is
  1560. % encountered. Since \var{comp} is a 64 bit integer type, this may indicate
  1561. % an error.
  1562. type_h_use_div_for_int=04015_H_use DIV instead to get an integer result
  1563. % When hints are on, then an integer division with the '/' operator will
  1564. % produce this message, because the result will then be of type real.
  1565. type_e_strict_var_string_violation=04016_E_String types have to match exactly in $V+ mode
  1566. % When compiling in \var{\{\$V+\}} mode, the string you pass as a parameter
  1567. % should be of the exact same type as the declared parameter of the procedure.
  1568. type_e_succ_and_pred_enums_with_assign_not_possible=04017_E_succ or pred on enums with assignments not possible
  1569. % If you declare an enumeration type which has C-like assignments
  1570. % in it, such as in the following:
  1571. % \begin{verbatim}
  1572. % Tenum = (a,b,e:=5);
  1573. % \end{verbatim}
  1574. % then you cannot use the \var{Succ} or \var{Pred} functions with this enumeration.
  1575. type_e_cant_read_write_type=04018_E_Can't read or write variables of this type
  1576. % You are trying to \var{read} or \var{write} a variable from or to a
  1577. % file of type text, which doesn't support that variable's type.
  1578. % Only integer types, reals, pchars and strings can be read from or
  1579. % written to a text file. Booleans can only be written to text files.
  1580. type_e_no_readln_writeln_for_typed_file=04019_E_Can't use readln or writeln on typed file
  1581. % \var{readln} and \var{writeln} are only allowed for text files.
  1582. type_e_no_read_write_for_untyped_file=04020_E_Can't use read or write on untyped file.
  1583. % \var{read} and \var{write} are only allowed for text or typed files.
  1584. type_e_typeconflict_in_set=04021_E_Type conflict between set elements
  1585. % There is at least one set element which is of the wrong type, i.e. not of
  1586. % the set type.
  1587. type_w_maybe_wrong_hi_lo=04022_W_lo/hi(dword/qword) returns the upper/lower word/dword
  1588. % \fpc supports an overloaded version of \var{lo/hi} for \var{longint/dword/int64/qword}
  1589. % which returns the lower/upper word/dword of the argument. \tp always uses
  1590. % a 16 bit \var{lo/hi} which always returns bits 0..7 for \var{lo} and the
  1591. % bits 8..15 for \var{hi}. If you want the \tp behavior you have
  1592. % to type cast the argument to a \var{word} or \var{integer}.
  1593. type_e_integer_or_real_expr_expected=04023_E_Integer or real expression expected
  1594. % The first argument to \var{str} must be a real or integer type.
  1595. type_e_wrong_type_in_array_constructor=04024_E_Wrong type "$1" in array constructor
  1596. % You are trying to use a type in an array constructor which is not
  1597. % allowed.
  1598. type_e_wrong_parameter_type=04025_E_Incompatible type for arg no. $1: Got "$2", expected "$3"
  1599. % You are trying to pass an invalid type for the specified parameter.
  1600. type_e_no_method_and_procedure_not_compatible=04026_E_Method (variable) and Procedure (variable) are not compatible
  1601. % You can't assign a method to a procedure variable or a procedure to a
  1602. % method pointer.
  1603. type_e_wrong_math_argument=04027_E_Illegal constant passed to internal math function
  1604. % The constant argument passed to a \var{ln} or \var{sqrt} function is out of
  1605. % the definition range of these functions.
  1606. type_e_no_addr_of_constant=04028_E_Can't take the address of constant expressions
  1607. % It is not possible to get the address of a constant expression, because they
  1608. % aren't stored in memory. You can try making it a typed constant. This error
  1609. % can also be displayed if you try to pass a property to a var parameter.
  1610. type_e_argument_cant_be_assigned=04029_E_Argument can't be assigned to
  1611. % Only expressions which can be on the left side of an
  1612. % assignment can be passed as call by reference arguments.
  1613. %
  1614. % Remark: Properties can be used on the left side of an assignment,
  1615. % nevertheless they cannot be used as arguments.
  1616. type_e_cannot_local_proc_to_procvar=04030_E_Can't assign local procedure/function to procedure variable
  1617. % It's not allowed to assign a local procedure/function to a
  1618. % procedure variable, because the calling convention of a local procedure/function is
  1619. % different. You can only assign local procedure/function to a void pointer.
  1620. type_e_no_assign_to_addr=04031_E_Can't assign values to an address
  1621. % It is not allowed to assign a value to an address of a variable, constant,
  1622. % procedure or function. You can try compiling with -So if the identifier
  1623. % is a procedure variable.
  1624. type_e_no_assign_to_const=04032_E_Can't assign values to const variable
  1625. % It's not allowed to assign a value to a variable which is declared
  1626. % as a const. This is normally a parameter declared as const. To allow
  1627. % changing the value, pass the parameter by value, or a parameter by reference
  1628. % (using var).
  1629. type_e_array_required=04033_E_Array type required
  1630. % If you are accessing a variable using an index '[<x>]' then
  1631. % the type must be an array. In FPC mode a pointer is also allowed.
  1632. type_e_interface_type_expected=04034_E_interface type expected, but got "$1"
  1633. % The compiler expected to encounter an interface type name, but got something else.
  1634. % The following code would produce this error:
  1635. % \begin{verbatim}
  1636. % Type
  1637. % TMyStream = Class(TStream,Integer)
  1638. % \end{verbatim}
  1639. type_h_mixed_signed_unsigned=04035_H_Mixing signed expressions and longwords gives a 64bit result
  1640. % If you divide (or calculate the modulus of) a signed expression by a longword (or vice versa),
  1641. % or if you have overflow and/or range checking turned on and use an arithmetic
  1642. % expression (+, -, *, div, mod) in which both signed numbers and longwords appear,
  1643. % then everything has to be evaluated in 64-bit arithmetic which is slower than normal
  1644. % 32-bit arithmetic. You can avoid this by typecasting one operand so it
  1645. % matches the result type of the other one.
  1646. type_w_mixed_signed_unsigned2=04036_W_Mixing signed expressions and cardinals here may cause a range check error
  1647. % If you use a binary operator (and, or, xor) and one of
  1648. % the operands is a longword while the other one is a signed expression, then,
  1649. % if range checking is turned on, you may get a range check error because in
  1650. % such a case both operands are converted to longword before the operation is
  1651. % carried out. You can avoid this by typecasting one operand so it
  1652. % matches the result type of the other one.
  1653. type_e_typecast_wrong_size_for_assignment=04037_E_Typecast has different size ($1 -> $2) in assignment
  1654. % Type casting to a type with a different size is not allowed when the variable is
  1655. % used in an assignment.
  1656. type_e_array_index_enums_with_assign_not_possible=04038_E_enums with assignments can't be used as array index
  1657. % When you declared an enumeration type which has C-like
  1658. % assignments, such as in the following:
  1659. % \begin{verbatim}
  1660. % Tenum = (a,b,e:=5);
  1661. % \end{verbatim}
  1662. % you cannot use it as the index of an array.
  1663. type_e_classes_not_related=04039_E_Class or Object types "$1" and "$2" are not related
  1664. % There is a typecast from one class or object to another while the class/object
  1665. % are not related. This will probably lead to errors.
  1666. type_w_classes_not_related=04040_W_Class types "$1" and "$2" are not related
  1667. % There is a typecast from one class to another while the classes
  1668. % are not related. This will probably lead to errors.
  1669. type_e_class_or_interface_type_expected=04041_E_Class or interface type expected, but got "$1"
  1670. % The compiler expected a class or interface name, but got another type or identifier.
  1671. type_e_type_is_not_completly_defined=04042_E_Type "$1" is not completely defined
  1672. % This error occurs when a type is not complete: i.e. a pointer type which points to
  1673. % an undefined type.
  1674. type_w_string_too_long=04043_W_String literal has more characters than short string length
  1675. % The size of the constant string, which is assigned to a shortstring,
  1676. % is longer than the maximum size of the shortstring (255 characters).
  1677. type_w_comparison_always_false=04044_W_Comparison might be always false due to range of constant and expression
  1678. % There is a comparison between a constant and an expression where the constant is out of the
  1679. % valid range of values of the expression. Because of type promotion, the statement will always evaluate to
  1680. % false. Explicitly typecast the constant or the expression to the correct range to avoid this warning
  1681. % if you think the code is correct.
  1682. type_w_comparison_always_true=04045_W_Comparison might be always true due to range of constant and expression
  1683. % There is a comparison between a constant and an expression where the constant is out of the
  1684. % valid range of values of the expression. Because of type promotion, the statement will always evaluate to
  1685. % true. Explicitly typecast the constant or the expression to the correct range to avoid this warning
  1686. % if you think the code is correct.
  1687. type_w_instance_with_abstract=04046_W_Constructing a class "$1" with abstract method "$2"
  1688. % An instance of a class is created which contains non-implemented abstract
  1689. % methods. This will probably lead to a runtime error 211 in the code if that
  1690. % routine is ever called. All abstract methods should be overridden.
  1691. type_h_in_range_check=04047_H_The left operand of the IN operator should be byte sized
  1692. % The left operand of the \var{in} operator is not an ordinal or enumeration which fits
  1693. % within 8 bits. This may lead to range check errors. The \var{in} operator
  1694. % currently only supports a left operand which fits within a byte. In the case of
  1695. % enumerations, the size of an element of an enumeration can be controlled with
  1696. % the \var{\{\$PACKENUM\}} or \var{\{\$Zn\}} switches.
  1697. type_w_smaller_possible_range_check=04048_W_Type size mismatch, possible loss of data / range check error
  1698. % There is an assignment to a smaller type than the source type. This means that
  1699. % this may cause a range-check error, or may lead to possible loss of data.
  1700. type_h_smaller_possible_range_check=04049_H_Type size mismatch, possible loss of data / range check error
  1701. % There is an assignment to a smaller type than the source type. This means that
  1702. % this may cause a range-check error, or may lead to possible loss of data.
  1703. type_e_cant_take_address_of_abstract_method=04050_E_The address of an abstract method can't be taken
  1704. % An abstract method has no body, so the address of an abstract method can't be taken.
  1705. type_e_assignment_not_allowed=04051_E_Assignments to formal parameters and open arrays are not possible
  1706. % You are trying to assign a value to a formal (untyped var, const or out)
  1707. % parameter, or to an open array.
  1708. type_e_constant_expr_expected=04052_E_Constant Expression expected
  1709. % The compiler expects an constant expression, but gets a variable expression.
  1710. type_e_operator_not_supported_for_types=04053_E_Operation "$1" not supported for types "$2" and "$3"
  1711. % The operation is not allowed for the supplied types.
  1712. type_e_illegal_type_conversion=04054_E_Illegal type conversion: "$1" to "$2"
  1713. % When doing a type-cast, you must take care that the sizes of the variable and
  1714. % the destination type are the same.
  1715. type_h_pointer_to_longint_conv_not_portable=04055_H_Conversion between ordinals and pointers is not portable
  1716. % If you typecast a pointer to a longint (or vice-versa), this code will not compile
  1717. % on a machine using 64 bits addressing.
  1718. type_w_pointer_to_longint_conv_not_portable=04056_W_Conversion between ordinals and pointers is not portable
  1719. % If you typecast a pointer to an ordinal type of a different size (or vice-versa), this can
  1720. % cause problems. This is a warning to help in finding the 32-bit specific code where cardinal/longint is used
  1721. % to typecast pointers to ordinals. A solution is to use the ptrint/ptruint types instead.
  1722. type_e_cant_choose_overload_function=04057_E_Can't determine which overloaded function to call
  1723. % You're calling overloaded functions with a parameter that doesn't correspond
  1724. % to any of the declared function parameter lists. e.g. when you have declared
  1725. % a function with parameters \var{word} and \var{longint}, and then you call
  1726. % it with a parameter which is of type \var{integer}.
  1727. type_e_illegal_count_var=04058_E_Illegal counter variable
  1728. % The type of a \var{for} loop variable must be an ordinal type.
  1729. % Loop variables cannot be reals or strings.
  1730. type_w_double_c_varargs=04059_W_Converting constant real value to double for C variable argument, add explicit typecast to prevent this.
  1731. % In C, constant real values are double by default. For this reason, if you
  1732. % pass a constant real value to a variable argument part of a C function, FPC
  1733. % by default converts this constant to double as well. If you want to prevent
  1734. % this from happening, add an explicit typecast around the constant.
  1735. type_e_class_or_cominterface_type_expected=04060_E_Class or COM interface type expected, but got "$1"
  1736. % Some operators, such as the AS operator, are only applicable to classes or COM interfaces.
  1737. type_e_no_const_packed_array=04061_E_Constant packed arrays are not yet supported
  1738. % You cannot declare a (bit)packed array as a typed constant.
  1739. type_e_got_expected_packed_array=04062_E_Incompatible type for arg no. $1: Got "$2" expected "(Bit)Packed Array"
  1740. % The compiler expects a (bit)packed array as the specified parameter.
  1741. type_e_got_expected_unpacked_array=04063_E_Incompatible type for arg no. $1: Got "$2" expected "(not packed) Array"
  1742. % The compiler expects a regular (i.e., not packed) array as the specified parameter.
  1743. type_e_no_packed_inittable=04064_E_Elements of packed arrays cannot be of a type which need to be initialised
  1744. % Support for packed arrays of types that need initialization
  1745. % (such as ansistrings, or records which contain ansistrings) is not yet implemented.
  1746. type_e_no_const_packed_record=04065_E_Constant packed records and objects are not yet supported
  1747. % You cannot declare a (bit)packed array as a typed constant at this time.
  1748. type_w_untyped_arithmetic_unportable=04066_W_Arithmetic "$1" on untyped pointer is unportable to {$T+}, suggest typecast
  1749. % Addition/subtraction from an untyped pointer may work differently in \var{\{\$T+\}}.
  1750. % Use a typecast to a typed pointer.
  1751. type_e_cant_take_address_of_local_subroutine=04076_E_Can't take address of a subroutine marked as local
  1752. % The address of a subroutine marked as local can't be taken.
  1753. type_e_cant_export_local=04077_E_Can't export subroutine marked as local from a unit
  1754. % A subroutine marked as local can't be exported from a unit.
  1755. type_e_not_automatable=04078_E_Type is not automatable: "$1"
  1756. % Only byte, integer, longint, smallint, currency, single, double, ansistring,
  1757. % widestring, tdatetime, variant, olevariant, wordbool and all interfaces are automatable.
  1758. type_h_convert_add_operands_to_prevent_overflow=04079_H_Converting the operands to "$1" before doing the add could prevent overflow errors.
  1759. % Adding two types can cause overflow errors. Since you are converting the result to a larger type, you
  1760. % could prevent such errors by converting the operands to this type before doing the addition.
  1761. type_h_convert_sub_operands_to_prevent_overflow=04080_H_Converting the operands to "$1" before doing the subtract could prevent overflow errors.
  1762. % Subtracting two types can cause overflow errors. Since you are converting the result to a larger type, you
  1763. % could prevent such errors by converting the operands to this type before doing the subtraction.
  1764. type_h_convert_mul_operands_to_prevent_overflow=04081_H_Converting the operands to "$1" before doing the multiply could prevent overflow errors.
  1765. % Multiplying two types can cause overflow errors. Since you are converting the result to a larger type, you
  1766. % could prevent such errors by converting the operands to this type before doing the multiplication.
  1767. type_w_pointer_to_signed=04082_W_Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
  1768. % The virtual address space on 32-bit machines runs from \$00000000 to \$ffffffff.
  1769. % Many operating systems allow you to allocate memory above \$80000000.
  1770. % For example both \windows and \linux allow pointers in the range \$0000000 to \$bfffffff.
  1771. % If you convert pointers to signed types, this can cause overflow and range check errors,
  1772. % but also \$80000000 < \$7fffffff. This can cause random errors in code like "if p>q".
  1773. type_e_interface_has_no_guid=04083_E_Interface type $1 has no valid GUID
  1774. % When applying the as-operator to an interface or class, the desired interface (i.e. the right operand of the
  1775. % as-operator) must have a valid GUID.
  1776. type_e_invalid_objc_selector_name=04084_E_Invalid selector name "$1"
  1777. % An Objective-C selector cannot be empty, must be a valid identifier or a single colon,
  1778. % and if it contains at least one colon it must also end in one.
  1779. type_e_expected_objc_method_but_got=04085_E_Expected Objective-C method, but got $1
  1780. % A selector can only be created for Objective-C methods, not for any other kind
  1781. % of procedure/function/method.
  1782. type_e_expected_objc_method=04086_E_Expected Objective-C method or constant method name
  1783. % A selector can only be created for Objective-C methods, either by specifying
  1784. % the name using a string constant, or by using an Objective-C method identifier
  1785. % that is visible in the current scope.
  1786. type_e_no_type_info=04087_E_No type info available for this type
  1787. % Type information is not generated for some types, such as enumerations with gaps
  1788. % in their value range (this includes enumerations whose lower bound is different
  1789. % from zero).
  1790. type_e_ordinal_or_string_expr_expected=04088_E_Ordinal or string expression expected
  1791. % The expression must be an ordinal or string type.
  1792. type_e_string_expr_expected=04089_E_String expression expected
  1793. % The expression must be a string type.
  1794. type_w_zero_to_nil=04090_W_Converting 0 to NIL
  1795. % Use NIL rather than 0 when initialising a pointer.
  1796. type_e_protocol_type_expected=04091_E_Objective-C protocol type expected, but got "$1"
  1797. % The compiler expected a protocol type name, but found something else.
  1798. type_e_objc_type_unsupported=04092_E_The type "$1" is not supported for interaction with the Objective-C runtime.
  1799. % Objective-C makes extensive use of run time type information (RTTI). This format
  1800. % is defined by the maintainers of the run time and can therefore not be adapted
  1801. % to all possible Object Pascal types. In particular, types that depend on
  1802. % reference counting by the compiler (such as ansistrings and certain kinds of
  1803. % interfaces) cannot be used as fields of Objective-C classes, cannot be
  1804. % directly passed to Objective-C methods, and cannot be encoded using \var{objc\_encode}.
  1805. type_e_class_or_objcclass_type_expected=04093_E_Class or objcclass type expected, but got "$1"
  1806. % It is only possible to create class reference types of \var{class} and \var{objcclass}
  1807. type_e_objcclass_type_expected=04094_E_Objcclass type expected
  1808. % The compiler expected an \var{objcclass} type
  1809. type_w_procvar_univ_conflicting_para=04095_W_Coerced univ parameter type in procedural variable may cause crash or memory corruption: $1 to $2
  1810. % \var{univ} parameters are implicitly compatible with all types of the same size,
  1811. % also in procedural variable definitions. That means that the following code is
  1812. % legal, because \var{single} and \var{longint} have the same size:
  1813. % \begin{verbatim}
  1814. % {$mode macpas}
  1815. % Type
  1816. % TIntProc = procedure (l: univ longint);
  1817. %
  1818. % procedure test(s: single);
  1819. % begin
  1820. % writeln(s);
  1821. % end;
  1822. %
  1823. % var
  1824. % p: TIntProc;
  1825. % begin
  1826. % p:=test;
  1827. % p(4);
  1828. % end.
  1829. % \end{verbatim}
  1830. % This code may however crash on platforms that pass integers in registers and
  1831. % floating point values on the stack, because then the stack will be unbalanced.
  1832. % Note that this warning will not flagg all potentially dangerous situations.
  1833. % when \var{test} returns.
  1834. type_e_generics_cannot_reference_itself=04096_E_Type parameters of specializations of generics cannot reference the currently specialized type
  1835. % Recursive specializations of generics like \var{Type MyType = specialize MyGeneric<MyType>;} are not possible.
  1836. type_e_type_parameters_are_not_allowed_here=04097_E_Type parameters are not allowed on non-generic class/record/object procedure or function
  1837. % Type parameters are only allowed for methods of generic classes, records or objects
  1838. type_e_generic_declaration_does_not_match=04098_E_Generic declaration of "$1" differs from previous declaration
  1839. % Generic declaration does not match the previous declaration
  1840. type_e_helper_type_expected=04099_E_Helper type expected
  1841. % The compiler expected a \var{class helper} type.
  1842. type_e_record_type_expected=04100_E_Record type expected
  1843. % The compiler expected a \var{record} type.
  1844. type_e_class_helper_must_extend_subclass=04101_E_Derived class helper must extend a subclass of "$1" or the class itself
  1845. % If a class helper inherits from another class helper the extended class must
  1846. % extend either the same class as the parent class helper or a subclass of it
  1847. type_e_record_helper_must_extend_same_record=04102_E_Derived record or type helper must extend "$1"
  1848. % If a record helper inherits from another record helper it must extend the same
  1849. % record that the parent record helper extended.
  1850. type_e_procedures_return_no_value=04103_E_Invalid assignment, procedures return no value
  1851. % This error occurs when one tries to assign the result of a procedure or destructor call.
  1852. % A procedure or destructor returns no value so this is not
  1853. % possible.
  1854. type_w_implicit_string_cast=04104_W_Implicit string type conversion from "$1" to "$2"
  1855. % An implicit type conversion from an ansi string type to an unicode string type is
  1856. % encountered. To avoid this warning perform an explicit type conversion.
  1857. type_w_implicit_string_cast_loss=04105_W_Implicit string type conversion with potential data loss from "$1" to "$2"
  1858. % An implicit type conversion from an unicode string type to an ansi string type is
  1859. % encountered. This conversion can lose data since not all unicode characters may be represented in the codepage of
  1860. % destination string type.
  1861. type_w_explicit_string_cast=04106_-W_Explicit string typecast from "$1" to "$2"
  1862. % An explicit typecast from an ansi string type to an unicode string type is
  1863. % encountered. This warning is off by default. You can turn it on to see all suspicious string conversions.
  1864. type_w_explicit_string_cast_loss=04107_-W_Explicit string typecast with potential data loss from "$1" to "$2"
  1865. % An explicit typecast from an unicode string type to an ansi string type is
  1866. % encountered. This conversion can lose data since not all unicode characters may be represented in the codepage of
  1867. % destination string type. This warning is off by default. You can turn it on to see all the places with lossy string
  1868. % conversions.
  1869. type_w_unicode_data_loss=04108_W_Unicode constant cast with potential data loss
  1870. % Conversion from a WideChar to AnsiChar can lose data since now all unicode characters may be represented in the current
  1871. % system codepage
  1872. % You can nest function definitions only 31 levels deep.
  1873. type_e_range_check_error_bounds=04109_E_range check error while evaluating constants ($1 must be between $2 and $3)
  1874. type_w_range_check_error_bounds=04110_W_range check error while evaluating constants ($1 must be between $2 and $3)
  1875. % The constants are outside their allowed range.
  1876. type_e_type_not_allowed_for_default=04111_E_This type is not supported for the Default() intrinsic
  1877. % Some types like for example Text and File Of X are not supported by the Default intrinsic.
  1878. type_e_java_class_method_not_static_virtual=04112_E_JVM virtual class methods cannot be static
  1879. % Virtual class methods cannot be static when targetting the JVM platform, because
  1880. % the self pointer is required for correct dispatching.
  1881. type_e_invalid_final_assignment=04113_E_Final (class) fields can only be assigned in their class' (class) constructor
  1882. % It is only possible to assign a value to a final (class) field inside a (class) constructor of its owning class.
  1883. type_e_no_managed_formal_assign_typecast=04114_E_It is not possible to typecast untyped parameters on managed platforms, simply assign a value to them instead.
  1884. % On managed platforms, untyped parameters are translated by the compiler into
  1885. % the equivalent of \var{var x: BaseClassType}. Non-class-based types passed to
  1886. % such parameters are automatically wrapped (or boxed) in a class, and after the
  1887. % call the potentially modified value is assigned back to the original variable.
  1888. % On the caller side, changing untyped var/out parameters happens by simply assigning
  1889. % values to them (either class-based or primitive ones). On the caller side,
  1890. % they will be extracted and if their type does not match the original variable's,
  1891. % an exception will be raised.
  1892. type_e_no_managed_assign_generic_typecast=04115_E_The assignment side of an expression cannot be typecasted to a supertype on managed platforms
  1893. % Managed platforms guarantee type safety at the bytecode level. This means that the virtual machine must be able
  1894. % to statically determine that no type-unsafe assignments or operations occur. By assigning a parent class type to a
  1895. % variable of a child type by typecasting the assignment side to the parent class type, the type safety would no
  1896. % longer be guaranteed and the generated code would fail verification at run time time.
  1897. type_w_interface_lower_visibility=04116_-W_The interface method "$1" raises the visibility of "$2" to public when accessed via an interface instance
  1898. type_e_interface_lower_visibility=04117_E_The interface method "$1" has a higher visibility (public) than "$2"
  1899. % All methods in an interface have always public visibility. That means that if
  1900. % an interface method is implemented using a (strict) protected or private method,
  1901. % this method is actually publicly accessible via the interface. On the JVM
  1902. % target this situation results in an error because the JVM rejects such
  1903. % attempts to circumvent the visibility rules. On other targets this is a
  1904. % warning that is disabled by default because such situations are common
  1905. % practice, but it can be enabled in case you are concerned with keeping your
  1906. % code compilable for the JVM target.
  1907. type_e_typeof_requires_vmt=04118_E_TYPEOF can only be used on object types with VMT
  1908. % Typeof() intrinsic returns pointer to VMT of its argument. It cannot be used on object types that do not have VMT.
  1909. type_e_invalid_default_value=04119_E_It is not possible to define a default value for a parameter of type "$1"
  1910. % Parameters declared as structured types, such as files, variants, non-dynamic
  1911. % arrays and TP-style objects, cannot have a default value.
  1912. type_e_type_not_allowed_for_type_helper=04120_E_Type "$1" can not be extended by a type helper
  1913. % Types like procedural variables can not be extended by type helpers
  1914. % \end{description}
  1915. #
  1916. # Symtable
  1917. #
  1918. # 05087 is the last used one
  1919. #
  1920. % \section{Symbol handling}
  1921. % This section lists all the messages that concern the handling of symbols.
  1922. % This means all things that have to do with procedure and variable names.
  1923. % \begin{description}
  1924. sym_e_id_not_found=05000_E_Identifier not found "$1"
  1925. % The compiler doesn't know this symbol. Usually happens when you misspell
  1926. % the name of a variable or procedure, or when you forget to declare a
  1927. % variable.
  1928. sym_f_internal_error_in_symtablestack=05001_F_Internal Error in SymTableStack()
  1929. % An internal error occurred in the compiler; If you encounter such an error,
  1930. % please contact the developers and try to provide an exact description of
  1931. % the circumstances in which the error occurs.
  1932. sym_e_duplicate_id=05002_E_Duplicate identifier "$1"
  1933. % The identifier was already declared in the current scope.
  1934. sym_h_duplicate_id_where=05003_H_Identifier already defined in $1 at line $2
  1935. % The identifier was already declared in a previous scope.
  1936. sym_e_unknown_id=05004_E_Unknown identifier "$1"
  1937. % The identifier encountered has not been declared, or is used outside the
  1938. % scope where it is defined.
  1939. sym_e_forward_not_resolved=05005_E_Forward declaration not solved "$1"
  1940. % This can happen in two cases:
  1941. % \begin{itemize}
  1942. % \item You declare a function in the \var{interface} part, or
  1943. % with a \var{forward} directive, but do not implement it.
  1944. % \item You reference a type which isn't declared in the current \var{type}
  1945. % block.
  1946. % \end{itemize}
  1947. sym_e_error_in_type_def=05007_E_Error in type definition
  1948. % There is an error in your definition of a new array type.
  1949. % One of the range delimiters in an array declaration is erroneous.
  1950. % For example, \var{Array [1..1.25]} will trigger this error.
  1951. sym_e_forward_type_not_resolved=05009_E_Forward type not resolved "$1"
  1952. % A symbol was forward defined, but no declaration was encountered.
  1953. sym_e_only_static_in_static=05010_E_Only static variables can be used in static methods or outside methods
  1954. % A static method of an object can only access static variables.
  1955. sym_f_type_must_be_rec_or_class=05012_F_record or class type expected
  1956. % The variable or expression isn't of the type \var{record} or \var{class}.
  1957. sym_e_no_instance_of_abstract_object=05013_E_Instances of classes or objects with an abstract method are not allowed
  1958. % You are trying to generate an instance of a class which has an abstract
  1959. % method that wasn't overridden.
  1960. sym_w_label_not_defined=05014_W_Label not defined "$1"
  1961. % A label was declared, but not defined.
  1962. sym_e_label_used_and_not_defined=05015_E_Label used but not defined "$1"
  1963. % A label was declared and used, but not defined.
  1964. sym_e_ill_label_decl=05016_E_Illegal label declaration
  1965. % This error should never happen; it occurs if a label is defined outside a
  1966. % procedure or function.
  1967. sym_e_goto_and_label_not_supported=05017_E_GOTO and LABEL are not supported (use switch -Sg)
  1968. % You must use the -Sg switch to compile a program which has \var{label}s
  1969. % and \var{goto} statements. By default, \var{label} and \var{goto} aren't
  1970. % supported.
  1971. sym_e_label_not_found=05018_E_Label not found
  1972. % A \var{goto label} was encountered, but the label wasn't declared.
  1973. sym_e_id_is_no_label_id=05019_E_identifier isn't a label
  1974. % The identifier specified after the \var{goto} isn't of type label.
  1975. sym_e_label_already_defined=05020_E_label already defined
  1976. % You are defining a label twice. You can define a label only once.
  1977. sym_e_ill_type_decl_set=05021_E_illegal type declaration of set elements
  1978. % The declaration of a set contains an invalid type definition.
  1979. sym_e_class_forward_not_resolved=05022_E_Forward class definition not resolved "$1"
  1980. % You declared a class, but you did not implement it.
  1981. sym_n_unit_not_used=05023_H_Unit "$1" not used in $2
  1982. % The unit referenced in the \var{uses} clause is not used.
  1983. sym_h_para_identifier_not_used=05024_H_Parameter "$1" not used
  1984. % The identifier was declared (locally or globally) but
  1985. % was not used (locally or globally).
  1986. sym_n_local_identifier_not_used=05025_N_Local variable "$1" not used
  1987. % You have declared, but not used, a variable in a procedure or function
  1988. % implementation.
  1989. sym_h_para_identifier_only_set=05026_H_Value parameter "$1" is assigned but never used
  1990. % The identifier was declared (locally or globally) and
  1991. % assigned to, but is not used (locally or globally) after the assignment.
  1992. sym_n_local_identifier_only_set=05027_N_Local variable "$1" is assigned but never used
  1993. % The variable in a procedure or function implementation is declared and
  1994. % assigned to, but is not used after the assignment.
  1995. sym_h_local_symbol_not_used=05028_H_Local $1 "$2" is not used
  1996. % A local symbol is never used.
  1997. sym_n_private_identifier_not_used=05029_N_Private field "$1.$2" is never used
  1998. % The indicated private field is defined, but is never used in the code.
  1999. sym_n_private_identifier_only_set=05030_N_Private field "$1.$2" is assigned but never used
  2000. % The indicated private field is declared and assigned to, but never read.
  2001. sym_n_private_method_not_used=05031_N_Private method "$1.$2" never used
  2002. % The indicated private method is declared but is never used in the code.
  2003. sym_e_set_expected=05032_E_Set type expected
  2004. % The variable or expression is not of type \var{set}. This happens in an
  2005. % \var{in} statement.
  2006. sym_w_function_result_not_set=05033_W_Function result does not seem to be set
  2007. % You can get this warning if the compiler thinks that a function return
  2008. % value is not set. This will not be displayed for assembler procedures,
  2009. % or procedures that contain assembler blocks.
  2010. sym_w_wrong_C_pack=05034_W_Type "$1" is not aligned correctly in current record for C
  2011. % Arrays with sizes not multiples of 4 will be wrongly aligned
  2012. % for C structures.
  2013. sym_e_illegal_field=05035_E_Unknown record field identifier "$1"
  2014. % The field doesn't exist in the record/object definition.
  2015. sym_w_uninitialized_local_variable=05036_W_Local variable "$1" does not seem to be initialized
  2016. % This message is displayed if the compiler thinks that a variable will
  2017. % be used (i.e. it appears in the right-hand side of an expression) when it
  2018. % was not initialized first (i.e. appeared in the left-hand side of an
  2019. % assignment).
  2020. sym_w_uninitialized_variable=05037_W_Variable "$1" does not seem to be initialized
  2021. % This message is displayed if the compiler thinks that a variable will
  2022. % be used (i.e. it appears in the right-hand side of an expression) when it
  2023. % was not initialized first (i.e. appeared in the left-hand side of an
  2024. % assignment).
  2025. sym_e_id_no_member=05038_E_identifier idents no member "$1"
  2026. % This error is generated when an identifier of a record,
  2027. % field or method is accessed while it is not defined.
  2028. sym_h_param_list=05039_H_Found declaration: $1
  2029. % You get this when you use the \var{-vh} switch.In the case of an overloaded procedure
  2030. % not being found. Then all candidate overloaded procedures are
  2031. % listed, with their parameter lists.
  2032. sym_e_segment_too_large=05040_E_Data element too large
  2033. % You get this when you declare a data element whose size exceeds the
  2034. % prescribed limit (2 Gb on 80386+/68020+ processors).
  2035. sym_e_no_matching_implementation_found=05042_E_No matching implementation for interface method "$1" found
  2036. % There was no matching method found which could implement the interface
  2037. % method. Check argument types and result type of the methods.
  2038. sym_w_deprecated_symbol=05043_W_Symbol "$1" is deprecated
  2039. % This means that a symbol (a variable, routine, etc...) which is
  2040. % declared as \var{deprecated} is used. Deprecated symbols may no longer
  2041. % be available in newer versions of the unit / library. Use of this symbol
  2042. % should be avoided as much as possible.
  2043. sym_w_non_portable_symbol=05044_W_Symbol "$1" is not portable
  2044. % This means that a symbol (a variable, routine, etc...) which is
  2045. % declared as \var{platform} is used. This symbol's value, use
  2046. % and availability is platform specific and should not be used
  2047. % if the source code must be portable.
  2048. sym_w_non_implemented_symbol=05055_W_Symbol "$1" is not implemented
  2049. % This means that a symbol (a variable, routine, etc...) which is
  2050. % declared as \var{unimplemented} is used. This symbol is defined,
  2051. % but is not yet implemented on this specific platform.
  2052. sym_e_cant_create_unique_type=05056_E_Can't create unique type from this type
  2053. % Only simple types like ordinal, float and string types are supported when
  2054. % redefining a type with \var{type newtype = type oldtype;}.
  2055. sym_h_uninitialized_local_variable=05057_H_Local variable "$1" does not seem to be initialized
  2056. % This message is displayed if the compiler thinks that a variable will
  2057. % be used (i.e. it appears in the right-hand side of an expression) when it
  2058. % was not initialized first (i.e. it did not appear in the left-hand side of an
  2059. % assignment).
  2060. sym_h_uninitialized_variable=05058_H_Variable "$1" does not seem to be initialized
  2061. % This message is displayed if the compiler thinks that a variable will
  2062. % be used (i.e. it appears in the right-hand side of an expression) when it
  2063. % was not initialized first (i.e. t did not appear in the left-hand side of an
  2064. % assignment).
  2065. sym_w_function_result_uninitialized=05059_W_Function result variable does not seem to initialized
  2066. % This message is displayed if the compiler thinks that the function result
  2067. % variable will be used (i.e. it appears in the right-hand side of an expression)
  2068. % before it is initialized (i.e. before it appeared in the left-hand side of an
  2069. % assignment).
  2070. sym_h_function_result_uninitialized=05060_H_Function result variable does not seem to be initialized
  2071. % This message is displayed if the compiler thinks that the function result
  2072. % variable will be used (i.e. it appears in the right-hand side of an expression)
  2073. % before it is initialized (i.e. it appears in the left-hand side of an
  2074. % assignment)
  2075. sym_w_identifier_only_read=05061_W_Variable "$1" read but nowhere assigned
  2076. % You have read the value of a variable, but nowhere assigned a value to
  2077. % it.
  2078. sym_h_abstract_method_list=05062_H_Found abstract method: $1
  2079. % When getting a warning about constructing a class/object with abstract methods
  2080. % you get this hint to assist you in finding the affected method.
  2081. sym_w_experimental_symbol=05063_W_Symbol "$1" is experimental
  2082. % This means that a symbol (a variable, routine, etc...) which is
  2083. % declared as \var{experimental} is used. Experimental symbols
  2084. % might disappear or change semantics in future versions. Usage of this symbol
  2085. % should be avoided as much as possible.
  2086. sym_w_forward_not_resolved=05064_W_Forward declaration "$1" not resolved, assumed external
  2087. % This happens if you declare a function in the \var{interface} of a unit in macpas mode,
  2088. % but do not implement it.
  2089. sym_w_library_symbol=05065_W_Symbol "$1" is belongs to a library
  2090. % This means that a symbol (a variable, routine, etc...) which is
  2091. % declared as \var{library} is used. Library symbols may not be
  2092. % available in other libraries.
  2093. sym_w_deprecated_symbol_with_msg=05066_W_Symbol "$1" is deprecated: "$2"
  2094. % This means that a symbol (a variable, routine, etc...) which is
  2095. % declared as \var{deprecated} is used. Deprecated symbols may no longer
  2096. % be available in newer versions of the unit / library. Use of this symbol
  2097. % should be avoided as much as possible.
  2098. sym_e_no_enumerator=05067_E_Cannot find an enumerator for the type "$1"
  2099. % This means that compiler cannot find an apropriate enumerator to use in the for-in loop.
  2100. % To create an enumerator you need to defind an operator enumerator or add a public or published
  2101. % GetEnumerator method to the class or object definition.
  2102. sym_e_no_enumerator_move=05068_E_Cannot find a "MoveNext" method in enumerator "$1"
  2103. % This means that compiler cannot find a public MoveNext method with the Boolean return type in
  2104. % the enumerator class or object definition.
  2105. sym_e_no_enumerator_current=05069_E_Cannot find a "Current" property in enumerator "$1"
  2106. % This means that compiler cannot find a public Current property in the enumerator class or object
  2107. % definition.
  2108. sym_e_objc_para_mismatch=05070_E_Mismatch between number of declared parameters and number of colons in message string.
  2109. % In Objective-C, a message name automatically contains as many colons as parameters.
  2110. % In order to prevent mistakes when specifying the message name in FPC, the compiler
  2111. % checks whether this is also the case here. Note that in case of messages taking a
  2112. % variable number of arguments translated to FPC via an \var{array of const} parameter,
  2113. % this final \var{array of const} parameter is not counted. Neither are the hidden
  2114. % \var{self} and \var{\_cmd} parameters.
  2115. sym_n_private_type_not_used=05071_N_Private type "$1.$2" never used
  2116. % The indicated private type is declared but is never used in the code.
  2117. sym_n_private_const_not_used=05072_N_Private const "$1.$2" never used
  2118. % The indicated private const is declared but is never used in the code.
  2119. sym_n_private_property_not_used=05073_N_Private property "$1.$2" never used
  2120. % The indicated private property is declared but is never used in the code.
  2121. sym_w_deprecated_unit=05074_W_Unit "$1" is deprecated
  2122. % This means that a unit which is
  2123. % declared as \var{deprecated} is used. Deprecated units may no longer
  2124. % be available in newer versions of the library. Use of this unit
  2125. % should be avoided as much as possible.
  2126. sym_w_deprecated_unit_with_msg=05075_W_Unit "$1" is deprecated: "$2"
  2127. % This means that a unit which is
  2128. % declared as \var{deprecated} is used. Deprecated units may no longer
  2129. % be available in newer versions of the library. Use of this unit
  2130. % should be avoided as much as possible.
  2131. sym_w_non_portable_unit=05076_W_Unit "$1" is not portable
  2132. % This means that a unit which is
  2133. % declared as \var{platform} is used. This unit use
  2134. % and availability is platform specific and should not be used
  2135. % if the source code must be portable.
  2136. sym_w_library_unit=05077_W_Unit "$1" is belongs to a library
  2137. % This means that a unit which is
  2138. % declared as \var{library} is used. Library units may not be
  2139. % available in other libraries.
  2140. sym_w_non_implemented_unit=05078_W_Unit "$1" is not implemented
  2141. % This means that a unit which is
  2142. % declared as \var{unimplemented} is used. This unit is defined,
  2143. % but is not yet implemented on this specific platform.
  2144. sym_w_experimental_unit=05079_W_Unit "$1" is experimental
  2145. % This means that a unit which is
  2146. % declared as \var{experimental} is used. Experimental units
  2147. % might disappear or change semantics in future versions. Usage of this unit
  2148. % should be avoided as much as possible.
  2149. sym_e_formal_class_not_resolved=05080_E_No complete definition of the formally declared class "$1" is in scope
  2150. % Objecive-C and Java classes can be imported formally, without using the the unit in which it is fully declared.
  2151. % This enables making forward references to such classes and breaking circular dependencies amongst units.
  2152. % However, as soon as you wish to actually do something with an entity of this class type (such as
  2153. % access one of its fields, send a message to it, or use it to inherit from), the compiler requires the full definition
  2154. % of the class to be in scope.
  2155. sym_e_interprocgoto_into_init_final_code_not_allowed=05081_E_Gotos into initialization or finalization blocks of units are not allowed
  2156. % Gotos into initialization or finalization blockse of units are not allowed.
  2157. sym_e_external_class_name_mismatch1=05082_E_Invalid external name "$1" for formal class "$2"
  2158. sym_e_external_class_name_mismatch2=05083_E_Complete class definition with external name "$1" here
  2159. % When a class is declared using a formal external definition, the actual external
  2160. % definition (if any) must specify the same external name as the formal definition
  2161. % (since both definitions refer to the same actual class type).
  2162. sym_w_library_overload=05084_W_Possible library conflict: symbol "$1" from library "$2" also found in library "$3"
  2163. % Some OS do not have library specific namespaces, for those
  2164. % OS, the function declared as "external 'libname' name 'funcname'",
  2165. % the 'libname' part is only a hint, funcname might also be loaded
  2166. % by another library. This warning appears if 'funcname' is used twice
  2167. % with two different library names.
  2168. sym_e_duplicate_id_create_java_constructor=05085_E_Cannot add implicit constructor 'Create' because identifier already used by "$1"
  2169. % Java does not automatically add inherited constructors to child classes, so that they can be hidden.
  2170. % However, if a class does not explicitly declare at least one constructor, the compiler is
  2171. % required to add a public, parameterless constructor. In Java, constructors are nameless,
  2172. % but in FPC they are all called ``Create''. Therefore, if you do not add a constructor to
  2173. % a Java class and furthermore use the ``Create'' identifier for another entity (e.g., a field,
  2174. % or a parameterless method), the compiler cannot satisfy this requirement.
  2175. sym_e_no_matching_inherited_parameterless_constructor=05086_E_Cannot generate default constructor for class, because parent has no parameterless constructor
  2176. % Java does not automatically add inherited constructors to child classes, so that they can be hidden.
  2177. % However, if a class does not explicitly declare at least one constructor, the compiler is
  2178. % required to add a public, parameterless constructor. This compiler must then call
  2179. % the parameterless constructor from the parent class inside this added constructor.
  2180. % This is however impossible if the parent class does not declare such a constructor.
  2181. % In this case you must add a valid constructor yourself.
  2182. sym_d_adding_helper_for=05087_D_Adding helper for $1
  2183. % A helper for the mentioned type is added to the current scope
  2184. % \end{description}
  2185. #
  2186. # Codegenerator
  2187. #
  2188. # 06049 is the last used one
  2189. #
  2190. % \section{Code generator messages}
  2191. % This section lists all messages that can be displayed if the code
  2192. % generator encounters an error condition.
  2193. % \begin{description}
  2194. cg_e_parasize_too_big=06009_E_Parameter list size exceeds 65535 bytes
  2195. % The I386 processor limits the parameter list to 65535 bytes. (The \var{RET}
  2196. % instruction causes this.)
  2197. cg_e_file_must_call_by_reference=06012_E_File types must be var parameters
  2198. % You cannot specify files as value parameters, i.e., they must always be
  2199. % declared \var{var} parameters.
  2200. cg_e_cant_use_far_pointer_there=06013_E_The use of a far pointer isn't allowed there
  2201. % Free Pascal doesn't support far pointers, so you cannot take the address of
  2202. % an expression which has a far reference as a result. The \var{mem} construct
  2203. % has a far reference as a result, so the following code will produce this
  2204. % error:
  2205. % \begin{verbatim}
  2206. % var p : pointer;
  2207. % ...
  2208. % p:=@mem[a000:000];
  2209. % \end{verbatim}
  2210. cg_e_dont_call_exported_direct=06015_E_EXPORT declared functions can't be called
  2211. % No longer in use.
  2212. cg_w_member_cd_call_from_method=06016_W_Possible illegal call of constructor or destructor
  2213. % The compiler detected that a constructor or destructor is called within a
  2214. % a method. This will probably lead to problems, since constructors / destructors
  2215. % require parameters on entry.
  2216. cg_n_inefficient_code=06017_N_Inefficient code
  2217. % Your statement seems dubious to the compiler.
  2218. cg_w_unreachable_code=06018_W_unreachable code
  2219. % You specified a construct which will never be executed. Example:
  2220. % \begin{verbatim}
  2221. % while false do
  2222. % begin
  2223. % {.. code ...}
  2224. % end;
  2225. % \end{verbatim}
  2226. cg_e_cant_call_abstract_method=06020_E_Abstract methods can't be called directly
  2227. % You cannot call an abstract method directly. Instead, you must call an
  2228. % overriding child method, because an abstract method isn't implemented.
  2229. cg_d_register_weight=06027_DL_Register $1 weight $2 $3
  2230. % Debugging message. Shown when the compiler considers a variable for
  2231. % keeping in the registers.
  2232. cg_d_stackframe_omited=06029_DL_Stack frame is omitted
  2233. % Some procedure/functions do not need a complete stack-frame, so it is omitted.
  2234. % This message will be displayed when the {-vd} switch is used.
  2235. cg_e_unable_inline_object_methods=06031_E_Object or class methods can't be inline.
  2236. % You cannot have inlined object methods.
  2237. cg_e_unable_inline_procvar=06032_E_Procvar calls cannot be inline.
  2238. % A procedure with a procedural variable call cannot be inlined.
  2239. cg_e_no_code_for_inline_stored=06033_E_No code for inline procedure stored
  2240. % The compiler couldn't store code for the inline procedure.
  2241. cg_e_can_access_element_zero=06035_E_Element zero of an ansi/wide- or longstring can't be accessed, use (set)length instead
  2242. % You should use \var{setlength} to set the length of an ansi/wide/longstring
  2243. % and \var{length} to get the length of such string type.
  2244. cg_e_cannot_call_cons_dest_inside_with=06037_E_Constructors or destructors cannot be called inside a 'with' clause
  2245. % Inside a \var{with} clause you cannot call a constructor or destructor for the
  2246. % object you have in the \var{with} clause.
  2247. cg_e_cannot_call_message_direct=06038_E_Cannot call message handler methods directly
  2248. % A message method handler method cannot be called directly if it contains an
  2249. % explicit \var{Self} argument.
  2250. cg_e_goto_inout_of_exception_block=06039_E_Jump in or outside of an exception block
  2251. % It is not allowed to jump in or outside of an exception block like \var{try..finally..end;}.
  2252. % For example, the following code will produce this error:
  2253. % \begin{verbatim}
  2254. % label 1;
  2255. %
  2256. % ...
  2257. %
  2258. % try
  2259. % if not(final) then
  2260. % goto 1; // this line will cause an error
  2261. % finally
  2262. % ...
  2263. % end;
  2264. % 1:
  2265. % ...
  2266. % \end{verbatim}
  2267. cg_e_control_flow_outside_finally=06040_E_Control flow statements aren't allowed in a finally block
  2268. % It isn't allowed to use the control flow statements \var{break},
  2269. % \var{continue} and \var{exit}
  2270. % inside a finally statement. The following example shows the problem:
  2271. % \begin{verbatim}
  2272. % ...
  2273. % try
  2274. % p;
  2275. % finally
  2276. % ...
  2277. % exit; // This exit ISN'T allowed
  2278. % end;
  2279. % ...
  2280. %
  2281. % \end{verbatim}
  2282. % If the procedure \var{p} raises an exception the finally block is
  2283. % executed. If the execution reaches the exit, it's unclear what to do:
  2284. % exit the procedure or search for another exception handler.
  2285. cg_w_parasize_too_big=06041_W_Parameters size exceeds limit for certain cpu's
  2286. % This indicates that you are declaring more than 64K of parameters, which
  2287. % might not be supported on other processor targets.
  2288. cg_w_localsize_too_big=06042_W_Local variable size exceed limit for certain cpu's
  2289. % This indicates that you are declaring more than 32K of local variables, which
  2290. % might not be supported on other processor targets.
  2291. cg_e_localsize_too_big=06043_E_Local variables size exceeds supported limit
  2292. % This indicates that you are declaring more than 32K of local variables, which
  2293. % is not supported by this processor.
  2294. cg_e_break_not_allowed=06044_E_BREAK not allowed
  2295. % You're trying to use \var{break} outside a loop construction.
  2296. cg_e_continue_not_allowed=06045_E_CONTINUE not allowed
  2297. % You're trying to use \var{continue} outside a loop construction.
  2298. cg_f_unknown_compilerproc=06046_F_Unknown compilerproc "$1". Check if you use the correct run time library.
  2299. % The compiler expects that the runtime library contains certain subroutines. If you see this error
  2300. % and you didn't change the runtime library code, it's very likely that the runtime library
  2301. % you're using doesn't match the compiler in use. If you changed the runtime library this error means
  2302. % that you removed a subroutine which the compiler needs for internal use.
  2303. cg_f_unknown_system_type=06047_F_Cannot find system type "$1". Check if you use the correct run time library.
  2304. % The compiler expects that the runtime library contains certain type definitions. If you see this error
  2305. % and you didn't change the runtime library code, it's very likely that the runtime library
  2306. % you're using doesn't match the compiler in use. If you changed the runtime library this error means
  2307. % that you removed a type which the compiler needs for internal use.
  2308. cg_h_inherited_ignored=06048_H_Inherited call to abstract method ignored
  2309. % This message appears only in Delphi mode when you call an abstract method
  2310. % of a parent class via \var{inherited;}. The call is then ignored.
  2311. cg_e_goto_label_not_found=06049_E_Goto label "$1" not defined or optimized away
  2312. % The label used in the goto definition is not defined or optimized away by the
  2313. % unreachable code elemination.
  2314. cg_f_unknown_type_in_unit=06050_F_Cannot find type "$1" in unit "$2". Check if you use the correct run time library.
  2315. % The compiler expects that the runtime library contains certain type definitions. If you see this error
  2316. % and you didn't change the runtime library code, it's very likely that the runtime library
  2317. % you're using doesn't match the compiler in use. If you changed the runtime library this error means
  2318. % that you removed a type which the compiler needs for internal use.
  2319. cg_e_interprocedural_goto_only_to_outer_scope_allowed=06051_E_Interprocedural gotos are allowed only to outer subroutines
  2320. % Gotos between subroutines are only allowed if the goto jumps from an inner to an outer subroutine or
  2321. % from a subroutine to the main program
  2322. cg_e_labels_cannot_defined_outside_declaration_scope=06052_E_Label must be defined in the same scope as it is declared
  2323. % In ISO mode, labels must be defined in the same scope as they are declared.
  2324. cg_e_goto_across_procedures_with_exceptions_not_allowed=06053_E_Leaving procedures containing explicit or implicit exceptions frames using goto is not allowed
  2325. % Non-local gotos might not be used to leave procedures using exceptions either implicitly or explicitly. Procedures
  2326. % which use automated types like ansistrings or class constructurs are affected by this too.
  2327. cg_e_mod_only_defined_for_pos_quotient=06054_E_In ISO mode, the mod operator is defined only for positive quotient
  2328. % In ISO pascal, only positive values are allowed for the quotient: \var{n mod m} is only valid if \var{m>0}.
  2329. cg_d_autoinlining=06055_DL_Auto inlining: $1
  2330. % Due to auto inlining turned on, the compiler auto inlines this subroutine.
  2331. % \end{description}
  2332. # EndOfTeX
  2333. #
  2334. # Assembler reader
  2335. #
  2336. # 07125 is the last used one
  2337. #
  2338. asmr_d_start_reading=07000_DL_Starting $1 styled assembler parsing
  2339. % This informs you that an assembler block is being parsed
  2340. asmr_d_finish_reading=07001_DL_Finished $1 styled assembler parsing
  2341. % This informs you that an assembler block has finished.
  2342. asmr_e_none_label_contain_at=07002_E_Non-label pattern contains @
  2343. % A identifier which isn't a label can't contain a @.
  2344. asmr_e_building_record_offset=07004_E_Error building record offset
  2345. % There has an error occured while building the offset of a record/object
  2346. % structure, this can happend when there is no field specified at all or
  2347. % an unknown field identifier is used.
  2348. asmr_e_offset_without_identifier=07005_E_OFFSET used without identifier
  2349. % You can only use OFFSET with an identifier. Other syntaxes aren't
  2350. % supported
  2351. asmr_e_type_without_identifier=07006_E_TYPE used without identifier
  2352. % You can only use TYPE with an identifier. Other syntaxes aren't
  2353. % supported
  2354. asmr_e_no_local_or_para_allowed=07007_E_Cannot use local variable or parameters here
  2355. % You can't use a local variable or parameter here, mostly because the
  2356. % addressing of locals and parameters is done using the frame pointer register so the
  2357. % address can't be obtained directly.
  2358. asmr_e_need_offset=07008_E_need to use OFFSET here
  2359. % You need to use OFFSET <id> here to get the address of the identifier.
  2360. asmr_e_need_dollar=07009_E_need to use $ here
  2361. % You need to use $<id> here to get the address of the identifier.
  2362. asmr_e_cant_have_multiple_relocatable_symbols=07010_E_Cannot use multiple relocatable symbols
  2363. % You can't have more than one relocatable symbol (variable/typed constant)
  2364. % in one argument.
  2365. asmr_e_only_add_relocatable_symbol=07011_E_Relocatable symbol can only be added
  2366. % Relocatable symbols (variable/typed constant) can't be used with other
  2367. % operators. Only addition is allowed.
  2368. asmr_e_invalid_constant_expression=07012_E_Invalid constant expression
  2369. % There is an error in the constant expression.
  2370. asmr_e_relocatable_symbol_not_allowed=07013_E_Relocatable symbol is not allowed
  2371. % You can't use a relocatable symbol (variable/typed constant) here.
  2372. asmr_e_invalid_reference_syntax=07014_E_Invalid reference syntax
  2373. % There is an error in the reference.
  2374. asmr_e_local_para_unreachable=07015_E_You cannot reach $1 from that code
  2375. % You cannot read directly the value of a local variable or parameter
  2376. % of a higher level procedure in assembler code (except for
  2377. % local assembler code without parameter nor locals).
  2378. asmr_e_local_label_not_allowed_as_ref=07016_E_Local symbols/labels aren't allowed as references
  2379. % You can't use local symbols/labels as references
  2380. asmr_e_wrong_base_index=07017_E_Invalid base and index register usage
  2381. % There is an error with the base and index register, they are
  2382. % probably incorrect
  2383. asmr_w_possible_object_field_bug=07018_W_Possible error in object field handling
  2384. % Fields of objects or classes can be reached directly in normal or objfpc
  2385. % modes but TP and Delphi modes treat the field name as a simple offset.
  2386. asmr_e_wrong_scale_factor=07019_E_Wrong scale factor specified
  2387. % The scale factor given is wrong, only 1,2,4 and 8 are allowed
  2388. asmr_e_multiple_index=07020_E_Multiple index register usage
  2389. % You are trying to use more than one index register
  2390. asmr_e_invalid_operand_type=07021_E_Invalid operand type
  2391. % The operand type doesn't match with the opcode used
  2392. asmr_e_invalid_string_as_opcode_operand=07022_E_Invalid string as opcode operand: $1
  2393. % The string specified as operand is not correct with this opcode
  2394. asmr_w_CODE_and_DATA_not_supported=07023_W_@CODE and @DATA not supported
  2395. % @CODE and @DATA are unsupported and are ignored.
  2396. asmr_e_null_label_ref_not_allowed=07024_E_Null label references are not allowed
  2397. asmr_e_expr_zero_divide=07025_E_Divide by zero in asm evaluator
  2398. % There is a division by zero in a constant expression
  2399. asmr_e_expr_illegal=07026_E_Illegal expression
  2400. % There is an illegal expression in a constant expression
  2401. asmr_e_escape_seq_ignored=07027_E_escape sequence ignored: $1
  2402. % There is a C-styled string, but the escape sequence in the string
  2403. % is unknown, and is therefore ignored
  2404. asmr_e_invalid_symbol_ref=07028_E_Invalid symbol reference
  2405. asmr_w_fwait_emu_prob=07029_W_Fwait can cause emulation problems with emu387
  2406. asmr_w_fadd_to_faddp=07030_W_$1 without operand translated into $1P
  2407. asmr_w_enter_not_supported_by_linux=07031_W_ENTER instruction is not supported by Linux kernel
  2408. % ENTER instruction can generate a stack page fault that is not
  2409. % caught correctly by the i386 Linux page handler.
  2410. asmr_w_calling_overload_func=07032_W_Calling an overload function in assembler
  2411. % There is a call to an overloaded method in the assembler block,
  2412. % this might be the sign there is a problem
  2413. asmr_e_unsupported_symbol_type=07033_E_Unsupported symbol type for operand
  2414. asmr_e_constant_out_of_bounds=07034_E_Constant value out of bounds
  2415. asmr_e_error_converting_decimal=07035_E_Error converting decimal $1
  2416. % A constant decimal value does not have the correct syntax
  2417. asmr_e_error_converting_octal=07036_E_Error converting octal $1
  2418. % A constant octal value does not have the correct syntax
  2419. asmr_e_error_converting_binary=07037_E_Error converting binary $1
  2420. % A constant binary value does not have the correct syntax
  2421. asmr_e_error_converting_hexadecimal=07038_E_Error converting hexadecimal $1
  2422. % A constant hexadecimal value does not have the correct syntax
  2423. asmr_h_direct_global_to_mangled=07039_H_$1 translated to $2
  2424. asmr_w_direct_global_is_overloaded_func=07040_W_$1 is associated to an overloaded function
  2425. asmr_e_cannot_use_SELF_outside_a_method=07041_E_Cannot use SELF outside a method
  2426. % There is a reference to the \var{self} symbol while it is not
  2427. % allowed. \var{self} can only be referenced inside methods
  2428. asmr_e_cannot_use_OLDEBP_outside_nested_procedure=07042_E_Cannot use OLDEBP outside a nested procedure
  2429. % There is a reference to the \var{oldebp} symbol while it is not
  2430. % allowed. \var{oldebp} can only be referenced inside nested routines
  2431. asmr_e_void_function=07043_W_Procedures can't return any value in asm code
  2432. % Trying to return a value while in a procedure. A procedure
  2433. % does not have any return value
  2434. asmr_e_SEG_not_supported=07044_E_SEG not supported
  2435. asmr_e_size_suffix_and_dest_dont_match=07045_E_Size suffix and destination or source size do not match
  2436. % The register size and the opcode size suffix don't match. This is
  2437. % probably an error in the assembler statement
  2438. asmr_w_size_suffix_and_dest_dont_match=07046_W_Size suffix and destination or source size do not match
  2439. % The register size and the opcode size suffix don't match. This is
  2440. % probably an error in the assembler statement
  2441. asmr_e_syntax_error=07047_E_Assembler syntax error
  2442. % There is an assembler syntax error
  2443. asmr_e_invalid_opcode_and_operand=07048_E_Invalid combination of opcode and operands
  2444. % The opcode cannot be used with this type of operand
  2445. asmr_e_syn_operand=07049_E_Assembler syntax error in operand
  2446. asmr_e_syn_constant=07050_E_Assembler syntax error in constant
  2447. asmr_e_invalid_string_expression=07051_E_Invalid String expression
  2448. asmr_w_const32bit_for_address=07052_W_constant with symbol $1 for address which is not on a pointer
  2449. % A constant expression represents an address which does not fit
  2450. % into a pointer. The address is probably incorrect
  2451. asmr_e_unknown_opcode=07053_E_Unrecognized opcode $1
  2452. % This opcode is not known
  2453. asmr_e_invalid_or_missing_opcode=07054_E_Invalid or missing opcode
  2454. asmr_e_invalid_prefix_and_opcode=07055_E_Invalid combination of prefix and opcode: $1
  2455. asmr_e_invalid_override_and_opcode=07056_E_Invalid combination of override and opcode: $1
  2456. asmr_e_too_many_operands=07057_E_Too many operands on line
  2457. % There are too many operands for this opcode. Check your
  2458. % assembler syntax
  2459. asmr_w_near_ignored=07058_W_NEAR ignored
  2460. asmr_w_far_ignored=07059_W_FAR ignored
  2461. asmr_e_dup_local_sym=07060_E_Duplicate local symbol $1
  2462. asmr_e_unknown_local_sym=07061_E_Undefined local symbol $1
  2463. asmr_e_unknown_label_identifier=07062_E_Unknown label identifier $1
  2464. asmr_e_invalid_register=07063_E_Invalid register name
  2465. % There is an unknown register name used as operand.
  2466. asmr_e_invalid_fpu_register=07064_E_Invalid floating point register name
  2467. % There is an unknown register name used as operand.
  2468. asmr_w_modulo_not_supported=07066_W_Modulo not supported
  2469. asmr_e_invalid_float_const=07067_E_Invalid floating point constant $1
  2470. % The floating point constant declared in an assembler block is
  2471. % invalid.
  2472. asmr_e_invalid_float_expr=07068_E_Invalid floating point expression
  2473. % The floating point expression declared in an assembler block is
  2474. % invalid.
  2475. asmr_e_wrong_sym_type=07069_E_Wrong symbol type
  2476. asmr_e_cannot_index_relative_var=07070_E_Cannot index a local var or parameter with a register
  2477. % Trying to index using a base register a symbol which is already relative
  2478. % to a register. This is not possible, and will probably lead to crashes.
  2479. asmr_e_invalid_seg_override=07071_E_Invalid segment override expression
  2480. asmr_w_id_supposed_external=07072_W_Identifier $1 supposed external
  2481. % There is a reference to an undefined symbol. This will not result
  2482. % in an error, since the symbol might be external, but may cause
  2483. % problems at link time if the symbol is not defined anywhere.
  2484. asmr_e_string_not_allowed_as_const=07073_E_Strings not allowed as constants
  2485. % Character strings are not allowed as constants.
  2486. asmr_e_no_var_type_specified=07074_E_No type of variable specified
  2487. % The syntax expects a type idenfitifer after the dot, but
  2488. % none was found.
  2489. asmr_w_assembler_code_not_returned_to_text=07075_E_assembler code not returned to text section
  2490. % There was a directive in the assembler block to change sections,
  2491. % but there is a missing return to the text section at the end
  2492. % of the assembler block. This might cause errors during link time.
  2493. asmr_e_not_directive_or_local_symbol=07076_E_Not a directive or local symbol $1
  2494. % This symbol is unknown.
  2495. asmr_w_using_defined_as_local=07077_E_Using a defined name as a local label
  2496. asmr_e_dollar_without_identifier=07078_E_Dollar token is used without an identifier
  2497. % A constant expression has an identifier which does not start with
  2498. % the $ symbol.
  2499. asmr_w_32bit_const_for_address=07079_W_32bit constant created for address
  2500. % A constant was used as an address. This is probably an error,
  2501. % since using absolute addresses will probably not work.
  2502. asmr_n_align_is_target_specific=07080_N_.align is target specific, use .balign or .p2align
  2503. % Using the .align directive is platform specific, and its meaning will vary
  2504. % from one platform to another.
  2505. asmr_e_cannot_access_field_directly_for_parameters=07081_E_Can't access fields directly for parameters
  2506. % You should load the parameter first into a register and then access the
  2507. % fields using that register.
  2508. asmr_e_cannot_access_object_field_directly=07082_E_Can't access fields of objects/classes directly
  2509. % You should load the self pointer first into a register and then access the
  2510. % fields using the register as base. By default the self pointer is available
  2511. % in the esi register on i386.
  2512. asmr_e_unable_to_determine_reference_size=07083_E_No size specified and unable to determine the size of the operands
  2513. % You should specify explicitly a size for the reference, because
  2514. % the compiler is unable to determine what size (byte,word,dword,etc.) it
  2515. % should use for the reference.
  2516. asmr_e_cannot_use_RESULT_here=07084_E_Cannot use RESULT in this function
  2517. % Some functions which return complex types cannot use the \var{result}
  2518. % keyword.
  2519. asmr_w_adding_explicit_args_fXX=07086_W_"$1" without operand translated into "$1 %st,%st(1)"
  2520. asmr_w_adding_explicit_first_arg_fXX=07087_W_"$1 %st(n)" translated into "$1 %st,%st(n)"
  2521. asmr_w_adding_explicit_second_arg_fXX=07088_W_"$1 %st(n)" translated into "$1 %st(n),%st"
  2522. asmr_e_invalid_char_smaller=07089_E_Char < not allowed here
  2523. % The shift operator requires the << characters. Only one
  2524. % of those characters was found.
  2525. asmr_e_invalid_char_greater=07090_E_Char > not allowed here
  2526. % The shift operator requires the >> characters. Only one
  2527. % of those characters was found.
  2528. asmr_w_align_not_supported=07093_W_ALIGN not supported
  2529. asmr_e_no_inc_and_dec_together=07094_E_Inc and Dec cannot be together
  2530. % Trying to use an increment and a decrement within the same
  2531. % opcode on the 680x0. This is impossible.
  2532. asmr_e_invalid_reg_list_in_movem=07095_E_Invalid reglist for movem
  2533. % Trying to use the \var{movem} opcode with invalid registers
  2534. % to save or restore.
  2535. asmr_e_invalid_reg_list_for_opcode=07096_E_Reglist invalid for opcode
  2536. asmr_e_higher_cpu_mode_required=07097_E_Higher cpu mode required ($1)
  2537. % Trying to use an instruction which is not supported in the current
  2538. % cpu mode. Use a higher cpu generation to be able to use this
  2539. % opcode in your assembler block
  2540. asmr_w_unable_to_determine_reference_size_using_dword=07098_W_No size specified and unable to determine the size of the operands, using DWORD as default
  2541. % You should specify explicitly a size for the reference, because
  2542. % the compiler is unable to determine what size (byte,word,dword,etc.) it
  2543. % should use for the reference. This warning is only used in Delphi mode where
  2544. % it falls back to use DWORD as default.
  2545. asmr_e_illegal_shifterop_syntax=07099_E_Syntax error while trying to parse a shifter operand
  2546. % ARM only; ARM assembler supports a so called shifter operand. The used syntax isn't
  2547. % a valid shifter operand. Example for an operation with shifter operand:
  2548. % \begin{verbatim}
  2549. % asm
  2550. % orr r2,r2,r2,lsl #8
  2551. % end;
  2552. % \end{verbatim}
  2553. asmr_e_packed_element=07100_E_Address of packed component is not at a byte boundary
  2554. % Packed components (record fields and array elements) may start at an arbitrary
  2555. % bit inside a byte. On CPU which do not support bit-addressable memory (which
  2556. % includes all currently supported CPUs by FPC) you will therefore get an error
  2557. % message when trying to index arrays with elements whose size is not a multiple
  2558. % of 8 bits. The same goes for accessing record fields with such an address.
  2559. % multiple of 8 bits.
  2560. asmr_w_unable_to_determine_reference_size_using_byte=07101_W_No size specified and unable to determine the size of the operands, using BYTE as default
  2561. % You should specify explicitly a size for the reference, because
  2562. % the compiler is unable to determine what size (byte,word,dword,etc.) it
  2563. % should use for the reference. This warning is only used in Delphi mode where
  2564. % it falls back to use BYTE as default.
  2565. asmr_w_no_direct_ebp_for_parameter=07102_W_Use of +offset(%ebp) for parameters invalid here
  2566. % Using direct 8(%ebp) reference for function/procedure parameters is invalid
  2567. % if parameters are in registers.
  2568. asmr_w_direct_ebp_for_parameter_regcall=07103_W_Use of +offset(%ebp) is not compatible with regcall convention
  2569. % Using direct 8(%ebp) reference for function/procedure parameters is invalid
  2570. % if parameters are in registers.
  2571. asmr_w_direct_ebp_neg_offset=07104_W_Use of -offset(%ebp) is not recommended for local variable access
  2572. % Using -8(%ebp) to access a local variable is not recommended
  2573. asmr_w_direct_esp_neg_offset=07105_W_Use of -offset(%esp), access may cause a crash or value may be lost
  2574. % Using -8(%esp) to access a local stack is not recommended, as
  2575. % this stack portion can be overwritten by any function calls or interrupts.
  2576. asmr_e_no_vmtoffset_possible=07106_E_VMTOffset must be used in combination with a virtual method, and "$1" is not virtual
  2577. % Only virtual methods have VMT offsets
  2578. asmr_e_need_pic_ref=07107_E_Generating PIC, but reference is not PIC-safe
  2579. % The compiler has been configured to generate position-independent code
  2580. % (PIC), but there are position-dependent references in the current
  2581. % handwritten assembler instruction.
  2582. asmr_e_mixing_regtypes=07108_E_All registers in a register set must be of the same kind and width
  2583. % Instructions on the ARM architecture that take a register set as argument require that all registers
  2584. % in this set are of the same kind (e.g., integer, vfp) and width (e.g., single precision, double precision).
  2585. asmr_e_empty_regset=07109_E_A register set cannot be empty
  2586. % Instructions on the ARM architecture that take a register set as argument require that such a set
  2587. % contains at least one register.
  2588. asmr_w_useless_got_for_local=07110_W_@GOTPCREL is useless and potentially dangereous for local symbols
  2589. % The use of @GOTPCREL supposes an extra indirection that is
  2590. % not present if the symbol is local, which might lead to wrong asembler code
  2591. asmr_w_general_segment_with_constant=07111_W_Constant with general purpose segment register
  2592. % General purpose register should not have constant offsets
  2593. % as OS memory allocation might not be compatible with that.
  2594. asmr_e_bad_seh_directive_offset=07112_E_Invalid offset value for $1
  2595. % Win64 SEH directives have certain restrictions on possible offset values, e.g. they should
  2596. % be positive and have 3 or 4 low bits clear.
  2597. asmr_e_bad_seh_directive_register=07113_E_Invalid register for $1
  2598. % Win64 SEH directives accept only 64-bit integer registers or XMM registers.
  2599. asmr_e_seh_in_pure_asm_only=07114_E_SEH directives are allowed only in pure assembler procedures
  2600. % Win64 SEH directives are allowed only in pure assembler procedures, not in assembler
  2601. % blocks of regular procedures.
  2602. asmr_e_unsupported_directive=07115_E_Directive "$1" is not supported for the current target
  2603. asmr_e_complex_function_result_location=07116_E_This function's result location cannot be encoded directly in a single operand when "nostackframe" is used
  2604. % Functions declared with the \var{nostackframe} modifier do not have a stack frame, and hence
  2605. % do not have a local variable to hold the temporary function result. Accesses to the function
  2606. % result in such routines directly go to the registers or memory location that will be used
  2607. % to return their result to the caller. In some cases this result may be spread over multiple
  2608. % registers, in which case it is not possible to access the location via its symbolic name.
  2609. % You have to directly use the appropriate register names in this case.
  2610. asmr_e_wrong_gotpcrel_intel_syntax=07117_E_GOTPCREL references in Intel assembler syntax cannot contain a base or index register, and their offset must 0.
  2611. % The syntax for a gotpcrel PIC memory expression in Intel assembler syntax is
  2612. % \verb*[global_symbol wrt ..gotpcrel]*
  2613. asmr_e_no_gotpcrel_support=07118_E_The current target does not support GOTPCREL relocations
  2614. % Not all targets support position-independent code using a global offset table.
  2615. % Use a different way to access symbols in a position-indepent way in these cases.
  2616. asmr_w_global_access_without_got=07119_W_Exported/global symbols should accessed via the GOT
  2617. % Global symbols (symbols from the unit interface, or defined in a program
  2618. % or library) should be accessed via the GOT when generating position-indepent code.
  2619. asmr_w_check_mem_operand_size=07120_W_Check size of memory operand "$1"
  2620. % The size of memory operand is possible invalid. This is
  2621. % probably an error in the assembler statement
  2622. asmr_w_check_mem_operand_size3=07121_W_Check size of memory operand "$1: memory-operand-size is $2 bits, but expected [$3 bits]"
  2623. % The size of memory operand is possible invalid. This is
  2624. % probably an error in the assembler statement
  2625. asmr_w_check_mem_operand_size_offset=07122_W_Check size of memory operand "$1: memory-operand-size is $2 bits, but expected [$3 bits + $4 byte offset]"
  2626. % The size of memory operand is possible invalid. This is
  2627. % probably an error in the assembler statement
  2628. asmr_w_check_mem_operand_negative_offset=07123_W_Check "$1: offset of memory operand is negative "$2 byte"
  2629. % The offset of memory operand is possible invalid. This is
  2630. % probably an error in the assembler statement
  2631. asmr_w_check_mem_operand_automap_multiple_size=07124_W_Check "$1: size of memory operand is empty, but es exists different definitions of the memory size =>> map to $2 (smallest option)"
  2632. % The size of memory operand is empty and we have different definitions of possible memory sizes. Check it!
  2633. asmr_e_invalid_ref_register=07125_E_Invalid register used in memory reference expression: "$1"
  2634. % FPU, vector and sometimes integer registers cannot be used in memory reference
  2635. % expressions, due to limitations of the cpu architecture or simple because
  2636. % it is not meaningful.
  2637. #
  2638. # Assembler/binary writers
  2639. #
  2640. # 08026 is the last used one
  2641. #
  2642. asmw_f_too_many_asm_files=08000_F_Too many assembler files
  2643. % With smartlinking enabled, there are too many assembler
  2644. % files generated. Disable smartlinking.
  2645. asmw_f_assembler_output_not_supported=08001_F_Selected assembler output not supported
  2646. asmw_f_comp_not_supported=08002_F_Comp not supported
  2647. asmw_f_direct_not_supported=08003_F_Direct not support for binary writers
  2648. % Direct assembler mode is not supported for binary writers.
  2649. asmw_e_alloc_data_only_in_bss=08004_E_Allocating of data is only allowed in bss section
  2650. asmw_f_no_binary_writer_selected=08005_F_No binary writer selected
  2651. asmw_e_opcode_not_in_table=08006_E_Asm: Opcode $1 not in table
  2652. asmw_e_invalid_opcode_and_operands=08007_E_Asm: $1 invalid combination of opcode and operands
  2653. asmw_e_16bit_not_supported=08008_E_Asm: 16 Bit references not supported
  2654. asmw_e_invalid_effective_address=08009_E_Asm: Invalid effective address
  2655. asmw_e_immediate_or_reference_expected=08010_E_Asm: Immediate or reference expected
  2656. asmw_e_value_exceeds_bounds=08011_E_Asm: $1 value exceeds bounds $2
  2657. asmw_e_short_jmp_out_of_range=08012_E_Asm: Short jump is out of range $1
  2658. asmw_e_undefined_label=08013_E_Asm: Undefined label $1
  2659. asmw_e_comp_not_supported=08014_E_Asm: Comp type not supported for this target
  2660. asmw_e_extended_not_supported=08015_E_Asm: Extended type not supported for this target
  2661. asmw_e_duplicate_label=08016_E_Asm: Duplicate label $1
  2662. asmw_e_redefined_label=08017_E_Asm: Redefined label $1
  2663. asmw_e_first_defined_label=08018_E_Asm: First defined here
  2664. asmw_e_invalid_register=08019_E_Asm: Invalid register $1
  2665. asmw_e_16bit_32bit_not_supported=08020_E_Asm: 16 or 32 Bit references not supported
  2666. asmw_e_64bit_not_supported=08021_E_Asm: 64 Bit operands not supported
  2667. asmw_e_bad_reg_with_rex=08022_E_Asm: AH,BH,CH or DH cannot be used in an instruction requiring REX prefix
  2668. % x86_64 only: instruction encoding of this platform does not allow using
  2669. % 8086 high byte registers (AH,BH,CH or DH) together with REX prefix in a single instruction.
  2670. % The REX prefix is required whenever the instruction operand size is 64 bits, or
  2671. % when it uses one of extended x86_64 registers (R8-R15 or XMM8-XMM15).
  2672. asmw_e_missing_endprologue=08023_E_Missing .seh_endprologue directive
  2673. % x86_64-win64 only: Normally, SEH directives are handled internally by compiler.
  2674. % However, in pure assembler procedures .seh_endprologue directive is required
  2675. % if other SEH directives are present.
  2676. asmw_e_prologue_too_large=08024_E_Function prologue exceeds 255 bytes
  2677. % x86_64-win64: .seh_prologue directive must be placed within 255 bytes from function start.
  2678. asmw_e_handlerdata_no_handler=08025_E_.seh_handlerdata directive without preceding .seh_handler
  2679. % x86_64-win64: If .seh_handlerdata directive is used, then a .seh_handler directive must be
  2680. % present earlier in the same function.
  2681. asmw_f_too_many_relocations=08026_F_Relocation count for section $1 exceeds 65535
  2682. % Legacy COFF targets limit number of relocations per section to 65535 because they use a 2-byte field
  2683. % to store the relocation count. Targets using newer PECOFF format do not have this limitation.
  2684. #
  2685. # Executing linker/assembler
  2686. #
  2687. # 09033 is the last used one
  2688. #
  2689. # BeginOfTeX
  2690. %
  2691. % \section{Errors of assembling/linking stage}
  2692. % This section lists errors that occur when the compiler is processing the
  2693. % command line or handling the configuration files.
  2694. % \begin{description}
  2695. exec_w_source_os_redefined=09000_W_Source operating system redefined
  2696. % The source operating system is redefined.
  2697. exec_i_assembling_pipe=09001_I_Assembling (pipe) $1
  2698. % Assembling using a pipe to an external assembler.
  2699. exec_d_cant_create_asmfile=09002_E_Can't create assembler file: $1
  2700. % The mentioned file can't be created. Check if you have
  2701. % access permissions to create this file.
  2702. exec_e_cant_create_objectfile=09003_E_Can't create object file: $1 (error code: $2)
  2703. % The mentioned file can't be created. Check if you have
  2704. % got access permissions to create this file.
  2705. exec_e_cant_create_archivefile=09004_E_Can't create archive file: $1
  2706. % The mentioned file can't be created. Check if you have
  2707. % access permissions to create this file.
  2708. exec_e_assembler_not_found=09005_E_Assembler $1 not found, switching to external assembling
  2709. % The assembler program was not found. The compiler will produce a script that
  2710. % can be used to assemble and link the program.
  2711. exec_t_using_assembler=09006_T_Using assembler: $1
  2712. % An informational message saying which assembler is being used.
  2713. exec_e_error_while_assembling=09007_E_Error while assembling exitcode $1
  2714. % There was an error while assembling the file using an external assembler.
  2715. % Consult the documentation of the assembler tool to find out more information
  2716. % on this error.
  2717. exec_e_cant_call_assembler=09008_E_Can't call the assembler, error $1 switching to external assembling
  2718. % An error occurred when calling an external assembler. The compiler will produce a script that
  2719. % can be used to assemble and link the program.
  2720. exec_i_assembling=09009_I_Assembling $1
  2721. % An informational message stating which file is being assembled.
  2722. exec_i_assembling_smart=09010_I_Assembling with smartlinking $1
  2723. % An informational message stating which file is being assembled using smartlinking.
  2724. exec_w_objfile_not_found=09011_W_Object $1 not found, Linking may fail !
  2725. % One of the object files is missing, and linking will probably fail.
  2726. % Check your paths.
  2727. exec_w_libfile_not_found=09012_W_Library $1 not found, Linking may fail !
  2728. % One of the library files is missing, and linking will probably fail.
  2729. % Check your paths.
  2730. exec_e_error_while_linking=09013_E_Error while linking
  2731. % Generic error while linking.
  2732. exec_e_cant_call_linker=09014_E_Can't call the linker, switching to external linking
  2733. % An error occurred when calling an external linker. The compiler will produce a script that
  2734. % can be used to assemble and link the program.
  2735. exec_i_linking=09015_I_Linking $1
  2736. % An informational message, showing which program or library is being linked.
  2737. exec_e_util_not_found=09016_E_Util $1 not found, switching to external linking
  2738. % An external tool was not found. The compiler will produce a script that
  2739. % can be used to assemble and link or postprocess the program.
  2740. exec_t_using_util=09017_T_Using util $1
  2741. % An informational message, showing which external program (usually a postprocessor) is being used.
  2742. exec_e_exe_not_supported=09018_E_Creation of Executables not supported
  2743. % Creating executable programs is not supported for this platform, because it was
  2744. % not yet implemented in the compiler.
  2745. exec_e_dll_not_supported=09019_E_Creation of Dynamic/Shared Libraries not supported
  2746. % Creating dynamically loadable libraries is not supported for this platform, because it was
  2747. % not yet implemented in the compiler.
  2748. exec_i_closing_script=09020_I_Closing script $1
  2749. % Informational message showing when writing of the external assembling and linking script is finished.
  2750. exec_e_res_not_found=09021_E_resource compiler "$1" not found, switching to external mode
  2751. % An external resource compiler was not found. The compiler will produce a script that
  2752. % can be used to assemble, compile resources and link or postprocess the program.
  2753. exec_i_compilingresource=09022_I_Compiling resource $1
  2754. % An informational message, showing which resource is being compiled.
  2755. exec_t_unit_not_static_linkable_switch_to_smart=09023_T_unit $1 can't be statically linked, switching to smart linking
  2756. % Static linking was requested, but a unit which is not statically linkable was used.
  2757. exec_t_unit_not_smart_linkable_switch_to_static=09024_T_unit $1 can't be smart linked, switching to static linking
  2758. % Smart linking was requested, but a unit which is not smart-linkable was used.
  2759. exec_t_unit_not_shared_linkable_switch_to_static=09025_T_unit $1 can't be shared linked, switching to static linking
  2760. % Shared linking was requested, but a unit which is not shared-linkable was used.
  2761. exec_e_unit_not_smart_or_static_linkable=09026_E_unit $1 can't be smart or static linked
  2762. % Smart or static linking was requested, but a unit which cannot be used for either was used.
  2763. exec_e_unit_not_shared_or_static_linkable=09027_E_unit $1 can't be shared or static linked
  2764. % Shared or static linking was requested, but a unit which cannot be used for either was used.
  2765. exec_d_resbin_params=09028_D_Calling resource compiler "$1" with "$2" as command line
  2766. % An informational message showing which command line is used for the resource compiler.
  2767. exec_e_error_while_compiling_resources=09029_E_Error while compiling resources
  2768. % The resource compiler or converter returned an error.
  2769. exec_e_cant_call_resource_compiler=09030_E_Can't call the resource compiler "$1", switching to external mode
  2770. % An error occurred when calling a resource compiler. The compiler will produce
  2771. % a script that can be used to assemble, compile resources and link or
  2772. % postprocess the program.
  2773. exec_e_cant_open_resource_file=09031_E_Can't open resource file "$1"
  2774. % An error occurred resource file cannot be opened.
  2775. exec_e_cant_write_resource_file=09032_E_Can't write resource file "$1"
  2776. % An error occurred resource file cannot be written.
  2777. exec_n_backquote_cat_file_not_found=09033_N_File "$1" not found for backquoted cat command
  2778. % The compiler did not find the file that should be expanded into linker parameters
  2779. %\end{description}
  2780. # EndOfTeX
  2781. #
  2782. # Executable information
  2783. #
  2784. # 09134 is the last used one
  2785. #
  2786. # BeginOfTeX
  2787. % \section{Executable information messages.}
  2788. % This section lists all messages that the compiler emits when an executable program is produced,
  2789. % and only when the internal linker is used.
  2790. % \begin{description}
  2791. execinfo_f_cant_process_executable=09128_F_Can't post process executable $1
  2792. % Fatal error when the compiler is unable to post-process an executable.
  2793. execinfo_f_cant_open_executable=09129_F_Can't open executable $1
  2794. % Fatal error when the compiler cannot open the file for the executable.
  2795. execinfo_x_codesize=09130_X_Size of Code: $1 bytes
  2796. % Informational message showing the size of the produced code section.
  2797. execinfo_x_initdatasize=09131_X_Size of initialized data: $1 bytes
  2798. % Informational message showing the size of the initialized data section.
  2799. execinfo_x_uninitdatasize=09132_X_Size of uninitialized data: $1 bytes
  2800. % Informational message showing the size of the uninitialized data section.
  2801. execinfo_x_stackreserve=09133_X_Stack space reserved: $1 bytes
  2802. % Informational message showing the stack size that the compiler reserved for the executable.
  2803. execinfo_x_stackcommit=09134_X_Stack space committed: $1 bytes
  2804. % Informational message showing the stack size that the compiler committed for the executable.
  2805. %\end{description}
  2806. # EndOfTeX
  2807. #
  2808. # Internal linker messages
  2809. #
  2810. # 09200 is the last used one
  2811. #
  2812. # BeginOfTeX
  2813. % \section{Linker messages}
  2814. % This section lists messages produced by internal linker.
  2815. % \begin{description}
  2816. link_f_executable_too_big=09200_F_Executable image size is too big for $1 target.
  2817. % Fatal error when resulting executable is too big.
  2818. link_w_32bit_absolute_reloc=09201_W_Object file "$1" contains 32-bit absolute relocation to symbol "$2".
  2819. % Warning when 64-bit object file contains 32-bit absolute relocations.
  2820. % In such case an executable image can be loaded into lower 4Gb of
  2821. % address space only.
  2822. %\end{description}
  2823. # EndOfTeX
  2824. #
  2825. # Unit loading
  2826. #
  2827. # 10062 is the last used one
  2828. #
  2829. # BeginOfTeX
  2830. % \section{Unit loading messages.}
  2831. % This section lists all messages that can occur when the compiler is
  2832. % loading a unit from disk into memory. Many of these messages are
  2833. % informational messages.
  2834. % \begin{description}
  2835. unit_t_unitsearch=10000_T_Unitsearch: $1
  2836. % When you use the \var{-vt} option, the compiler tells you where it tries to find
  2837. % unit files.
  2838. unit_t_ppu_loading=10001_T_PPU Loading $1
  2839. % When the \var{-vt} switch is used, the compiler tells you
  2840. % what units it loads.
  2841. unit_u_ppu_name=10002_U_PPU Name: $1
  2842. % When you use the \var{-vu} flag, the unit name is shown.
  2843. unit_u_ppu_flags=10003_U_PPU Flags: $1
  2844. % When you use the \var{-vu} flag, the unit flags are shown.
  2845. unit_u_ppu_crc=10004_U_PPU Crc: $1
  2846. % When you use the \var{-vu} flag, the unit CRC check is shown.
  2847. unit_u_ppu_time=10005_U_PPU Time: $1
  2848. % When you use the \var{-vu} flag, the time the unit was compiled is shown.
  2849. unit_u_ppu_file_too_short=10006_U_PPU File too short
  2850. % The ppufile is too short, not all declarations are present.
  2851. unit_u_ppu_invalid_header=10007_U_PPU Invalid Header (no PPU at the begin)
  2852. % A unit file contains as the first three bytes the ASCII codes of the characters \var{PPU}.
  2853. unit_u_ppu_invalid_version=10008_U_PPU Invalid Version $1
  2854. % This unit file was compiled with a different version of the compiler, and
  2855. % cannot be read.
  2856. unit_u_ppu_invalid_processor=10009_U_PPU is compiled for another processor
  2857. % This unit file was compiled for a different processor type, and
  2858. % cannot be read.
  2859. unit_u_ppu_invalid_target=10010_U_PPU is compiled for another target
  2860. % This unit file was compiled for a different target, and
  2861. % cannot be read.
  2862. unit_u_ppu_source=10011_U_PPU Source: $1
  2863. % When you use the \var{-vu} flag, the unit source file name is shown.
  2864. unit_u_ppu_write=10012_U_Writing $1
  2865. % When you specify the \var{-vu} switch, the compiler will tell you where it
  2866. % writes the unit file.
  2867. unit_f_ppu_cannot_write=10013_F_Can't Write PPU-File
  2868. % An error occurred when writing the unit file.
  2869. unit_f_ppu_read_error=10014_F_Error reading PPU-File
  2870. % This means that the unit file was corrupted, and contains invalid
  2871. % information. Recompilation will be necessary.
  2872. unit_f_ppu_read_unexpected_end=10015_F_unexpected end of PPU-File
  2873. % Unexpected end of file. This may mean that the PPU file is
  2874. % corrupted.
  2875. unit_f_ppu_invalid_entry=10016_F_Invalid PPU-File entry: $1
  2876. % The unit the compiler is trying to read is corrupted, or generated with a
  2877. % newer version of the compiler.
  2878. unit_f_ppu_dbx_count_problem=10017_F_PPU Dbx count problem
  2879. % There is an inconsistency in the debugging information of the unit.
  2880. unit_e_illegal_unit_name=10018_E_Illegal unit name: $1
  2881. % The name of the unit does not match the file name.
  2882. unit_f_too_much_units=10019_F_Too much units
  2883. % \fpc has a limit of 1024 units in a program. You can change this behavior
  2884. % by changing the \var{maxunits} constant in the \file{fmodule.pas} file of the
  2885. % compiler, and recompiling the compiler.
  2886. unit_f_circular_unit_reference=10020_F_Circular unit reference between $1 and $2
  2887. % Two units are using each other in the interface part. This is only allowed
  2888. % in the \var{implementation} part. At least one unit must contain the other one
  2889. % in the \var{implementation} section.
  2890. unit_f_cant_compile_unit=10021_F_Can't compile unit $1, no sources available
  2891. % A unit was found that needs to be recompiled, but no sources are
  2892. % available.
  2893. unit_f_cant_find_ppu=10022_F_Can't find unit $1 used by $2
  2894. % You tried to use a unit of which the PPU file isn't found by the
  2895. % compiler. Check your configuration file for the unit paths.
  2896. unit_w_unit_name_error=10023_W_Unit $1 was not found but $2 exists
  2897. % This error message is no longer used.
  2898. unit_f_unit_name_error=10024_F_Unit $1 searched but $2 found
  2899. % \dos truncation of 8 letters for unit PPU files
  2900. % may lead to problems when unit name is longer than 8 letters.
  2901. unit_w_switch_us_missed=10025_W_Compiling the system unit requires the -Us switch
  2902. % When recompiling the system unit (it needs special treatment), the
  2903. % \var{-Us} switch must be specified.
  2904. unit_f_errors_in_unit=10026_F_There were $1 errors compiling module, stopping
  2905. % When the compiler encounters a fatal error or too many errors in a module
  2906. % then it stops with this message.
  2907. unit_u_load_unit=10027_U_Load from $1 ($2) unit $3
  2908. % When you use the \var{-vu} flag, which unit is loaded from which unit is
  2909. % shown.
  2910. unit_u_recompile_crc_change=10028_U_Recompiling $1, checksum changed for $2
  2911. % The unit is recompiled because the checksum of a unit it depends on has
  2912. % changed.
  2913. unit_u_recompile_source_found_alone=10029_U_Recompiling $1, source found only
  2914. % When you use the \var{-vu} flag, these messages tell you why the current
  2915. % unit is recompiled.
  2916. unit_u_recompile_staticlib_is_older=10030_U_Recompiling unit, static lib is older than ppufile
  2917. % When you use the \var{-vu} flag, the compiler warns if the static library
  2918. % of the unit is older than the unit file itself.
  2919. unit_u_recompile_sharedlib_is_older=10031_U_Recompiling unit, shared lib is older than ppufile
  2920. % When you use the \var{-vu} flag, the compiler warns if the shared library
  2921. % of the unit is older than the unit file itself.
  2922. unit_u_recompile_obj_and_asm_older=10032_U_Recompiling unit, obj and asm are older than ppufile
  2923. % When you use the \var{-vu} flag, the compiler warns if the assembler or
  2924. % object file of the unit is older than the unit file itself.
  2925. unit_u_recompile_obj_older_than_asm=10033_U_Recompiling unit, obj is older than asm
  2926. % When you use the \var{-vu} flag, the compiler warns if the assembler
  2927. % file of the unit is older than the object file of the unit.
  2928. unit_u_parsing_interface=10034_U_Parsing interface of $1
  2929. % When you use the \var{-vu} flag, the compiler warns that it starts
  2930. % parsing the interface part of the unit.
  2931. unit_u_parsing_implementation=10035_U_Parsing implementation of $1
  2932. % When you use the \var{-vu} flag, the compiler warns that it starts
  2933. % parsing the implementation part of the unit.
  2934. unit_u_second_load_unit=10036_U_Second load for unit $1
  2935. % When you use the \var{-vu} flag, the compiler warns that it starts
  2936. % recompiling a unit for the second time. This can happen with
  2937. % interdependent units.
  2938. unit_u_check_time=10037_U_PPU Check file $1 time $2
  2939. % When you use the \var{-vu} flag, the compiler shows the filename and
  2940. % date and time of the file on which a recompile depends.
  2941. ### The following two error msgs is currently disabled.
  2942. #unit_h_cond_not_set_in_last_compile=10038_H_Conditional $1 was not set at startup in last compilation of $2
  2943. #% when recompilation of an unit is required the compiler will check that
  2944. #% the same conditionals are set for the recompiliation. The compiler has
  2945. #% found a conditional that currently is defined, but was not used the last
  2946. #% time the unit was compiled.
  2947. #unit_h_cond_set_in_last_compile=10039_H_Conditional $1 was set at startup in last compilation of $2
  2948. #% when recompilation of an unit is required the compiler will check that
  2949. #% the same conditionals are set for the recompiliation. The compiler has
  2950. #% found a conditional that was used the last time the unit was compiled, but
  2951. #% the conditional is currently not defined.
  2952. unit_w_cant_compile_unit_with_changed_incfile=10040_W_Can't recompile unit $1, but found modifed include files
  2953. % A unit was found to have modified include files, but
  2954. % some source files were not found, so recompilation is impossible.
  2955. unit_u_source_modified=10041_U_File $1 is newer than the one used for creating PPU file $2
  2956. % A modified source file for a compiler unit was found.
  2957. unit_u_ppu_invalid_fpumode=10042_U_Trying to use a unit which was compiled with a different FPU mode
  2958. % Trying to compile code while using units which were not compiled with
  2959. % the same floating point format mode. Either all code should be compiled
  2960. % with FPU emulation on, or with FPU emulation off.
  2961. unit_u_loading_interface_units=10043_U_Loading interface units from $1
  2962. % When you use the \var{-vu} flag, the compiler warns that it is starting
  2963. % to load the units defined in the interface part of the unit.
  2964. unit_u_loading_implementation_units=10044_U_Loading implementation units from $1
  2965. % When you use the \var{-vu} flag, the compiler warns that it is starting
  2966. % to load the units defined in the implementation part of the unit.
  2967. unit_u_interface_crc_changed=10045_U_Interface CRC changed for unit $1
  2968. % When you use the \var{-vu} flag, the compiler warns that the
  2969. % CRC calculated for the interface has been changed after the implementation
  2970. % has been parsed.
  2971. unit_u_implementation_crc_changed=10046_U_Implementation CRC changed for unit $1
  2972. % When you use the \var{-vu} flag, the compiler warns that the
  2973. % CRC calculated has been changed after the implementation
  2974. % has been parsed.
  2975. unit_u_finished_compiling=10047_U_Finished compiling unit $1
  2976. % When you use the \var{-vu} flag, the compiler warns that it
  2977. % has finished compiling the unit.
  2978. unit_u_add_depend_to=10048_U_Adding dependency: $1 depends on $2
  2979. % When you use the \var{-vu} flag, the compiler warns that it
  2980. % has added a dependency between the two units.
  2981. unit_u_no_reload_is_caller=10049_U_No reload, is caller: $1
  2982. % When you use the \var{-vu} flag, the compiler warns that it
  2983. % will not reload the unit because it is the unit that wants
  2984. % to load this unit.
  2985. unit_u_no_reload_in_second_compile=10050_U_No reload, already in second compile: $1
  2986. % When you use the \var{-vu} flag, the compiler warns that it
  2987. % will not reload the unit because it is already in a second recompile.
  2988. unit_u_flag_for_reload=10051_U_Flag for reload: $1
  2989. % When you use the \var{-vu} flag, the compiler warns that it
  2990. % has to reload the unit.
  2991. unit_u_forced_reload=10052_U_Forced reloading
  2992. % When you use the \var{-vu} flag, the compiler warns that it
  2993. % is reloading the unit because it was required.
  2994. unit_u_previous_state=10053_U_Previous state of $1: $2
  2995. % When you use the \var{-vu} flag, the compiler shows the
  2996. % previous state of the unit.
  2997. unit_u_second_compile_unit=10054_U_Already compiling $1, setting second compile
  2998. % When you use the \var{-vu} flag, the compiler warns that it is starting
  2999. % to recompile a unit for the second time. This can happen with interdependent
  3000. % units.
  3001. unit_u_loading_unit=10055_U_Loading unit $1
  3002. % When you use the \var{-vu} flag, the compiler warns that it starts
  3003. % loading the unit.
  3004. unit_u_finished_loading_unit=10056_U_Finished loading unit $1
  3005. % When you use the \var{-vu} flag, the compiler warns that it finished
  3006. % loading the unit.
  3007. unit_u_registering_new_unit=10057_U_Registering new unit $1
  3008. % When you use the \var{-vu} flag, the compiler warns that it has
  3009. % found a new unit and is registering it in the internal lists.
  3010. unit_u_reresolving_unit=10058_U_Re-resolving unit $1
  3011. % When you use the \var{-vu} flag, the compiler warns that it
  3012. % has to recalculate the internal data of the unit.
  3013. unit_u_skipping_reresolving_unit=10059_U_Skipping re-resolving unit $1, still loading used units
  3014. % When you use the \var{-vu} flag, the compiler warns that it is
  3015. % skipping the recalculation of the internal data of the unit
  3016. % because there is no data to recalculate.
  3017. unit_u_unload_resunit=10060_U_Unloading resource unit $1 (not needed)
  3018. % When you use the \var{-vu} flag, the compiler warns that it is unloading the
  3019. % resource handling unit, since no resources are used.
  3020. unit_e_different_wpo_file=10061_E_Unit $1 was compiled using a different whole program optimization feedback input ($2, $3); recompile it without wpo or use the same wpo feedback input file for this compilation invocation
  3021. % When a unit has been compiled using a particular whole program optimization (wpo) feedback file (\var{-FW<x>} \var{-OW<x>}),
  3022. % this compiled version of the unit is specialised for that particular compilation scenario and cannot be used in
  3023. % any other context. It has to be recompiled before you can use it in another program or with another wpo feedback input file.
  3024. unit_u_indirect_crc_changed=10062_U_Indirect interface (objects/classes) CRC changed for unit $1
  3025. % When you use the \var{-vu} flag, the compiler warns that the
  3026. % indirect CRC calculated for the unit (this is the CRC of all classes/objects/interfaces/$\ldots$
  3027. % in the interfaces of units directly or indirectly used by this unit in the interface) has been changed after the
  3028. % implementation has been parsed.
  3029. % \end{description}
  3030. # EndOfTeX
  3031. #
  3032. # Options
  3033. #
  3034. # 11053 is the last used one
  3035. #
  3036. option_usage=11000_O_$1 [options] <inputfile> [options]
  3037. # BeginOfTeX
  3038. %
  3039. % \section{Command line handling errors}
  3040. % This section lists errors that occur when the compiler is processing the
  3041. % command line or handling the configuration files.
  3042. % \begin{description}
  3043. option_only_one_source_support=11001_W_Only one source file supported, changing source file to compile from "$1" into "$2"
  3044. % You can specify only one source file on the command line. The last
  3045. % one will be compiled, others will be ignored. This may indicate that
  3046. % you forgot a \var{'-'} sign.
  3047. option_def_only_for_os2=11002_W_DEF file can be created only for OS/2
  3048. % This option can only be specified when you're compiling for OS/2.
  3049. option_no_nested_response_file=11003_E_nested response files are not supported
  3050. % You cannot nest response files with the \var{@file} command line option.
  3051. option_no_source_found=11004_F_No source file name in command line
  3052. % The compiler expects a source file name on the command line.
  3053. option_no_option_found=11005_N_No option inside $1 config file
  3054. % The compiler didn't find any option in that config file.
  3055. option_illegal_para=11006_E_Illegal parameter: $1
  3056. % You specified an unknown option.
  3057. option_help_pages_para=11007_H_-? writes help pages
  3058. % When an unknown option is given, this message is diplayed.
  3059. option_too_many_cfg_files=11008_F_Too many config files nested
  3060. % You can only nest up to 16 config files.
  3061. option_unable_open_file=11009_F_Unable to open file $1
  3062. % The option file cannot be found.
  3063. option_reading_further_from=11010_D_Reading further options from $1
  3064. % Displayed when you have notes turned on, and the compiler switches
  3065. % to another options file.
  3066. option_target_is_already_set=11011_W_Target is already set to: $1
  3067. % Displayed if more than one \var{-T} option is specified.
  3068. option_no_shared_lib_under_dos=11012_W_Shared libs not supported on DOS platform, reverting to static
  3069. % If you specify \var{-CD} for the \dos platform, this message is displayed.
  3070. % The compiler supports only static libraries under \dos.
  3071. option_too_many_ifdef=11013_F_In options file $1 at line $2 too many \var{\#IF(N)DEFs} encountered
  3072. % The \var{\#IF(N)DEF} statements in the options file are not balanced with
  3073. % the \var{\#ENDIF} statements.
  3074. option_too_many_endif=11014_F_In options file $1 at line $2 unexpected \var{\#ENDIFs} encountered
  3075. % The \var{\#IF(N)DEF} statements in the options file are not balanced with
  3076. % the \var{\#ENDIF} statements.
  3077. option_too_less_endif=11015_F_Open conditional at the end of the options file
  3078. % The \var{\#IF(N)DEF} statements in the options file are not balanced with
  3079. % the \var{\#ENDIF} statements.
  3080. option_no_debug_support=11016_W_Debug information generation is not supported by this executable
  3081. % It is possible to have a compiler executable that doesn't support
  3082. % the generation of debugging info. If you use such an executable with the
  3083. % \var{-g} switch, this warning will be displayed.
  3084. option_no_debug_support_recompile_fpc=11017_H_Try recompiling with -dGDB
  3085. % It is possible to have a compiler executable that doesn't support
  3086. % the generation of debugging info. If you use such an executable with the
  3087. % \var{-g} switch, this warning will be displayed.
  3088. option_obsolete_switch=11018_W_You are using the obsolete switch $1
  3089. % This warns you when you use a switch that is not needed/supported anymore.
  3090. % It is recommended that you remove the switch to overcome problems in the
  3091. % future, when the meaning of the switch may change.
  3092. option_obsolete_switch_use_new=11019_W_You are using the obsolete switch $1, please use $2
  3093. % This warns you when you use a switch that is not supported anymore. You
  3094. % must now use the second switch instead.
  3095. % It is recommended that you change the switch to overcome problems in the
  3096. % future, when the meaning of the switch may change.
  3097. option_switch_bin_to_src_assembler=11020_N_Switching assembler to default source writing assembler
  3098. % This notifies you that the assembler has been changed because you used the
  3099. % -a switch, which can't be used with a binary assembler writer.
  3100. option_incompatible_asm=11021_W_Assembler output selected "$1" is not compatible with "$2"
  3101. option_asm_forced=11022_W_"$1" assembler use forced
  3102. % The assembler output selected cannot generate
  3103. % object files with the correct format. Therefore, the
  3104. % default assembler for this target is used instead.
  3105. option_using_file=11026_T_Reading options from file $1
  3106. % Options are also read from this file.
  3107. option_using_env=11027_T_Reading options from environment $1
  3108. % Options are also read from this environment string.
  3109. option_handling_option=11028_D_Handling option "$1"
  3110. % Debug info that an option is found and will be handled.
  3111. option_help_press_enter=11029_O_*** press enter ***
  3112. % Message shown when help is shown page per page. When pressing the ENTER
  3113. % Key, the next page of help is shown. If you press q and then ENTER, the
  3114. % compiler exits.
  3115. option_start_reading_configfile=11030_H_Start of reading config file $1
  3116. % Start of configuration file parsing.
  3117. option_end_reading_configfile=11031_H_End of reading config file $1
  3118. % End of configuration file parsing.
  3119. option_interpreting_option=11032_D_interpreting option "$1"
  3120. % The compiler is interpreting an option
  3121. option_interpreting_firstpass_option=11036_D_interpreting firstpass option "$1"
  3122. % The compiler is interpreting an option for the first time.
  3123. option_interpreting_file_option=11033_D_interpreting file option "$1"
  3124. % The compiler is interpreting an option which it read from the configuration file.
  3125. option_read_config_file=11034_D_Reading config file "$1"
  3126. % The compiler is starting to read the configuration file.
  3127. option_found_file=11035_D_found source file name "$1"
  3128. % Additional information about options.
  3129. % Displayed when you have the debug option turned on.
  3130. option_code_page_not_available=11039_E_Unknown codepage "$1"
  3131. % An unknown codepage for the source files was requested.
  3132. % The compiler is compiled with support for several codepages built-in.
  3133. % The requested codepage is not in that list. You will need to recompile
  3134. % the compiler with support for the codepage you need.
  3135. option_config_is_dir=11040_F_Config file $1 is a directory
  3136. % Directories cannot be used as configuration files.
  3137. option_confict_asm_debug=11041_W_Assembler output selected "$1" cannot generate debug info, debugging disabled
  3138. % The selected assembler output cannot generate
  3139. % debugging information, debugging option is therefore disabled.
  3140. option_ppc386_deprecated=11042_W_Use of ppc386.cfg is deprecated, please use fpc.cfg instead
  3141. % Using ppc386.cfg is still supported for historical reasons, however, for a multiplatform
  3142. % system the naming makes no sense anymore. Please continue to use fpc.cfg instead.
  3143. option_else_without_if=11043_F_In options file $1 at line $2 \var{\#ELSE} directive without \var{\#IF(N)DEF} found
  3144. % An \var{\#ELSE} statement was found in the options file without a matching \var{\#IF(N)DEF} statement.
  3145. option_unsupported_target=11044_F_Option "$1" is not, or not yet, supported on the current target platform
  3146. % Not all options are supported or implemented for all target platforms. This message informs you that a chosen
  3147. % option is incompatible with the currently selected target platform.
  3148. option_unsupported_target_for_feature=11045_F_The feature "$1" is not, or not yet, supported on the selected target platform
  3149. % Not all features are supported or implemented for all target platforms. This message informs you that a chosen
  3150. % feature is incompatible with the currently selected target platform.
  3151. option_dwarf_smart_linking=11046_N_DWARF debug information cannot be used with smart linking on this target, switching to static linking
  3152. % Smart linking is currently incompatble with DWARF debug information on most
  3153. % platforms, so smart linking is disabled in such cases.
  3154. option_ignored_target=11047_W_Option "$1" is ignored for the current target platform.
  3155. % Not all options are supported or implemented for all target platforms. This message informs you that a chosen
  3156. % option is ignored for the currently selected target platform.
  3157. option_debug_external_unsupported=11048_W_Disabling external debug information because it is unsupported for the selected target/debug format combination.
  3158. % Not all debug formats can be stored in an external file on all platforms. In particular, on
  3159. % Mac OS X only DWARF debug information can be stored externally.
  3160. option_dwarf_smartlink_creation=11049_N_DWARF debug information cannot be used with smart linking with external assembler, disabling static library creation.
  3161. % Smart linking is currently incompatble with DWARF debug information on most
  3162. % platforms, so smart linking is disabled in such cases.
  3163. option_invalid_macosx_deployment_target=11050_E_Invalid value for MACOSX_DEPLOYMENT_TARGET environment variable: $1
  3164. option_invalid_iphoneos_deployment_target=11051_E_Invalid value for IPHONEOS_DEPLOYMENT_TARGET environment variable: $1
  3165. % On Mac OS X, the MACOSX\_DEPLOYMENT\_TARGET/IPHONEOS\_DEPLOYMENT\_TARGET environment variable can be
  3166. % used to set the default target OS version. In case of Mac OS X, it has to be of the format
  3167. % XY.Z or XY.Z.AB with X, Y,Z , A and B all digits from 0-9.
  3168. % In case of iOS, it has to be X.Z.A, where X, Z and A can all be either 1 or 2
  3169. % digits from 0-9.
  3170. option_illegal_fpu_eabihf=11052_E_You must use a FPU type of VFPV2, VFPV3 or VFPV3_D16 when using the EABIHF ABI target
  3171. % The EABIHF (VFP hardfloat) ABI target can only be used with VFP FPUs.
  3172. option_w_unsupported_debug_format=11053_W_The selected debug format is not supported on the current target, not changing the current setting
  3173. % Not all targets support all debug formats (in particular, Stabs is not supported on 64 bit targets).
  3174. %\end{description}
  3175. # EndOfTeX
  3176. #
  3177. # Whole program optimization
  3178. #
  3179. # 12019 is the last used one
  3180. #
  3181. # BeginOfTeX
  3182. %
  3183. % \section{Whole program optimization messages}
  3184. % This section lists errors that occur when the compiler is performing
  3185. % whole program optimization.
  3186. % \begin{description}
  3187. wpo_cant_find_file=12000_F_Cannot open whole program optimization feedback file "$1"
  3188. % The compiler cannot open the specified feedback file with whole program optimization information.
  3189. wpo_begin_processing=12001_D_Processing whole program optimization information in wpo feedback file "$1"
  3190. % The compiler starts processing whole program optimization information found in the named file.
  3191. wpo_end_processing=12002_D_Finished processing the whole program optimization information in wpo feedback file "$1"
  3192. % The compiler has finished processing the whole program optimization information found in the named file.
  3193. wpo_expected_section=12003_E_Expected section header, but got "$2" at line $1 of wpo feedback file
  3194. % The compiler expected a section header in the whole program optimization file (starting with \%),
  3195. % but did not find it.
  3196. wpo_no_section_handler=12004_W_No handler registered for whole program optimization section "$2" at line $1 of wpo feedback file, ignoring
  3197. % The compiler has no handler to deal with the mentioned whole program optimization information
  3198. % section, and will therefore ignore it and skip to the next section.
  3199. wpo_found_section=12005_D_Found whole program optimization section "$1" with information about "$2"
  3200. % The compiler encountered a section with whole program optimization information, and according
  3201. % to its handler this section contains information usable for the mentioned purpose.
  3202. wpo_no_input_specified=12006_F_The selected whole program optimizations require a previously generated feedback file (use -Fw to specify)
  3203. % The compiler needs information gathered during a previous compilation run to perform the selected
  3204. % whole program optimizations. You can specify the location of the feedback file containing this
  3205. % information using the -Fw switch.
  3206. wpo_not_enough_info=12007_E_No collected information necessary to perform "$1" whole program optimization found
  3207. % While you pointed the compiler to a file containing whole program optimization feedback, it
  3208. % did not contain the information necessary to perform the selected optimizations. You most likely
  3209. % have to recompile the program using the appropate -OWxxx switch.
  3210. wpo_no_output_specified=12008_F_Specify a whole program optimization feedback file to store the generated info in (using -FW)
  3211. % You have to specify the feedback file in which the compiler has to store the whole program optimization
  3212. % feedback that is generated during the compilation run. This can be done using the -FW switch.
  3213. wpo_output_without_info_gen=12009_E_Not generating any whole program optimization information, yet a feedback file was specified (using -FW)
  3214. % The compiler was instructed to store whole program optimization feedback into a file specified using -FW,
  3215. % but not to actually generated any whole program optimization feedback. The classes of to be
  3216. % generated information can be speciied using -OWxxx.
  3217. wpo_input_without_info_use=12010_E_Not performing any whole program optimizations, yet an input feedback file was specified (using -Fw)
  3218. % The compiler was not instructed to perform any whole program optimizations (no -Owxxx parameters),
  3219. % but nevertheless an input file with such feedback was specified (using -Fwyyy). Since this can
  3220. % indicate that you forgot to specify an -Owxxx parameter, the compiler generates an error in this case.
  3221. wpo_skipping_unnecessary_section=12011_D_Skipping whole program optimization section "$1", because not needed by the requested optimizations
  3222. % The whole program optimization feedback file contains a section with information that is not
  3223. % required by the selected whole program optimizations.
  3224. wpo_duplicate_wpotype=12012_W_Overriding previously read information for "$1" from feedback input file using information in section "$2"
  3225. % The feedback file contains multiple sections that provide the same class of information (e.g.,
  3226. % information about which virtual methods can be devirtualized). In this case, the information in last encountered
  3227. % section is used. Turn on debugging output (-vd) to see which class of information is provided by each section.
  3228. wpo_cannot_extract_live_symbol_info_strip=12013_E_Cannot extract symbol liveness information from program when stripping symbols, use -Xs-
  3229. % Certain symbol liveness collectors extract the symbol information from the linked program. If the symbol information
  3230. % is stripped (option -Xs), this is not possible.
  3231. wpo_cannot_extract_live_symbol_info_no_link=12014_E_Cannot extract symbol liveness information from program when when not linking
  3232. % Certain symbol liveness collectors extract the symbol information from the linked program. If the program is not
  3233. % linked by the compiler, this is not possible.
  3234. wpo_cannot_find_symbol_progs=12015_F_Cannot find "$1" or "$2" to extract symbol liveness information from linked program
  3235. % Certain symbol liveness collectors need a helper program to extract the symbol information from the linked program.
  3236. % This helper program is normally 'nm', which is part of the GNU binutils.
  3237. wpo_error_reading_symbol_file=12016_E_Error during reading symbol liveness information produced by "$1"
  3238. % An error occurred during the reading of the symbol liveness file that was generated using the 'nm' or 'objdump' program. The reason
  3239. % can be that it was shorter than expected, or that its format was not understood.
  3240. wpo_error_executing_symbol_prog=12017_F_Error executing "$1" (exitcode: $2) to extract symbol information from linked program
  3241. % Certain symbol liveness collectors need a helper program to extract the symbol information from the linked program.
  3242. % The helper program produced the reported error code when it was run on the linked program.
  3243. wpo_symbol_live_info_needs_smart_linking=12018_E_Collection of symbol liveness information can only help when using smart linking, use -CX -XX
  3244. % Whether or not a symbol is live is determined by looking whether it exists in the final linked program.
  3245. % Without smart linking/dead code stripping, all symbols are always included, regardless of whether they are
  3246. % actually used or not. So in that case all symbols will be seen as live, which makes this optimization ineffective.
  3247. wpo_cant_create_feedback_file=12019_E_Cannot create specified whole program optimisation feedback file "$1"
  3248. % The compiler is unable to create the file specified using the -FW parameter to store the whole program optimisation information.
  3249. %\end{description}
  3250. # EndOfTeX
  3251. #
  3252. # Logo (option -l)
  3253. #
  3254. option_logo=11023_[
  3255. Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPCCPU
  3256. Copyright (c) 1993-2013 by Florian Klaempfl and others
  3257. ]
  3258. #
  3259. # Info (option -i)
  3260. #
  3261. option_info=11024_[
  3262. Free Pascal Compiler version $FPCVERSION
  3263. Compiler Date : $FPCDATE
  3264. Compiler CPU Target: $FPCCPU
  3265. Supported targets:
  3266. $OSTARGETS
  3267. Supported CPU instruction sets:
  3268. $INSTRUCTIONSETS
  3269. Supported FPU instruction sets:
  3270. $FPUINSTRUCTIONSETS
  3271. Supported ABI targets:
  3272. $ABITARGETS
  3273. Supported Optimizations:
  3274. $OPTIMIZATIONS
  3275. Supported Whole Program Optimizations:
  3276. All
  3277. $WPOPTIMIZATIONS
  3278. Supported Microcontroller types:
  3279. $CONTROLLERTYPES
  3280. This program comes under the GNU General Public Licence
  3281. For more information read COPYING.v2
  3282. Please report bugs in our bug tracker on:
  3283. http://bugs.freepascal.org
  3284. More information may be found on our WWW pages (including directions
  3285. for mailing lists useful for asking questions or discussing potential
  3286. new features, etc.):
  3287. http://www.freepascal.org
  3288. ]
  3289. #
  3290. # Help pages (option -? and -h)
  3291. #
  3292. # The first character on the line indicates who will display this
  3293. # line, the current possibilities are :
  3294. # * = every target
  3295. # 3 = 80x86 targets
  3296. # 4 = x86_64
  3297. # 6 = 680x0 targets
  3298. # A = ARM
  3299. # e = in extended debug mode only
  3300. # F = help for the 'fpc' binary (independent of the target compiler)
  3301. # P = PowerPC targets
  3302. # S = Sparc targets
  3303. # V = Virtual machine targets
  3304. # J = JVM
  3305. # The second character also indicates who will display this line,
  3306. # (if the above character was TRUE) the current possibilities are :
  3307. # * = everyone
  3308. # g = with GDB info supported by the compiler
  3309. # O = OS/2
  3310. # L = UNIX systems
  3311. # The third character represents the indentation level.
  3312. #
  3313. option_help_pages=11025_[
  3314. **0*_Put + after a boolean switch option to enable it, - to disable it
  3315. **1a_The compiler doesn't delete the generated assembler file
  3316. **2al_List sourcecode lines in assembler file
  3317. **2an_List node info in assembler file (-dEXTDEBUG compiler)
  3318. *L2ap_Use pipes instead of creating temporary assembler files
  3319. **2ar_List register allocation/release info in assembler file
  3320. **2at_List temp allocation/release info in assembler file
  3321. **1A<x>_Output format:
  3322. **2Adefault_Use default assembler
  3323. 3*2Aas_Assemble using GNU AS
  3324. 3*2Amacho_Mach-O (Darwin, Intel 32 bit) using internal writer
  3325. 3*2Anasmcoff_COFF (Go32v2) file using Nasm
  3326. 3*2Anasmelf_ELF32 (Linux) file using Nasm
  3327. 3*2Anasmwin32_Win32 object file using Nasm
  3328. 3*2Anasmwdosx_Win32/WDOSX object file using Nasm
  3329. 3*2Awasm_Obj file using Wasm (Watcom)
  3330. 3*2Anasmobj_Obj file using Nasm
  3331. 3*2Amasm_Obj file using Masm (Microsoft)
  3332. 3*2Atasm_Obj file using Tasm (Borland)
  3333. 3*2Aelf_ELF (Linux) using internal writer
  3334. 3*2Acoff_COFF (Go32v2) using internal writer
  3335. 3*2Apecoff_PE-COFF (Win32) using internal writer
  3336. 4*2Aas_Assemble using GNU AS
  3337. 4*2Agas_Assemble using GNU GAS
  3338. 4*2Agas-darwin_Assemble darwin Mach-O64 using GNU GAS
  3339. 4*2Amasm_Win64 object file using ml64 (Microsoft)
  3340. 4*2Apecoff_PE-COFF (Win64) using internal writer
  3341. 4*2Aelf_ELF (Linux-64bit) using internal writer
  3342. 6*2Aas_Unix o-file using GNU AS
  3343. 6*2Agas_GNU Motorola assembler
  3344. 6*2Amit_MIT Syntax (old GAS)
  3345. 6*2Amot_Standard Motorola assembler
  3346. A*2Aas_Assemble using GNU AS
  3347. P*2Aas_Assemble using GNU AS
  3348. S*2Aas_Assemble using GNU AS
  3349. **1b_Generate browser info
  3350. **2bl_Generate local symbol info
  3351. **1B_Build all modules
  3352. **1C<x>_Code generation options:
  3353. **2C3<x>_Turn on ieee error checking for constants
  3354. **2Ca<x>_Select ABI, see fpc -i for possible values
  3355. **2Cb_Generate code for a big-endian variant of the target architecture
  3356. **2Cc<x>_Set default calling convention to <x>
  3357. **2CD_Create also dynamic library (not supported)
  3358. **2Ce_Compilation with emulated floating point opcodes
  3359. **2Cf<x>_Select fpu instruction set to use, see fpc -i for possible values
  3360. **2CF<x>_Minimal floating point constant precision (default, 32, 64)
  3361. **2Cg_Generate PIC code
  3362. **2Ch<n>_<n> bytes heap (between 1023 and 67107840)
  3363. **2Ci_IO-checking
  3364. **2Cn_Omit linking stage
  3365. P*2CN_Generate nil-pointer checks (AIX-only)
  3366. **2Co_Check overflow of integer operations
  3367. **2CO_Check for possible overflow of integer operations
  3368. **2Cp<x>_Select instruction set, see fpc -i for possible values
  3369. **2CP<x>=<y>_ packing settings
  3370. **3CPPACKSET=<y>_ <y> set allocation: 0, 1 or DEFAULT or NORMAL, 2, 4 and 8
  3371. **2Cr_Range checking
  3372. **2CR_Verify object method call validity
  3373. **2Cs<n>_Set stack checking size to <n>
  3374. **2Ct_Stack checking (for testing only, see manual)
  3375. p*2CT<x>_Target-specific code generation options
  3376. P*2CT<x>_Target-specific code generation options
  3377. J*2CT<x>_Target-specific code generation options
  3378. A*2CT<x>_Target-specific code generation options
  3379. p*3CTsmalltoc_ Generate smaller TOCs at the expense of execution speed (AIX)
  3380. P*3CTsmalltoc_ Generate smaller TOCs at the expense of execution speed (AIX)
  3381. J*3CTcompactintarrayinit_ Generate smaller (but potentially slower) code for initializing integer array constants
  3382. J*3CTenumfieldinit_ Initialize enumeration fields in constructors to enumtype(0), after calling inherited constructors
  3383. J*3CTautogetterprefix=X_ Automatically create getters for properties with prefix X (empty string disables)
  3384. J*3CTautosetterprefix=X_ Automatically create setters for properties with prefix X (empty string disables)
  3385. A*3CTthumbinterworking_ Generate Thumb interworking-safe code if possible
  3386. J*2Cv_Var/out parameter copy-out checking
  3387. **2CX_Create also smartlinked library
  3388. **1d<x>_Defines the symbol <x>
  3389. **1D_Generate a DEF file
  3390. **2Dd<x>_Set description to <x>
  3391. **2Dv<x>_Set DLL version to <x>
  3392. *O2Dw_PM application
  3393. **1e<x>_Set path to executable
  3394. **1E_Same as -Cn
  3395. **1fPIC_Same as -Cg
  3396. **1F<x>_Set file names and paths:
  3397. **2Fa<x>[,y]_(for a program) load units <x> and [y] before uses is parsed
  3398. **2Fc<x>_Set input codepage to <x>
  3399. **2FC<x>_Set RC compiler binary name to <x>
  3400. **2Fd_Disable the compiler's internal directory cache
  3401. **2FD<x>_Set the directory where to search for compiler utilities
  3402. **2Fe<x>_Redirect error output to <x>
  3403. **2Ff<x>_Add <x> to framework path (Darwin only)
  3404. **2FE<x>_Set exe/unit output path to <x>
  3405. **2Fi<x>_Add <x> to include path
  3406. **2Fl<x>_Add <x> to library path
  3407. **2FL<x>_Use <x> as dynamic linker
  3408. **2Fm<x>_Load unicode conversion table from <x>.txt in the compiler dir
  3409. **2Fo<x>_Add <x> to object path
  3410. **2Fr<x>_Load error message file <x>
  3411. **2FR<x>_Set resource (.res) linker to <x>
  3412. **2Fu<x>_Add <x> to unit path
  3413. **2FU<x>_Set unit output path to <x>, overrides -FE
  3414. **2FW<x>_Store generated whole-program optimization feedback in <x>
  3415. **2Fw<x>_Load previously stored whole-program optimization feedback from <x>
  3416. *g1g_Generate debug information (default format for target)
  3417. *g2gc_Generate checks for pointers
  3418. *g2gh_Use heaptrace unit (for memory leak/corruption debugging)
  3419. *g2gl_Use line info unit (show more info with backtraces)
  3420. *g2go<x>_Set debug information options
  3421. *g3godwarfsets_ Enable DWARF 'set' type debug information (breaks gdb < 6.5)
  3422. *g3gostabsabsincludes_ Store absolute/full include file paths in Stabs
  3423. *g3godwarfmethodclassprefix_ Prefix method names in DWARF with class name
  3424. *g2gp_Preserve case in stabs symbol names
  3425. *g2gs_Generate Stabs debug information
  3426. *g2gt_Trash local variables (to detect uninitialized uses)
  3427. *g2gv_Generates programs traceable with Valgrind
  3428. *g2gw_Generate DWARFv2 debug information (same as -gw2)
  3429. *g2gw2_Generate DWARFv2 debug information
  3430. *g2gw3_Generate DWARFv3 debug information
  3431. *g2gw4_Generate DWARFv4 debug information (experimental)
  3432. **1i_Information
  3433. **2iD_Return compiler date
  3434. **2iV_Return short compiler version
  3435. **2iW_Return full compiler version
  3436. **2iSO_Return compiler OS
  3437. **2iSP_Return compiler host processor
  3438. **2iTO_Return target OS
  3439. **2iTP_Return target processor
  3440. **1I<x>_Add <x> to include path
  3441. **1k<x>_Pass <x> to the linker
  3442. **1l_Write logo
  3443. **1M<x>_Set language mode to <x>
  3444. **2Mfpc_Free Pascal dialect (default)
  3445. **2Mobjfpc_FPC mode with Object Pascal support
  3446. **2Mdelphi_Delphi 7 compatibility mode
  3447. **2Mtp_TP/BP 7.0 compatibility mode
  3448. **2Mmacpas_Macintosh Pascal dialects compatibility mode
  3449. **1n_Do not read the default config files
  3450. **1o<x>_Change the name of the executable produced to <x>
  3451. **1O<x>_Optimizations:
  3452. **2O-_Disable optimizations
  3453. **2O1_Level 1 optimizations (quick and debugger friendly)
  3454. **2O2_Level 2 optimizations (-O1 + quick optimizations)
  3455. **2O3_Level 3 optimizations (-O2 + slow optimizations)
  3456. **2O4_Level 4 optimizations (-O3 + optimizations which might have unexpected side effects)
  3457. **2Oa<x>=<y>_Set alignment
  3458. **2Oo[NO]<x>_Enable or disable optimizations, see fpc -i for possible values
  3459. **2Op<x>_Set target cpu for optimizing, see fpc -i for possible values
  3460. **2OW<x>_Generate whole-program optimization feedback for optimization <x>, see fpc -i for possible values
  3461. **2Ow<x>_Perform whole-program optimization <x>, see fpc -i for possible values
  3462. **2Os_Optimize for size rather than speed
  3463. **1pg_Generate profile code for gprof (defines FPC_PROFILE)
  3464. F*1P<x>_Target CPU / compiler related options:
  3465. F*2PB_Show default compiler binary
  3466. F*2PP_Show default target cpu
  3467. F*2P<x>_Set target CPU (arm,i386,m68k,mips,mipsel,powerpc,powerpc64,sparc,x86_64
  3468. **1R<x>_Assembler reading style:
  3469. **2Rdefault_Use default assembler for target
  3470. 3*2Ratt_Read AT&T style assembler
  3471. 3*2Rintel_Read Intel style assembler
  3472. 6*2RMOT_Read motorola style assembler
  3473. **1S<x>_Syntax options:
  3474. **2S2_Same as -Mobjfpc
  3475. **2Sc_Support operators like C (*=,+=,/= and -=)
  3476. **2Sa_Turn on assertions
  3477. **2Sd_Same as -Mdelphi
  3478. **2Se<x>_Error options. <x> is a combination of the following:
  3479. **3*_<n> : Compiler halts after the <n> errors (default is 1)
  3480. **3*_w : Compiler also halts after warnings
  3481. **3*_n : Compiler also halts after notes
  3482. **3*_h : Compiler also halts after hints
  3483. **2Sg_Enable LABEL and GOTO (default in -Mtp and -Mdelphi)
  3484. **2Sh_Use reference counted strings (ansistring by default) instead of shortstrings
  3485. **2Si_Turn on inlining of procedures/functions declared as "inline"
  3486. **2Sk_Load fpcylix unit
  3487. **2SI<x>_Set interface style to <x>
  3488. **3SIcom_COM compatible interface (default)
  3489. **3SIcorba_CORBA compatible interface
  3490. **2Sm_Support macros like C (global)
  3491. **2So_Same as -Mtp
  3492. **2Ss_Constructor name must be init (destructor must be done)
  3493. **2Sx_Enable exception keywords (default in Delphi/ObjFPC modes)
  3494. **2Sy_@<pointer> returns a typed pointer, same as $T+
  3495. **1s_Do not call assembler and linker
  3496. **2sh_Generate script to link on host
  3497. **2st_Generate script to link on target
  3498. **2sr_Skip register allocation phase (use with -alr)
  3499. **1T<x>_Target operating system:
  3500. 3*2Tdarwin_Darwin/Mac OS X
  3501. 3*2Temx_OS/2 via EMX (including EMX/RSX extender)
  3502. 3*2Tfreebsd_FreeBSD
  3503. 3*2Tgo32v2_Version 2 of DJ Delorie DOS extender
  3504. 3*2Tiphonesim_ iPhoneSimulator from iOS SDK 3.2+ (older versions: -Tdarwin)
  3505. 3*2Tlinux_Linux
  3506. 3*2Tnativent_Native NT API (experimental)
  3507. 3*2Tnetbsd_NetBSD
  3508. 3*2Tnetware_Novell Netware Module (clib)
  3509. 3*2Tnetwlibc_Novell Netware Module (libc)
  3510. 3*2Topenbsd_OpenBSD
  3511. 3*2Tos2_OS/2 / eComStation
  3512. 3*2Tsunos_SunOS/Solaris
  3513. 3*2Tsymbian_Symbian OS
  3514. 3*2Tsolaris_Solaris
  3515. 3*2Twatcom_Watcom compatible DOS extender
  3516. 3*2Twdosx_WDOSX DOS extender
  3517. 3*2Twin32_Windows 32 Bit
  3518. 3*2Twince_Windows CE
  3519. 4*2Tdarwin_Darwin/Mac OS X
  3520. 4*2Tlinux_Linux
  3521. 4*2Twin64_Win64 (64 bit Windows systems)
  3522. 6*2Tamiga_Commodore Amiga
  3523. 6*2Tatari_Atari ST/STe/TT
  3524. 6*2Tlinux_Linux
  3525. 6*2Tpalmos_PalmOS
  3526. A*2Tdarwin_Darwin/iPhoneOS/iOS
  3527. A*2Tlinux_Linux
  3528. A*2Twince_Windows CE
  3529. P*2Tamiga_AmigaOS
  3530. P*2Tdarwin_Darwin/Mac OS X
  3531. P*2Tlinux_Linux
  3532. P*2Tmacos_Mac OS (classic)
  3533. P*2Tmorphos_MorphOS
  3534. S*2Tsolaris_Solaris
  3535. S*2Tlinux_Linux
  3536. **1u<x>_Undefines the symbol <x>
  3537. **1U_Unit options:
  3538. **2Un_Do not check where the unit name matches the file name
  3539. **2Ur_Generate release unit files (never automatically recompiled)
  3540. **2Us_Compile a system unit
  3541. **1v<x>_Be verbose. <x> is a combination of the following letters:
  3542. **2*_e : Show errors (default) 0 : Show nothing (except errors)
  3543. **2*_w : Show warnings u : Show unit info
  3544. **2*_n : Show notes t : Show tried/used files
  3545. **2*_h : Show hints c : Show conditionals
  3546. **2*_i : Show general info d : Show debug info
  3547. **2*_l : Show linenumbers r : Rhide/GCC compatibility mode
  3548. **2*_s : Show time stamps q : Show message numbers
  3549. **2*_a : Show everything x : Executable info (Win32 only)
  3550. **2*_b : Write file names messages p : Write tree.log with parse tree
  3551. **2*_ with full path v : Write fpcdebug.txt with
  3552. **2*_ lots of debugging info
  3553. **2*_m<x>,<y> : Don't show messages numbered <x> and <y>
  3554. F*1V<x>_Append '-<x>' to the used compiler binary name (e.g. for version)
  3555. **1W<x>_Target-specific options (targets)
  3556. 3*2WA_Specify native type application (Windows)
  3557. 4*2WA_Specify native type application (Windows)
  3558. A*2WA_Specify native type application (Windows)
  3559. 3*2Wb_Create a bundle instead of a library (Darwin)
  3560. P*2Wb_Create a bundle instead of a library (Darwin)
  3561. p*2Wb_Create a bundle instead of a library (Darwin)
  3562. A*2Wb_Create a bundle instead of a library (Darwin)
  3563. 4*2Wb_Create a bundle instead of a library (Darwin)
  3564. 3*2WB_Create a relocatable image (Windows, Symbian)
  3565. 3*2WBxxxx_Set image base to xxxx (Windows, Symbian)
  3566. 4*2WB_Create a relocatable image (Windows)
  3567. 4*2WBxxxx_Set image base to xxxx (Windows)
  3568. A*2WB_Create a relocatable image (Windows, Symbian)
  3569. A*2WBxxxx_Set image base to xxxx (Windows, Symbian)
  3570. 3*2WC_Specify console type application (EMX, OS/2, Windows)
  3571. 4*2WC_Specify console type application (EMX, OS/2, Windows)
  3572. A*2WC_Specify console type application (Windows)
  3573. P*2WC_Specify console type application (Classic Mac OS)
  3574. 3*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)
  3575. 4*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)
  3576. A*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)
  3577. 3*2We_Use external resources (Darwin)
  3578. 4*2We_Use external resources (Darwin)
  3579. A*2We_Use external resources (Darwin)
  3580. P*2We_Use external resources (Darwin)
  3581. p*2We_Use external resources (Darwin)
  3582. 3*2WF_Specify full-screen type application (EMX, OS/2)
  3583. 3*2WG_Specify graphic type application (EMX, OS/2, Windows)
  3584. 4*2WG_Specify graphic type application (EMX, OS/2, Windows)
  3585. A*2WG_Specify graphic type application (Windows)
  3586. P*2WG_Specify graphic type application (Classic Mac OS)
  3587. 3*2Wi_Use internal resources (Darwin)
  3588. 4*2Wi_Use internal resources (Darwin)
  3589. A*2Wi_Use internal resources (Darwin)
  3590. P*2Wi_Use internal resources (Darwin)
  3591. p*2Wi_Use internal resources (Darwin)
  3592. 3*2WI_Turn on/off the usage of import sections (Windows)
  3593. 4*2WI_Turn on/off the usage of import sections (Windows)
  3594. A*2WI_Turn on/off the usage of import sections (Windows)
  3595. 3*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwin)
  3596. 4*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwin)
  3597. p*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwin)
  3598. P*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwin)
  3599. 3*2WN_Do not generate relocation code, needed for debugging (Windows)
  3600. 4*2WN_Do not generate relocation code, needed for debugging (Windows)
  3601. A*2WN_Do not generate relocation code, needed for debugging (Windows)
  3602. A*2Wpxxxx_Specify the controller type, see fpc -i for possible values
  3603. V*2Wpxxxx_Specify the controller type, see fpc -i for possible values
  3604. 3*2WP<x>_Minimum iOS deployment version: 3.0, 5.0.1, ... (iphonesim)
  3605. A*2WP<x>_Minimum iOS deployment version: 3.0, 5.0.1, ... (Darwin)
  3606. 3*2WR_Generate relocation code (Windows)
  3607. 4*2WR_Generate relocation code (Windows)
  3608. A*2WR_Generate relocation code (Windows)
  3609. P*2WT_Specify MPW tool type application (Classic Mac OS)
  3610. **2WX_Enable executable stack (Linux)
  3611. **1X_Executable options:
  3612. **2Xc_Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Linux)
  3613. **2Xd_Do not search default library path (sometimes required for cross-compiling when not using -XR)
  3614. **2Xe_Use external linker
  3615. **2Xg_Create debuginfo in a separate file and add a debuglink section to executable
  3616. **2XD_Try to link units dynamically (defines FPC_LINK_DYNAMIC)
  3617. **2Xi_Use internal linker
  3618. **2Xm_Generate link map
  3619. **2XM<x>_Set the name of the 'main' program routine (default is 'main')
  3620. F*2Xp<x>_First search for the compiler binary in the directory <x>
  3621. **2XP<x>_Prepend the binutils names with the prefix <x>
  3622. **2Xr<x>_Set the linker's rlink-path to <x> (needed for cross compile, see the ld manual for more information) (BeOS, Linux)
  3623. **2XR<x>_Prepend <x> to all linker search paths (BeOS, Darwin, FreeBSD, Linux, Mac OS, Solaris)
  3624. **2Xs_Strip all symbols from executable
  3625. **2XS_Try to link units statically (default, defines FPC_LINK_STATIC)
  3626. **2Xt_Link with static libraries (-static is passed to linker)
  3627. **2XX_Try to smartlink units (defines FPC_LINK_SMART)
  3628. **1*_
  3629. **1?_Show this help
  3630. **1h_Shows this help without waiting
  3631. ]
  3632. #
  3633. # The End...