From 7a87365454590403fca43ae7e9ffe876ad2bb54c Mon Sep 17 00:00:00 2001 From: michael Date: Mon, 29 Oct 2001 22:14:48 +0000 Subject: [PATCH] * Updated compiler messages --- docs/messages.tex | 72 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 57 insertions(+), 15 deletions(-) diff --git a/docs/messages.tex b/docs/messages.tex index 45f65c36f5..50408335e0 100644 --- a/docs/messages.tex +++ b/docs/messages.tex @@ -237,6 +237,13 @@ A macro declaration has been found, but macro support is currently off, so the declaration will be ignored. To turn macro support on compile with -Sm on the commandline or add \var{\{\$MACRO ON\}} in the source +\item [Warning: APPID is only supported for PalmOS] + The \var{\{\$APPID\}} directive is only supported for the PalmOS target. +\item [Warning: APPNAME is only supported for PalmOS] + The \var{\{\$APPNAME\}} directive is only supported for the PalmOS target. +\item [Error: Constant strings can't be longer than 255 chars] + A single string constant can contain at most 255 chars. Try splitting up the + string in multiple smaller parts and concatenate them with a + operator. \end{description} \section{Parser messages} This section lists all parser messages. The parser takes care of the @@ -744,8 +751,8 @@ Parameters are declared as call by reference using the \var{var}-directive \item [Error: Duplicate message label: arg1] A label for a message is used twice in one object/class -\item [Error: Self can be only an explicit parameter in message handlers] - The self parameter can be passed only explicitly in a method which +\item [Error: Self can only be an explicit parameter in mehtods that are message handlers] + The self parameter can only be passed explicitly to a method which is declared as message method handler. \item [Error: Threadvars can be only static or global] Threadvars must be static or global, you can't declare a thread @@ -816,6 +823,24 @@ currently supporting export of variables is Win32. \item [Error: Type "arg1" can't be used as array index type] Types like DWord or Int64 aren't allowed as array index type +\item [Warning: Some fields coming before "arg1" weren't initialized] + In Delphi mode, not all fields of a typed constant record have to be + initialized, but the compiler warns you when it detects such situations. +\item [Error: Some fields coming before "arg1" weren't initialized] + In all syntax modes but Delphi mode, you can't leave some fields uninitialized + in the middle of a typed constant record +\item [Hint: Some fields coming after "arg1" weren't initialized] + You can leave some fields at the end of a type constant record uninitialized + (the compiler will initialize them to zero automatically), but then the + compiler gives you a hint when it detects such situations. +\item [Error: Self must be a normal (call-by-value) parameter] + You can't declare self as a const or var parameter, it must always be + a call-by-value parameter +\item [Error: Typed constants of the type "procedure of object" can only be initialized with NIL] + You can't assign the address of a method to a typed constant which has a + 'procedure of object' type, because such a constant requires two addresses: + that of the method (which is known at compile time) and that of the object or + class instance it operates on (which can not be known at compile time). \end{description} \section{Type checking errors} This section lists all errors that can occur when type checking is @@ -954,11 +979,23 @@ \item [Error: Array type required] If you are accessing a variable using an index '[]' then the type must be an array. In FPC mode also a pointer is allowed. -\item [Hint: Mixing signed expressions and cardinals results in a (slower) 64bit evaluation] - If you divide/multiply a signed number by a cardinal (or vice versa), +\item [Warning: Mixing signed expressions and cardinals gives a 64bit result] + If you divide (or calculate the modulus of) a signed expression by a cardinal (or vice versa), or if you have overflow and/or range checking turned on and use an arithmetical - expression in which both signed numbers and cardinals appear, then everything has - to be evaluated in 64bit which is slower than normal 32bit arithmetics. + expression (+, -, *, div, mod) in which both signed numbers and cardinals appear, + then everything has to be evaluated in 64bit which is slower than normal + 32bit arithmetics. You can avoid this by typecasting one operand so it + matches the resulttype of the other one. +\item [Warning: Mixing signed expressions and cardinals here may cause a range check error] + If you use a binary operator (and, or, xor) and one of + the operands is a cardinal while the other one is a signed expression, then, + if range checking is turned on, you may get a range check error because in + such a case both operands are converted to cardinal before the operation is + carried out. You can avoid this by typecasting one operand so it + matches the resulttype of the other one. +\item [Error: Typecast has different size (arg1 -> arg2) in assignment] + Type casting to a type with a different size is not allowed when the variable is + used for assigning. \end{description} \section{Symbol handling} This section lists all the messages that concern the handling of symbols. @@ -1259,23 +1296,23 @@ \item [Error: Can't create archive file: arg1] The mentioned file can't be create. Check if you've permission to create this file -\item [Warning: Assembler arg1 not found, switching to external assembling] +\item [Error: Assembler arg1 not found, switching to external assembling] \item [Using assembler: arg1] -\item [Warning: Error while assembling exitcode arg1] -\item [Warning: Can't call the assembler, error arg1 switching to external assembling] +\item [Error: Error while assembling exitcode arg1] +\item [Error: Can't call the assembler, error arg1 switching to external assembling] \item [Info: Assembling arg1] \item [Info: Assembling smartlink arg1] \item [Warning: Object arg1 not found, Linking may fail !] \item [Warning: Library arg1 not found, Linking may fail !] -\item [Warning: Error while linking] -\item [Warning: Can't call the linker, switching to external linking] +\item [Error: Error while linking] +\item [Error: Can't call the linker, switching to external linking] \item [Info: Linking arg1] -\item [Warning: Util arg1 not found, switching to external linking] +\item [Error: Util arg1 not found, switching to external linking] \item [Using util arg1] \item [Error: Creation of Executables not supported] \item [Error: Creation of Dynamic/Shared Libraries not supported] \item [Info: Closing script arg1] -\item [Warning: resource compiler not found, switching to external mode] +\item [Error: resource compiler not found, switching to external mode] \item [Info: Compiling resource arg1] \item [unit arg1 can't be static linked, switching to smart linking] \item [unit arg1 can't be smart linked, switching to static linking] @@ -1313,7 +1350,7 @@ This unit file was compiled for a different processor type, and cannot be read \item [PPU is compiled for an other target] - This unit file was compiled for a different processor type, and + This unit file was compiled for a different target, and cannot be read \item [PPU Source: arg1] When you use the \var{-vu} flag, the unit CRC check is shown. @@ -1345,6 +1382,9 @@ \item [Fatal: Can't compile unit arg1, no sources available] A unit was found that needs to be recompiled, but no sources are available. +\item [Warning: Can't recompile unit arg1, but found modifed include files] + A unit was found to have modified include files, but + some source files were not found, so recompilation is impossible. \item [Fatal: Can't find unit arg1] You tried to use a unit of which the PPU file isn't found by the compiler. Check your config files for the unit pathes @@ -1400,6 +1440,7 @@ the same conditionals are set for the recompiliation. The compiler has found a conditional that was used the last time the unit was compiled, but the conditional is currently not defined. +\item [Hint: File arg1 is newer than Release PPU file arg2] \end{description} \section{Command-line handling errors} @@ -1426,7 +1467,7 @@ You can only nest up to 16 config files. \item [Fatal: Unable to open file arg1] The option file cannot be found. -\item [Note: Reading further options from arg1] +\item [Reading further options from arg1] Displayed when you have notes turned on, and the compiler switches to another options file. \item [Warning: Target is already set to: arg1] @@ -1468,4 +1509,5 @@ The assembler output selected can not generate object files with the correct format. Therefore, the default assembler for this target is used instead. +\item [*** press enter ***] \end{description}