summaryrefslogtreecommitdiff
path: root/tests/webtbs/tw1915.pp
blob: 583e1291e4dea073d5ebbc57c39b611149968d7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
PROGRAM SetIncl;
{
    This program demonstrates a set inclusion test bug.
    (After two days passed to track down a very perverse program error....)
    (By Louis Jean-Ruichard)
}
TYPE
    eAttr   = ( e0, e1, e2, e3, e4, e5, e6, e7 );
    entityP = ^entity;
    entity  =
            RECORD
                attr    : SET OF eAttr;
            END;
VAR
    ep  : entityP;
    e   : entity;
BEGIN
    e.attr:=[e2,e4,e7,e1,e0];
    WITH e DO
            IF ([e1,e0] <= attr)
            THEN Writeln('A1: [e1,e0] is included in attr')
    ;
    New(ep);
    ep^.attr:=[e2,e4,e7,e1,e0];
    WITH ep^ DO
            IF ([e1,e0] <= attr)
            THEN Writeln('A2: [e1,e0] is included in attr')
            ELSE
             begin
              Writeln('A2 statement incorrectly executed');
              Halt(1);
             end;
    ;
END.