t_id
194
t_adddate
2003/10/03
t_result
0
t_knownrunerror
0
Record count: 50
Total = 50
OK=50 Percentage= 100.00
Result type | Cat. | Count | Percentage | First date | Last Date |
Successfully run | 50 | 100.0 | 2024/09/26 18:42:00 90 | 2024/09/26 23:02:00 44 | |
i386 | 4 | 8.0 | 2024/09/26 19:54:00 70 | 2024/09/26 22:38:00 79 | |
powerpc | 14 | 28.0 | 2024/09/26 19:41:00 35 | 2024/09/26 23:02:00 44 | |
powerpc64 | 17 | 34.0 | 2024/09/26 18:42:00 90 | 2024/09/26 22:29:00 103 | |
wasm32 | 7 | 14.0 | 2024/09/26 19:31:00 339 | 2024/09/26 22:50:00 299 | |
riscv64 | 8 | 16.0 | 2024/09/26 19:14:00 123 | 2024/09/26 19:59:00 123 | |
linux | 39 | 78.0 | 2024/09/26 18:42:00 90 | 2024/09/26 23:02:00 44 | |
go32v2 | 4 | 8.0 | 2024/09/26 19:54:00 70 | 2024/09/26 22:38:00 79 | |
wasi | 7 | 14.0 | 2024/09/26 19:31:00 339 | 2024/09/26 22:50:00 299 | |
3.3.1 | 34 | 68.0 | 2024/09/26 18:42:00 90 | 2024/09/26 22:50:00 299 | |
3.2.3 | 16 | 32.0 | 2024/09/26 21:17:00 71 | 2024/09/26 23:02:00 44 |
{$static on} type pbaseclass = ^tbaseclass; pderivedclass = ^tderivedclass; tbaseclass = object x : longint; constructor init; function getsize : longint; static; function getsize2 : longint; procedure check_size; virtual; procedure static_check_size; static; procedure check_normal; procedure check_static; static; procedure check_virtual; virtual; destructor done; virtual; end; tderivedclass = object(tbaseclass) y : longint; procedure check_size; virtual; end; const has_error : boolean = false; expected_size_for_tbaseclass = sizeof(pointer) + sizeof(longint); expected_size_for_tderivedclass = sizeof(pointer) + 2*sizeof(longint); var basesize : longint; derivedsize : longint; constructor tbaseclass.init; begin end; destructor tbaseclass.done; begin end; function tbaseclass.getsize : longint; begin getsize:=sizeof(self); end; function tbaseclass.getsize2 : longint; begin getsize2:=sizeof(self); end; procedure tbaseclass.check_size; begin if sizeof(self)<>getsize then begin Writeln('Compiler creates garbage'); has_error:=true; end; if sizeof(self)<>getsize2 then begin Writeln('Compiler creates garbage'); has_error:=true; end; end; procedure tbaseclass.static_check_size; begin if sizeof(self)<>getsize then begin Writeln('Compiler creates garbage'); has_error:=true; end; end; procedure tbaseclass.check_normal; begin check_size; static_check_size; end; procedure tbaseclass.check_static; begin {check_size;} static_check_size; end; procedure tbaseclass.check_virtual; begin check_size; static_check_size; end; procedure tderivedclass.check_size; begin Writeln('Calling tderived check_size method'); inherited check_size; end; var cb : tbaseclass; cd : tderivedclass; c1 : pbaseclass; begin cb.init; cd.init; new(c1,init); basesize:=sizeof(cb); Writeln('Sizeof(cb)=',basesize); if basesize<>expected_size_for_tbaseclass then Writeln('not the expected size : ',expected_size_for_tbaseclass); derivedsize:=sizeof(cd); Writeln('Sizeof(ct)=',derivedsize); if derivedsize<>expected_size_for_tderivedclass then Writeln('not the expected size : ',expected_size_for_tderivedclass); cb.check_size; cd.check_size; c1^.check_size; cb.static_check_size; cd.static_check_size; c1^.static_check_size; tbaseclass.static_check_size; tderivedclass.static_check_size; tbaseclass.check_static; tderivedclass.check_static; cb.check_normal; cb.check_static; cb.check_virtual; cd.check_normal; cd.check_static; cd.check_virtual; dispose (c1,done); c1:=new(pderivedclass,init); c1^.check_size; c1^.static_check_size; dispose (c1,done); if has_error then begin Writeln('Error with class methods'); halt(1); end; end.