annotate tests/mini/classinfo3.d @ 979:523bf4f166bc

Fix some assembler issues: The assembler was miscompiling "add" (specifically, the "add reg/mem, imm" variations). The change that caused this seems to have been made because without it, some "add"s didn't compile at all. This patch reverts the previous change, and makes sure assembler operands are remapped correctly even though the input operands auto-generated due to updating operations aren't explicitly used.
author Frits van Bommel <fvbommel wxs.nl>
date Wed, 18 Feb 2009 21:46:14 +0100
parents 8f0b24bc55f0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
110
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
1 module classinfo3;
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
2
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
3 class C
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
4 {
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
5 int i;
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
6 float f;
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
7 long l;
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
8 int j;
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
9 }
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
10
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
11 void main()
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
12 {
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
13 auto c = C.classinfo;
821
8f0b24bc55f0 Added CMake option to disable generation of ClassInfo.offTi arrays, defaults to OFF.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 341
diff changeset
14 if (c.offTi !is null)
8f0b24bc55f0 Added CMake option to disable generation of ClassInfo.offTi arrays, defaults to OFF.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 341
diff changeset
15 {
110
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
16 assert(c.offTi.length == 4);
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
17
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
18 size_t base = 2*size_t.sizeof;
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
19
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
20 assert(c.offTi[0].offset == base);
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
21 assert(c.offTi[0].ti == typeid(int));
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
22 assert(c.offTi[1].offset == base+4);
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
23 assert(c.offTi[1].ti == typeid(float));
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
24 assert(c.offTi[2].offset == base+8);
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
25 assert(c.offTi[2].ti == typeid(long));
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
26 assert(c.offTi[3].offset == base+16);
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
27 assert(c.offTi[3].ti == typeid(int));
821
8f0b24bc55f0 Added CMake option to disable generation of ClassInfo.offTi arrays, defaults to OFF.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 341
diff changeset
28 }
110
e8da7856a260 [svn r114] Implemented the ClassInfo.offTi member.
lindquist
parents:
diff changeset
29 }