diff --git a/tests/webtbs/tw40358.pp b/tests/webtbs/tw40358.pp new file mode 100644 index 0000000000..6c40ec885f --- /dev/null +++ b/tests/webtbs/tw40358.pp @@ -0,0 +1,40 @@ +program tw40358; + +{$packset 1} + +type + regval = 0..47; + regset = set of regval; + +procedure print_regset(const rs : regset); +var + r : regval; +begin + Write('rs=['); + for r in rs do + begin + Write(',',ord(r)); + { 39 is not in the constant sets below + but it is equal to 7+32 } + if r=39 then + begin + WriteLn('...'); + WriteLn('Wrong code generaed!'); + halt(1); + end; + end; + WriteLn(']'); +end; + +var + rs : regset; + +begin + rs:=[1,3,38,46]; + WriteLn('We should get [,1,3,38,46]'); + print_regset(rs); + rs:=[5,7,28]; + WriteLn('We should get [,5,7,28]'); + print_regset(rs); + WriteLn('ok'); +end.