Hello,

I'd like to know if this is a known issue, or a new bug.

With the following code:
------------------
program tester;

type SomeType = ( SomeElem );

const ElemSet = [ SomeElem ];

begin
   writeln(SomeElem in ElemSet);
   writeln(SomeElem in (ElemSet + []));
end.
------------------

one gets:

TRUE
FALSE

while it should rather be

TRUE
TRUE

The problem concerns FPC 2.2.0 on i386/Linux. Actually, I was tracing a bug that was only visible with 2.2.0 while the 2.0.0 version of the compiler did not produce an errorneous code on that. Unfortunately, I didn't succeed to separate a small snippet of code responsible for that - in that case, however, the set after the '+' was another set constant, not an empty set, so the problem is rather general. As I said, with 2.0.0 the boolean value was correct, while with 2.2.0 it was plain wrong.

Best regards,
Adam Naumowicz

======================================================================
Department of Applied Logic            fax. +48 (85) 745-7662
Institute of Computer Science          tel. +48 (85) 745-7559 (office)
University of Bialystok                e-mail: [EMAIL PROTECTED]
Sosnowa 64, 15-887 Bialystok, Poland   http://math.uwb.edu.pl/~adamn/
======================================================================

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

Reply via email to