blob: 114879349158f9aa86c95c244d14fda50229b834 (
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
|
{ Source provided for Free Pascal Bug Report 2966 }
{ Submitted by "Alexey Barkovoy" on 2004-02-09 }
{ e-mail: clootie@ixbt.com }
program Project1;
type
{$ALIGN 8} // Can be 8, 16, 32 other value
TType1 = record
f: Word;
end;
TType2 = packed record
f, g: Word;
end;
TType3 = record
f, g: Word;
end;
var
t: TType2;
t2: TType3;
begin
WriteLn('Type1 = ', SizeOf(TType1));
WriteLn('Type2 = ', SizeOf(TType2));
WriteLn('Type3 = ', SizeOf(TType3));
WriteLn('It''s OK = ', DWORD(t));
WriteLn('This is the bug = ', DWORD(t2)); // Compiler stops here with "Error: Illegal type conversion"
end.
|