[fpc-pascal] set addition bug?
adamn at math.uwb.edu.pl
Tue Feb 12 19:02:53 CET 2008
On Tue, 12 Feb 2008, Peter Vreman wrote:
> 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.
Thanks a lot for your quick response. Surely it solves the problem with
empty set as the second parameter. But I'm not sure if the other code I
sent later would also be fixed? - apparently that one had incorrect
valuation when tested with official 2.2.0 for Win32 - and there the second
argument was nonempty.
What do you think?
Department of Applied Logic fax. +48 (85) 745-7662
Institute of Computer Science tel. +48 (85) 745-7559 (office)
University of Bialystok e-mail: adamn at mizar.org
Sosnowa 64, 15-887 Bialystok, Poland http://math.uwb.edu.pl/~adamn/
More information about the fpc-pascal