Test suite results for test file tbs/tb0001.pp

Test run data :

Free Pascal Compiler Test Suite Results

View Test suite results

Please specify search criteria:
File:
Operating system:
Processor:
Version
Date
Submitter
Machine
Comment
Limit
Cond
Category
Only failed tests
Hide skipped tests
List all tests

Test file "tbs/tb0001.pp" information:

t_id 1023
t_cpu i386
t_adddate 2003/10/14
t_result 0
t_knownrunerror 0
t_opts -O2

Detailed test run results:

Record count: 50

Total = 50

OK=0 Percentage= 0.00

Skipped=50 Percentage= 100.00

Result type Cat. Count Percentage First date Last Date
Skipping test because for other cpu 41 82.0 2024/05/08 11:24:00 238 2024/05/08 14:13:00 40
m68k 2 4.9 2024/05/08 12:40:00 244 2024/05/08 12:52:00 58
sparc 5 12.2 2024/05/08 11:58:00 56 2024/05/08 13:43:00 62
powerpc 3 7.3 2024/05/08 11:24:00 238 2024/05/08 13:17:00 181
arm 2 4.9 2024/05/08 12:28:00 33 2024/05/08 12:36:00 210
x86_64 6 14.6 2024/05/08 12:06:00 41 2024/05/08 14:13:00 40
powerpc64 6 14.6 2024/05/08 11:36:00 242 2024/05/08 13:33:00 60
mips 2 4.9 2024/05/08 12:44:00 239 2024/05/08 13:01:00 154
mipsel 2 4.9 2024/05/08 12:48:00 183 2024/05/08 13:10:00 228
aarch64 4 9.8 2024/05/08 11:57:00 41 2024/05/08 12:29:00 32
sparc64 6 14.6 2024/05/08 11:58:00 155 2024/05/08 14:06:00 137
riscv64 2 4.9 2024/05/08 11:57:00 31 2024/05/08 12:10:00 36
loongarch64 1 2.4 2024/05/08 12:37:00 36 2024/05/08 12:37:00 36
linux 41 100.0 2024/05/08 11:24:00 238 2024/05/08 14:13:00 40
3.3.1 26 63.4 2024/05/08 11:24:00 238 2024/05/08 13:35:00 32
3.2.3 15 36.6 2024/05/08 11:57:00 41 2024/05/08 14:13:00 40
Skipping test run because it is a unit 9 18.0 2024/05/08 12:17:00 25 2024/05/08 15:10:00 25
i386 9 100.0 2024/05/08 12:17:00 25 2024/05/08 15:10:00 25
linux 2 22.2 2024/05/08 12:32:00 236 2024/05/08 12:44:00 172
win32 7 77.8 2024/05/08 12:17:00 25 2024/05/08 15:10:00 25
3.3.1 7 77.8 2024/05/08 12:32:00 236 2024/05/08 15:10:00 25
3.2.3 2 22.2 2024/05/08 12:17:00 25 2024/05/08 12:44:00 172

Source:

{ %CPU=i386 }
{ %OPT=-O2  }
{ Old file: tbs0002.pp }
{  tests for the endless bugs in the optimizer          OK 0.9.2 }

unit tb0001;

  interface

  implementation

{$message starting hexstr}
    function hexstr(val : longint;cnt : byte) : string;

      const
         hexval : string[16]=('0123456789ABCDEF');

      var
         s : string;
         l2,i : integer;
         l1 : longInt;

      begin
         s[0]:=char(cnt);
         l1:=longint($f) shl (4*(cnt-1));
         for i:=1 to cnt do
           begin
              l2:=(val and l1) shr (4*(cnt-i));
              l1:=l1 shr 4;
              s[i]:=hexval[l2+1];
           end;
         hexstr:=s;
      end;

{$message starting dump_stack}

    procedure dump_stack(bp : longint);

{$message starting get_next_frame}

      function get_next_frame(bp : longint) : longint;

        begin
           asm
              movl bp,%eax
              movl (%eax),%eax
              movl %eax,__RESULT
           end ['EAX'];
        end;

      procedure dump_frame(addr : longint);

        begin
           { to be used by symify }
           writeln('  0x',HexStr(addr,8));
        end;

{$message starting get_addr}

      function get_addr(BP : longint) : longint;

        begin
           asm
              movl BP,%eax
              movl 4(%eax),%eax
              movl %eax,__RESULT
           end ['EAX'];
        end;

{$message starting main}

      var
         i,prevbp : longint;

      begin
         prevbp:=bp-1;
         i:=0;
         while bp > prevbp do
           begin
              dump_frame(get_addr(bp));
              i:=i+1;
              if i>max_frame_dump then exit;
              prevbp:=bp;
              bp:=get_next_frame(bp);
           end;
      end;

end.

Link to SVN view of tbs/tb0001.pp source.