[fpc-pascal] set addition bug?
peter at freepascal.org
Tue Feb 12 18:38:48 CET 2008
Adam Naumowicz wrote:
> Hello again,
> On Mon, 11 Feb 2008, Adam Naumowicz wrote:
>> 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 ];
>> writeln(SomeElem in ElemSet);
>> writeln(SomeElem in (ElemSet + ));
>> one gets:
>> while it should rather be
>> 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.
> It seems I've found an example that produces 'FALSE' with 2.2.0 and
> 'TRUE' with 2.0.0 trying to eliminate my code as much as possible - the
> piece is still a bit longish, so I attach it as a separate file - it
> seems, however, that removing lines any further 'hides' the bug.
> I hope it will help you find the solution for this nasty problem.
Fixed in 2.3.1 in r10311.
More information about the fpc-pascal