annotate tests/mini/compile_asm1.d @ 812:6c2ff06c4201

Fixed a nasty bug with how interface vtables for class initializers were output, causing some class fields to be skipped. Fixed a problem in definition of ClassInfos where an invalid constant was potentially used. This needs to be looked into proper as it might happen again in the future.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Mon, 01 Dec 2008 04:37:54 +0100
parents 657d37df25b0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
436
657d37df25b0 stupid merge ... :/
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
1 extern(C) int printf(char*, ...);
657d37df25b0 stupid merge ... :/
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
2 void main()
657d37df25b0 stupid merge ... :/
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
3 {
657d37df25b0 stupid merge ... :/
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
4 void* i;
657d37df25b0 stupid merge ... :/
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
5 asm
657d37df25b0 stupid merge ... :/
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
6 {
657d37df25b0 stupid merge ... :/
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
7 mov EAX, FS:4;
657d37df25b0 stupid merge ... :/
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
8 mov i, EAX;
657d37df25b0 stupid merge ... :/
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
9 }
657d37df25b0 stupid merge ... :/
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
10 printf("FS:4 = %p\n", i);
657d37df25b0 stupid merge ... :/
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
11 }