I can confirm this on linux-i386 2.0.0 and darwin-ppc 2.0.1

It looks like "+ <some call>" is parsed wrong. The next "program" compiles fine.

Marc


program testplus;
{$mode objfpc} {$H+}
begin
  + ParamStr(0);
  + ParamCount;
  + Exit;
  + WriteLN;
end.



Alexander Todorov wrote:
Hi all,
i have noticed something strange and I am not sure if this is a bug or
a feature.
------------------------
strSQL := Copy(strSQL,1,Length(strSQL)-1) + ' WHERE ';
strSQL := strSQL ; + ConstructWhereClause;
--------------------------^

This part of code must construct a sql sttement which is used later on.
the function ConstructWhereClause constructs everything that is behind `WHERE`.
How ever having a semi-colon not in right place messed things up.
The result is the old value of strSQL without the result of
ConstructWhereClause.
Removing ; before the plus (+) character fixes the problem.

In Delphi this would cause a compilation error, but in FPC it does not. Why ?

Btw : the miss placed ; appeared because Lazarus' identifier
completion adds a ; when the completion is selected. Any comments on
this ?
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to