Commit graph

261 commits

Author SHA1 Message Date
Tomas Lindquist Olsen
e0176785c7 [svn r121] Finished ModuleInfo implementation.
Static ctors/dtors now work according to spec.
Changed class vtable types slightly in some cases. Overridden functions now always take the the type of the first class declaring the method as this parameter. This helps when using headers (w. implementation somewhere else)
2007-11-26 04:49:23 +01:00
Tomas Lindquist Olsen
c08b0918cc [svn r119] Added the monitor data field that comes after the vtable pointer to all classes. Represented as a void* initialized to zero. 2007-11-25 03:58:55 +01:00
Tomas Lindquist Olsen
541a677a54 [svn r118] Fixed dynamic casts.
Fixed a few interface bugs.
2007-11-25 00:19:13 +01:00
Tomas Lindquist Olsen
b43f5729b0 [svn r117] Initial working implementation of interfaces.
Groundwork for all the different types of class/interface casts laid out.
2007-11-24 06:33:00 +01:00
Tomas Lindquist Olsen
0a8ff5931a [svn r116] Implemented the ClassInfo.destructor field. 2007-11-22 22:30:10 +01:00
Tomas Lindquist Olsen
ccaf229830 [svn r115] Implemented the ClassInfo.defaultConstructor member. 2007-11-22 21:17:54 +01:00
Tomas Lindquist Olsen
be1fcd6a24 [svn r114] Implemented the ClassInfo.offTi member. 2007-11-22 21:01:01 +01:00
Tomas Lindquist Olsen
2af443b045 [svn r110] Fixed typeinfo for classes. 2007-11-19 06:01:48 +01:00
Tomas Lindquist Olsen
6da09c01b3 [svn r107] Getting .classinfo on a class instance now works (classinfo is stored in vtable) 2007-11-18 08:25:07 +01:00
Tomas Lindquist Olsen
c99938debf [svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
Basically it tries to do the following in order: Resolve types, Declare symbols, Create constant initializers, Apply initializers, Generate functions bodies.
ClassInfo is now has the most useful(biased?) members working.
Probably other stuf...
2007-11-18 06:52:57 +01:00
Tomas Lindquist Olsen
d1cfe9524c [svn r104] TONS OF FIXES.
Split up declaration, constant initializer gen and definition for globals, structs, classes and functions.
Improved ClassInfo support (not complete), not in vtable yet.
Fixed a bunch of forward reference problems.
Much more. Major commit! :)
2007-11-16 08:21:47 +01:00