mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 23:06:07 +02:00
Improve test to allow easier understanding of errors
git-svn-id: trunk@24516 -
This commit is contained in:
parent
4a696dbf00
commit
cc8708c3c9
@ -12,10 +12,10 @@
|
|||||||
var
|
var
|
||||||
ErrorCode: Integer;
|
ErrorCode: Integer;
|
||||||
|
|
||||||
procedure Error;
|
procedure Error(code : integer);
|
||||||
begin
|
begin
|
||||||
Writeln('Error!');
|
Writeln('Error: ',code,'!');
|
||||||
ErrorCode := 1;
|
ErrorCode := code;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -31,10 +31,10 @@ begin
|
|||||||
s8 := 127; s8_2 := 127;
|
s8 := 127; s8_2 := 127;
|
||||||
s32 := s8 + s8_2;
|
s32 := s8 + s8_2;
|
||||||
if s32 <> 254 then
|
if s32 <> 254 then
|
||||||
Error;
|
Error(1);
|
||||||
s32 := s8 + s8_2 + s8 + s8_2;
|
s32 := s8 + s8_2 + s8 + s8_2;
|
||||||
if s32 <> 508 then
|
if s32 <> 508 then
|
||||||
Error;
|
Error(2);
|
||||||
s32 := s8 + s8_2 + s8 + s8_2 + s8 + s8_2 + s8 + s8_2 +
|
s32 := s8 + s8_2 + s8 + s8_2 + s8 + s8_2 + s8 + s8_2 +
|
||||||
s8 + s8_2 + s8 + s8_2 + s8 + s8_2 + s8 + s8_2 +
|
s8 + s8_2 + s8 + s8_2 + s8 + s8_2 + s8 + s8_2 +
|
||||||
s8 + s8_2 + s8 + s8_2 + s8 + s8_2 + s8 + s8_2 +
|
s8 + s8_2 + s8 + s8_2 + s8 + s8_2 + s8 + s8_2 +
|
||||||
@ -69,31 +69,31 @@ begin
|
|||||||
s8 + s8_2 + s8 + s8_2 + s8 + s8_2 + s8 + s8_2 +
|
s8 + s8_2 + s8 + s8_2 + s8 + s8_2 + s8 + s8_2 +
|
||||||
s8 + s8_2 + s8 + s8_2 + s8 + s8_2 + s8 + s8_2;
|
s8 + s8_2 + s8 + s8_2 + s8 + s8_2 + s8 + s8_2;
|
||||||
if s32 <> -32008 then
|
if s32 <> -32008 then
|
||||||
Error;
|
Error(3);
|
||||||
|
|
||||||
Writeln(' signed8 + signed16 -> signed16 ');
|
Writeln(' signed8 + signed16 -> signed16 ');
|
||||||
s16 := 32767; s8 := 127;
|
s16 := 32767; s8 := 127;
|
||||||
s32 := s16 + s8;
|
s32 := s16 + s8;
|
||||||
if s32 <> -32642 then
|
if s32 <> -32642 then
|
||||||
Error;
|
Error(4);
|
||||||
s32 := s8 + s16;
|
s32 := s8 + s16;
|
||||||
if s32 <> -32642 then
|
if s32 <> -32642 then
|
||||||
Error;
|
Error(5);
|
||||||
|
|
||||||
Writeln(' signed16 + signed16 -> signed16 ');
|
Writeln(' signed16 + signed16 -> signed16 ');
|
||||||
s16 := 32767; s16_2 := 32767;
|
s16 := 32767; s16_2 := 32767;
|
||||||
s32 := s16 + s16_2;
|
s32 := s16 + s16_2;
|
||||||
if s32 <> -2 then
|
if s32 <> -2 then
|
||||||
Error;
|
Error(6);
|
||||||
|
|
||||||
Writeln(' unsigned8 + unsigned8 -> signed16 ');
|
Writeln(' unsigned8 + unsigned8 -> signed16 ');
|
||||||
u8 := 255; u8_2 := 255;
|
u8 := 255; u8_2 := 255;
|
||||||
s32 := u8 + u8_2;
|
s32 := u8 + u8_2;
|
||||||
if s32 <> 510 then
|
if s32 <> 510 then
|
||||||
Error;
|
Error(7);
|
||||||
s32 := u8 + u8_2 + u8 + u8_2;
|
s32 := u8 + u8_2 + u8 + u8_2;
|
||||||
if s32 <> 1020 then
|
if s32 <> 1020 then
|
||||||
Error;
|
Error(8);
|
||||||
s32 := u8 + u8_2 + u8 + u8_2 + u8 + u8_2 + u8 + u8_2 +
|
s32 := u8 + u8_2 + u8 + u8_2 + u8 + u8_2 + u8 + u8_2 +
|
||||||
u8 + u8_2 + u8 + u8_2 + u8 + u8_2 + u8 + u8_2 +
|
u8 + u8_2 + u8 + u8_2 + u8 + u8_2 + u8 + u8_2 +
|
||||||
u8 + u8_2 + u8 + u8_2 + u8 + u8_2 + u8 + u8_2 +
|
u8 + u8_2 + u8 + u8_2 + u8 + u8_2 + u8 + u8_2 +
|
||||||
@ -112,39 +112,42 @@ begin
|
|||||||
u8 + u8_2 + u8 + u8_2 + u8 + u8_2 + u8 + u8_2 +
|
u8 + u8_2 + u8 + u8_2 + u8 + u8_2 + u8 + u8_2 +
|
||||||
u8 + u8_2 + u8 + u8_2 + u8 + u8_2 + u8 + u8_2;
|
u8 + u8_2 + u8 + u8_2 + u8 + u8_2 + u8 + u8_2;
|
||||||
if s32 <> -30856 then
|
if s32 <> -30856 then
|
||||||
Error;
|
begin
|
||||||
|
Error(9);
|
||||||
|
writeln('s32=',s32, '$',hexstr(s32,8));
|
||||||
|
end;
|
||||||
|
|
||||||
Writeln(' unsigned8 + unsigned16 -> unsigned16 ');
|
Writeln(' unsigned8 + unsigned16 -> unsigned16 ');
|
||||||
u16 := 65535; u8 := 255;
|
u16 := 65535; u8 := 255;
|
||||||
s32 := u16 + u8;
|
s32 := u16 + u8;
|
||||||
if s32 <> 254 then
|
if s32 <> 254 then
|
||||||
Error;
|
Error(10);
|
||||||
s32 := u8 + u16;
|
s32 := u8 + u16;
|
||||||
if s32 <> 254 then
|
if s32 <> 254 then
|
||||||
Error;
|
Error(11);
|
||||||
u16 := 32768; u8 := 255;
|
u16 := 32768; u8 := 255;
|
||||||
s32 := u16 + u8;
|
s32 := u16 + u8;
|
||||||
if s32 <> 33023 then
|
if s32 <> 33023 then
|
||||||
Error;
|
Error(12);
|
||||||
s32 := u8 + u16;
|
s32 := u8 + u16;
|
||||||
if s32 <> 33023 then
|
if s32 <> 33023 then
|
||||||
Error;
|
Error(13);
|
||||||
|
|
||||||
Writeln(' unsigned16 + unsigned16 -> unsigned16 ');
|
Writeln(' unsigned16 + unsigned16 -> unsigned16 ');
|
||||||
u16 := 32767; u16_2 := 1;
|
u16 := 32767; u16_2 := 1;
|
||||||
s32 := u16 + u16_2;
|
s32 := u16 + u16_2;
|
||||||
if s32 <> 32768 then
|
if s32 <> 32768 then
|
||||||
Error;
|
Error(14);
|
||||||
u16 := 65535; u16_2 := 65535;
|
u16 := 65535; u16_2 := 65535;
|
||||||
s32 := u16 + u16_2;
|
s32 := u16 + u16_2;
|
||||||
if s32 <> 65534 then
|
if s32 <> 65534 then
|
||||||
Error;
|
Error(15);
|
||||||
|
|
||||||
Writeln(' signed8 + unsigned8 -> signed16 ');
|
Writeln(' signed8 + unsigned8 -> signed16 ');
|
||||||
s8 := 127; u8 := 255;
|
s8 := 127; u8 := 255;
|
||||||
s32 := s8 + u8;
|
s32 := s8 + u8;
|
||||||
if s32 <> 382 then
|
if s32 <> 382 then
|
||||||
Error;
|
Error(16);
|
||||||
s32 := s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 +
|
s32 := s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 +
|
||||||
s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 +
|
s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 +
|
||||||
s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 +
|
s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 +
|
||||||
@ -159,79 +162,79 @@ begin
|
|||||||
s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 +
|
s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 +
|
||||||
s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8;
|
s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8 + s8 + u8;
|
||||||
if s32 <> -30774 then
|
if s32 <> -30774 then
|
||||||
Error;
|
Error(17);
|
||||||
|
|
||||||
Writeln(' unsigned8 + signed16 -> signed16 ');
|
Writeln(' unsigned8 + signed16 -> signed16 ');
|
||||||
u8 := 255; s16 := 32767;
|
u8 := 255; s16 := 32767;
|
||||||
s32 := u8 + s16;
|
s32 := u8 + s16;
|
||||||
if s32 <> -32514 then
|
if s32 <> -32514 then
|
||||||
Error;
|
Error(18);
|
||||||
s32 := s16 + u8;
|
s32 := s16 + u8;
|
||||||
if s32 <> -32514 then
|
if s32 <> -32514 then
|
||||||
Error;
|
Error(19);
|
||||||
|
|
||||||
Writeln(' signed8 + unsigned16 -> signed32 ');
|
Writeln(' signed8 + unsigned16 -> signed32 ');
|
||||||
s8 := 127; u16 := 65535;
|
s8 := 127; u16 := 65535;
|
||||||
s32 := s8 + u16;
|
s32 := s8 + u16;
|
||||||
if s32 <> 65662 then
|
if s32 <> 65662 then
|
||||||
Error;
|
Error(20);
|
||||||
s32 := u16 + s8;
|
s32 := u16 + s8;
|
||||||
if s32 <> 65662 then
|
if s32 <> 65662 then
|
||||||
Error;
|
Error(21);
|
||||||
|
|
||||||
Writeln(' signed16 + unsigned16 -> signed32 ');
|
Writeln(' signed16 + unsigned16 -> signed32 ');
|
||||||
s16 := 32767; u16 := 65535;
|
s16 := 32767; u16 := 65535;
|
||||||
s32 := s16 + u16;
|
s32 := s16 + u16;
|
||||||
if s32 <> 98302 then
|
if s32 <> 98302 then
|
||||||
Error;
|
Error(22);
|
||||||
s32 := u16 + s16;
|
s32 := u16 + s16;
|
||||||
if s32 <> 98302 then
|
if s32 <> 98302 then
|
||||||
Error;
|
Error(23);
|
||||||
|
|
||||||
Writeln(' signed32 + signed8 -> signed32 ');
|
Writeln(' signed32 + signed8 -> signed32 ');
|
||||||
s32_2 := 1000000; s8 := 127;
|
s32_2 := 1000000; s8 := 127;
|
||||||
s32 := s32_2 + s8;
|
s32 := s32_2 + s8;
|
||||||
if s32 <> 1000127 then
|
if s32 <> 1000127 then
|
||||||
Error;
|
Error(24);
|
||||||
s32 := s8 + s32_2;
|
s32 := s8 + s32_2;
|
||||||
if s32 <> 1000127 then
|
if s32 <> 1000127 then
|
||||||
Error;
|
Error(25);
|
||||||
|
|
||||||
Writeln(' signed32 + unsigned8 -> signed32 ');
|
Writeln(' signed32 + unsigned8 -> signed32 ');
|
||||||
s32_2 := 1000000; u8 := 255;
|
s32_2 := 1000000; u8 := 255;
|
||||||
s32 := s32_2 + u8;
|
s32 := s32_2 + u8;
|
||||||
if s32 <> 1000255 then
|
if s32 <> 1000255 then
|
||||||
Error;
|
Error(26);
|
||||||
s32 := u8 + s32_2;
|
s32 := u8 + s32_2;
|
||||||
if s32 <> 1000255 then
|
if s32 <> 1000255 then
|
||||||
Error;
|
Error(27);
|
||||||
|
|
||||||
Writeln(' signed32 + signed16 -> signed32 ');
|
Writeln(' signed32 + signed16 -> signed32 ');
|
||||||
s32_2 := 1000000; s16 := 32767;
|
s32_2 := 1000000; s16 := 32767;
|
||||||
s32 := s32_2 + s16;
|
s32 := s32_2 + s16;
|
||||||
if s32 <> 1032767 then
|
if s32 <> 1032767 then
|
||||||
Error;
|
Error(28);
|
||||||
s32 := s16 + s32_2;
|
s32 := s16 + s32_2;
|
||||||
if s32 <> 1032767 then
|
if s32 <> 1032767 then
|
||||||
Error;
|
Error(29);
|
||||||
|
|
||||||
Writeln(' signed32 + unsigned16 -> signed32 ');
|
Writeln(' signed32 + unsigned16 -> signed32 ');
|
||||||
s32_2 := 1000000; u16 := 65535;
|
s32_2 := 1000000; u16 := 65535;
|
||||||
s32 := s32_2 + u16;
|
s32 := s32_2 + u16;
|
||||||
if s32 <> 1065535 then
|
if s32 <> 1065535 then
|
||||||
Error;
|
Error(30);
|
||||||
s32 := u16 + s32_2;
|
s32 := u16 + s32_2;
|
||||||
if s32 <> 1065535 then
|
if s32 <> 1065535 then
|
||||||
Error;
|
Error(31);
|
||||||
|
|
||||||
Writeln(' signed32 + signed32 -> signed32 ');
|
Writeln(' signed32 + signed32 -> signed32 ');
|
||||||
s32_2 := 1000000000;
|
s32_2 := 1000000000;
|
||||||
s32 := s32_2 + s32_2;
|
s32 := s32_2 + s32_2;
|
||||||
if s32 <> 2000000000 then
|
if s32 <> 2000000000 then
|
||||||
Error;
|
Error(32);
|
||||||
s32 := s32_2 + s32_2 + s32_2;
|
s32 := s32_2 + s32_2 + s32_2;
|
||||||
if s32 <> -1294967296 then
|
if s32 <> -1294967296 then
|
||||||
Error;
|
Error(33);
|
||||||
|
|
||||||
Halt(ErrorCode);
|
Halt(ErrorCode);
|
||||||
end.
|
end.
|
||||||
|
Loading…
Reference in New Issue
Block a user