Browse Source

* Updated compiler messages

michael 24 years ago
parent
commit
7a87365454
1 changed files with 57 additions and 15 deletions
  1. 57 15
      docs/messages.tex

+ 57 - 15
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 '[<x>]' 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}