|
@@ -52,9 +52,9 @@
|
|
conditional compiling handling.
|
|
conditional compiling handling.
|
|
\begin{description}
|
|
\begin{description}
|
|
\item [Fatal: Unexpected end of file]
|
|
\item [Fatal: Unexpected end of file]
|
|
- this typically happens in on of the following cases :
|
|
|
|
|
|
+ this typically happens in one of the following cases :
|
|
\begin{itemize}
|
|
\begin{itemize}
|
|
- \item The source file ends befor then final \var{end.} statement. This
|
|
|
|
|
|
+ \item The source file ends before the final \var{end.} statement. This
|
|
happens mostly when the \var{begin} and \var{end} statements aren't
|
|
happens mostly when the \var{begin} and \var{end} statements aren't
|
|
balanced;
|
|
balanced;
|
|
\item An include file ends in the middle of a statement.
|
|
\item An include file ends in the middle of a statement.
|
|
@@ -97,8 +97,8 @@
|
|
\fpc cannot find the program or unit source file you specified on the
|
|
\fpc cannot find the program or unit source file you specified on the
|
|
command line.
|
|
command line.
|
|
\item [Fatal: Can't open include file arg1]
|
|
\item [Fatal: Can't open include file arg1]
|
|
- \fpc cannot find the source file you specified in a \var{\{\$include \}}
|
|
|
|
- stateent.
|
|
|
|
|
|
+ \fpc cannot find the source file you specified in a \var{\{\$include ..\}}
|
|
|
|
+ statement.
|
|
\item [Error: Too many argENDIFs or argELSEs]
|
|
\item [Error: Too many argENDIFs or argELSEs]
|
|
Your \var{\{\$IFDEF ..\}} and {\{\$ENDIF\}} statements aren't balanced.
|
|
Your \var{\{\$IFDEF ..\}} and {\{\$ENDIF\}} statements aren't balanced.
|
|
\item [Warning: Records fields can be aligned to 1,2,4 or 16 bytes only]
|
|
\item [Warning: Records fields can be aligned to 1,2,4 or 16 bytes only]
|
|
@@ -110,10 +110,10 @@
|
|
\item [Error: arg1 expected for arg2 defined in line arg3]
|
|
\item [Error: arg1 expected for arg2 defined in line arg3]
|
|
Your conditional compilation statements are unbalanced.
|
|
Your conditional compilation statements are unbalanced.
|
|
\item [Error: Syntax error while parsing a conditional compiling expression]
|
|
\item [Error: Syntax error while parsing a conditional compiling expression]
|
|
- There is an error in the expression following the \var{\{\$if \}} compiler
|
|
|
|
|
|
+ There is an error in the expression following the \var{\{\$if ..\}} compiler
|
|
directive.
|
|
directive.
|
|
\item [Error: Evaluating a conditional compiling expression]
|
|
\item [Error: Evaluating a conditional compiling expression]
|
|
- There is an error in the expression following the \var{\{\$if \}} compiler
|
|
|
|
|
|
+ There is an error in the expression following the \var{\{\$if ..\}} compiler
|
|
directive.
|
|
directive.
|
|
\item [Warning: Macro contents is cut after char 255 to evalute expression]
|
|
\item [Warning: Macro contents is cut after char 255 to evalute expression]
|
|
The contents of macros canno be longer than 255 characters. This is a
|
|
The contents of macros canno be longer than 255 characters. This is a
|
|
@@ -185,8 +185,8 @@
|
|
\item [Warning: Unsupported application type: arg1]
|
|
\item [Warning: Unsupported application type: arg1]
|
|
You get this warning, ff you specify an unknown application type
|
|
You get this warning, ff you specify an unknown application type
|
|
with the directive \var{\{\$APPTYPE\}}
|
|
with the directive \var{\{\$APPTYPE\}}
|
|
-\item [Warning: argAPPTYPE isn't support by the target OS]
|
|
|
|
- The \var{\{\$APPTYPE\}} directive is supported by win32 applications only
|
|
|
|
|
|
+\item [Warning: APPTYPE isn't support by the target OS]
|
|
|
|
+ The \var{\{\$APPTYPE\}} directive is supported by win32 applications only.
|
|
\item [Warning: Unsupported assembler style specified arg1]
|
|
\item [Warning: Unsupported assembler style specified arg1]
|
|
When you specify an assembler mode with the \var{\{\$ASMMODE xxx\}}
|
|
When you specify an assembler mode with the \var{\{\$ASMMODE xxx\}}
|
|
the compiler didn't recognize the mode you specified.
|
|
the compiler didn't recognize the mode you specified.
|
|
@@ -265,7 +265,7 @@
|
|
\item [Error: Illegal parameter list]
|
|
\item [Error: Illegal parameter list]
|
|
You are calling a function with parameters that are of a different type than
|
|
You are calling a function with parameters that are of a different type than
|
|
the declared parameters of the function.
|
|
the declared parameters of the function.
|
|
-\item [Error: Wrong parameter type specified for arg 1]
|
|
|
|
|
|
+\item [Error: Wrong parameter type specified for arg no. arg1]
|
|
There is an error in the parameter list of the function or procedure.
|
|
There is an error in the parameter list of the function or procedure.
|
|
The compiler cannot determine the error more accurate than this.
|
|
The compiler cannot determine the error more accurate than this.
|
|
\item [Error: Wrong amount of parameters specified]
|
|
\item [Error: Wrong amount of parameters specified]
|
|
@@ -689,15 +689,18 @@
|
|
\item [Fatal: Direct assembler not supported for binary output format]
|
|
\item [Fatal: Direct assembler not supported for binary output format]
|
|
You can't use direct assembler when using a binary writer, choose an
|
|
You can't use direct assembler when using a binary writer, choose an
|
|
other outputformat or use an other assembler reader
|
|
other outputformat or use an other assembler reader
|
|
-\item [Warning: Don't load OBJPAS unit manual, use \var{\{\$mode objfpc\}} or
|
|
|
|
-\\var{\{\$mode delphi\}} instead]
|
|
|
|
|
|
+\item [Warning: Don't load OBJPAS unit manual, use {argmode objfpc} or {argmode delphi} instead]
|
|
You're trying to load the ObjPas unit manual from a uses clause. This is
|
|
You're trying to load the ObjPas unit manual from a uses clause. This is
|
|
- not a good idea to do, you can better use the \var{\{\$mode objfpc\}} or
|
|
|
|
-\var{\{\$mode delphi\}}
|
|
|
|
|
|
+ not a good idea to do, you can better use the \var{\{\$mode objfpc\}} or
|
|
|
|
+ \var{\{\$mode delphi\}}
|
|
directives which load the unit automaticly
|
|
directives which load the unit automaticly
|
|
\item [Error: OVERRIDE can't be used in objects]
|
|
\item [Error: OVERRIDE can't be used in objects]
|
|
Override isn't support for objects, use VIRTUAL instead to override
|
|
Override isn't support for objects, use VIRTUAL instead to override
|
|
a method of an anchestor object
|
|
a method of an anchestor object
|
|
|
|
+\item [Error: Data types which requires initialization/finalization can't be used in variant records]
|
|
|
|
+ Some data type (e.g. \var{ansistring}) needs initialization/finalization
|
|
|
|
+ code which is implicitly generated by the compiler. Such data types
|
|
|
|
+ can't be used in the variant part of a record.
|
|
\end{description}
|
|
\end{description}
|
|
\section{Type checking errors}
|
|
\section{Type checking errors}
|
|
This section lists all errors that can occur when type checking is
|
|
This section lists all errors that can occur when type checking is
|
|
@@ -724,6 +727,7 @@
|
|
A1:=A2; { This statement gives also this error, it
|
|
A1:=A2; { This statement gives also this error, it
|
|
is due the strict type checking of pascal }
|
|
is due the strict type checking of pascal }
|
|
End.
|
|
End.
|
|
|
|
+ \end{verbatim}
|
|
\item [Error: Type mismatch between arg1 and arg2]
|
|
\item [Error: Type mismatch between arg1 and arg2]
|
|
The types are not equal
|
|
The types are not equal
|
|
\item [Error: Integer expression expected]
|
|
\item [Error: Integer expression expected]
|
|
@@ -770,7 +774,7 @@
|
|
When hints are on, then an integer division with the '/' operator will
|
|
When hints are on, then an integer division with the '/' operator will
|
|
procuce this message, because the result will then be of type real
|
|
procuce this message, because the result will then be of type real
|
|
\item [Error: string types doesn't match, because of argV+ mode]
|
|
\item [Error: string types doesn't match, because of argV+ mode]
|
|
- When compiling in \var{\{\$V+ \}} mode, the string you pass as a parameter
|
|
|
|
|
|
+ When compiling in \var{\{\$V+\}} mode, the string you pass as a parameter
|
|
should be of the exact same type as the declared parameter of the procedure.
|
|
should be of the exact same type as the declared parameter of the procedure.
|
|
\item [Error: succ or pred on enums with assignments not possible]
|
|
\item [Error: succ or pred on enums with assignments not possible]
|
|
When you declared an enumeration type which has assignments in it, as in C,
|
|
When you declared an enumeration type which has assignments in it, as in C,
|
|
@@ -786,22 +790,28 @@
|
|
\item [Error: Type conflict between set elements]
|
|
\item [Error: Type conflict between set elements]
|
|
There is at least one set element which is of the wrong type, i.e. not of
|
|
There is at least one set element which is of the wrong type, i.e. not of
|
|
the set type.
|
|
the set type.
|
|
-\item [Warning: lo/hi(longint/dword) returns the upper/lower word]
|
|
|
|
- \fpc supports an overloaded version of \var{lo/hi} for \var{longint/dword}
|
|
|
|
- which returns the lower/upper word of the argument. TP always uses
|
|
|
|
|
|
+\item [Warning: lo/hi(dword/qword) returns the upper/lower word/dword]
|
|
|
|
+ \fpc supports an overloaded version of \var{lo/hi} for \var{longint/dword/int64/qword}
|
|
|
|
+ which returns the lower/upper word/dword of the argument. TP always uses
|
|
a 16 bit \var{lo/hi} which returns always bits 0..7 for \var{lo} and the
|
|
a 16 bit \var{lo/hi} which returns always bits 0..7 for \var{lo} and the
|
|
bits 8..15 for \var{hi}. If you want the TP behavior you have
|
|
bits 8..15 for \var{hi}. If you want the TP behavior you have
|
|
- to type case the argument to \var{word/integer}
|
|
|
|
|
|
+ to type cast the argument to \var{word/integer}
|
|
\item [Error: Integer or real expression expected]
|
|
\item [Error: Integer or real expression expected]
|
|
The first argument to \var{str} must a real or integer type.
|
|
The first argument to \var{str} must a real or integer type.
|
|
\item [Error: Wrong type in array constructor]
|
|
\item [Error: Wrong type in array constructor]
|
|
You are trying to use a type in an array constructor which is not
|
|
You are trying to use a type in an array constructor which is not
|
|
allowed.
|
|
allowed.
|
|
-\item [Error: Incompatible type for arg arg1: Got arg2, expected arg3]
|
|
|
|
|
|
+\item [Error: Incompatible type for arg no. arg1: Got arg2, expected arg3]
|
|
You are trying to pass an invalid type for the specified parameter.
|
|
You are trying to pass an invalid type for the specified parameter.
|
|
\item [Error: Method (variable) and Procedure (variable) are not compatible]
|
|
\item [Error: Method (variable) and Procedure (variable) are not compatible]
|
|
You can't assign a method to a procedure variable or a procedure to a
|
|
You can't assign a method to a procedure variable or a procedure to a
|
|
method pointer.
|
|
method pointer.
|
|
|
|
+\item [Error: Illegal constant passed to internal math function]
|
|
|
|
+ The constant argument passed to a ln or sqrt function is out of
|
|
|
|
+ the definition range of these functions.
|
|
|
|
+\item [Error: Can't get the address of constants]
|
|
|
|
+ It's not possible to get the address of a constant, because they
|
|
|
|
+ aren't stored in memory, you can try making it a typed constant.
|
|
\end{description}
|
|
\end{description}
|
|
\section{Symbol handling}
|
|
\section{Symbol handling}
|
|
This section lists all the messages that concern the handling of symbols.
|
|
This section lists all the messages that concern the handling of symbols.
|
|
@@ -854,7 +864,7 @@
|
|
\item [Warning: Label not defined arg1]
|
|
\item [Warning: Label not defined arg1]
|
|
A label was declared, but not defined.
|
|
A label was declared, but not defined.
|
|
\item [Error: Illegal label declaration]
|
|
\item [Error: Illegal label declaration]
|
|
-\item [Error: GOTO und LABEL are not supported (use switch -Sg)]
|
|
|
|
|
|
+\item [Error: GOTO and LABEL are not supported (use switch -Sg)]
|
|
You must compile a program which has \var{label}s and \var{goto} statements
|
|
You must compile a program which has \var{label}s and \var{goto} statements
|
|
with the \var{-Sg} switch. By default, \var{label} and \var{goto} aren't
|
|
with the \var{-Sg} switch. By default, \var{label} and \var{goto} aren't
|
|
supported.
|
|
supported.
|
|
@@ -1021,10 +1031,6 @@
|
|
\var{include} and \var{exclude} are only partially
|
|
\var{include} and \var{exclude} are only partially
|
|
implemented for \var{i386} processors
|
|
implemented for \var{i386} processors
|
|
and not at all for \var{m68k} processors.
|
|
and not at all for \var{m68k} processors.
|
|
-\item [Warning: Probably illegal constant passed to internal math function]
|
|
|
|
- The constant argument passed to a ln or sqrt function is out of
|
|
|
|
- the definition range of these functions, you may get unexpected
|
|
|
|
- results when running the program
|
|
|
|
\item [Error: Constructors or destructors can not be called inside a 'with' clause]
|
|
\item [Error: Constructors or destructors can not be called inside a 'with' clause]
|
|
Inside a \var{With} clause you cannot call a constructor or destructor for the
|
|
Inside a \var{With} clause you cannot call a constructor or destructor for the
|
|
object you have in the \var{with} clause.
|
|
object you have in the \var{with} clause.
|
|
@@ -1145,7 +1151,7 @@
|
|
\item [Warning: DEF file can be created only for OS/2]
|
|
\item [Warning: DEF file can be created only for OS/2]
|
|
This option can only be specified when you're compiling for OS/2
|
|
This option can only be specified when you're compiling for OS/2
|
|
\item [Error: nested response files are not supported]
|
|
\item [Error: nested response files are not supported]
|
|
- you cannot nest response files with the \var {@file} command-line option.
|
|
|
|
|
|
+ you cannot nest response files with the \var{@file} command-line option.
|
|
\item [Fatal: No source file name in command line]
|
|
\item [Fatal: No source file name in command line]
|
|
The compiler expects a source file name on the command line.
|
|
The compiler expects a source file name on the command line.
|
|
\item [Error: Illegal parameter: arg1]
|
|
\item [Error: Illegal parameter: arg1]
|
|
@@ -1193,4 +1199,4 @@
|
|
\item [Note: Switching assembler to default source writing assembler]
|
|
\item [Note: Switching assembler to default source writing assembler]
|
|
this notifies you that the assembler has been changed because you used the
|
|
this notifies you that the assembler has been changed because you used the
|
|
-a switch which can't be used with a binary assembler writer.
|
|
-a switch which can't be used with a binary assembler writer.
|
|
-\end{description}
|
|
|
|
|
|
+\end{description}
|