Tomas Lindquist Olsen
d03c3a7757
[svn r233] Added: -oq command line option for writing fully qualified object names.
...
Added: started support for x86 80bit floating point.
Changed: aggregates passed by value now use the llvm 'byval' parameter attribute, also lays ground work for
using other attributes.
Changed: eliminated a lot more std::vectorS, these showed up pretty much at the top when profiling!
Changed: performed other misc. cleanups.
Changed: halt expression now call the new llvm trap intrinsic instead of an assert(0).
Changed: dstress suite now passes -O0 by default, this only eliminates unreferenced globals, which speeds up
linking quite a bit.
2008-06-05 06:38:36 +02:00
Tomas Lindquist Olsen
b4bb3aaec4
[svn r229] Updated the object.d implementation to the latest Tango.
...
Fixed a bunch of the built-in typeinfos for arrays, they did not inherit TypeInfo_Array.
Applied patch to tango/text/convert/Layout.d by fvbommel, closes #47 .
Cleaned up some type code.
Replaced uses of llvm::Type with LLType (a typedef), same for Value and Constant.
Fixed a few cases where typeinfo for user structs could be emitted multiple times, seems to still be some cases of this :/
2008-05-30 19:32:04 +02:00
Tomas Lindquist Olsen
a954f06e90
[svn r226] Fixed: deleting interface.
...
Removed: unused util function for calling class destructors.
2008-05-14 02:00:23 +02:00
Tomas Lindquist Olsen
19748f09ec
[svn r225] Fixed: delete expressions no longer use llvm's free instruction, which crashes on a GC provided pointer.
2008-05-14 01:22:40 +02:00
Tomas Lindquist Olsen
3365b4c02f
[svn r221] Update: Switched to the 2.3 LLVM svn branch, http://llvm.org/svn/llvm-project/llvm/branches/release_23 .
...
Fixed: Implemented volatile statements. Uses the LLVM memory barrier intrinsic, closes #21 .
2008-05-13 17:58:11 +02:00
Tomas Lindquist Olsen
c571bf0f70
[svn r217] Updated: the rebuild profiles.
...
Fixed: way to find class data fields was too strict type wise.
Fixed: foreach resulting in an implicit delegate could fail.
2008-05-12 22:44:25 +02:00
Christian Kamm
94e4a5b5a1
[svn r215] fix for empty class vtbl
2008-05-12 21:08:33 +02:00
Tomas Lindquist Olsen
9f3be435b0
[svn r209] Fixed: exotic array to pointer casts were broken.
...
Changed: classes now have opaque vtables.
2008-05-12 18:44:11 +02:00
Christian Kamm
7c78e3665b
[svn r208] const init interface vtbls to nonzero values only for nonabstract classes
2008-05-12 18:22:55 +02:00
Tomas Lindquist Olsen
f1c26350ca
[svn r206] Fixed some interfaceInfo related issues, closes #44
2008-05-12 14:32:29 +02:00
Tomas Lindquist Olsen
24bd9034c3
[svn r193] Fixed: abstract classes implementing interfaces now output proper Interface info arrays. (null vtables).
...
Did a little renaming of delegate utils.
2008-05-07 04:45:51 +02:00
Christian Kamm
0fba6312c2
[svn r189] moving IR data back into DMD frontend nodes
2008-05-06 07:56:03 +02:00
Tomas Lindquist Olsen
93a632c7c2
[svn r185] Fixed broken nested classes with data members, did DMD change the class layout? tango.text.Regex now compiles.
...
Commented some of the *very* verbose logging for -vv option.
2008-05-06 03:07:21 +02:00
Tomas Lindquist Olsen
a0c6cb6673
[svn r179] lots and lots of fixes, much more of tango now compiles/works.
2008-05-05 07:36:29 +02:00
Tomas Lindquist Olsen
a522719b85
[svn r176] Fixed a bug with class constructors.
2008-05-04 04:35:27 +02:00
Christian Kamm
91ae70e969
[svn r173] moved IR state previously stored in Type into IrType and a Type->IrType map; fixes #7
2008-05-01 13:32:08 +02:00
Christian Kamm
24726394f6
[svn r172] moving all IR state previously stored in Dsymbol into IrDsymbol and a Dsymbol->IrDsymbol map
2008-05-01 13:05:53 +02:00
Christian Kamm
48f1a9c507
[svn r171] starting to move IR data from AST nodes into IRState; started with IrFunction
2008-04-29 21:33:50 +02:00
Tomas Lindquist Olsen
ecd91a48f2
[svn r155] Fixed a bunch of linkage problems (especially with templates)
2008-03-24 19:43:02 +01:00
Christian Kamm
de63966a59
[svn r152] Relates to ticket #34 . Always emit class definition if it is a template instance. Linkage still needs to be fixed.
2008-03-13 18:37:52 +01:00
Tomas Lindquist Olsen
be7828b589
[svn r146] fixed some potential problems with mismatch in order of interfaces in class data layout
2008-01-23 15:48:19 +01:00
Tomas Lindquist Olsen
7825be29ee
[svn r142] minor fix to dynamic casts.
...
added a few missed files.
2008-01-18 20:13:19 +01:00
Tomas Lindquist Olsen
17247d63e7
[svn r141] fixed more problems with classinfo
...
moved more IR state out of the AST classes
2008-01-18 16:42:16 +01:00
Tomas Lindquist Olsen
5652546986
[svn r140] did a lot of the work towards being able to pass multiple modules on the command line. not complete yet though
2008-01-17 03:15:12 +01:00
Tomas Lindquist Olsen
4505b9b006
[svn r137] Many fixes towards tango.io.Console working, but not quite there yet...
...
In particular, assertions has been fixed to include file/line info, and much more!
2008-01-14 05:11:54 +01:00
Tomas Lindquist Olsen
b15b3484c8
[svn r136] MAJOR UNSTABLE UPDATE!!!
...
Initial commit after moving to Tango instead of Phobos.
Lots of bugfixes...
This build is not suitable for most things.
2008-01-11 17:57:40 +01:00
Tomas Lindquist Olsen
667b6339f3
[svn r127] Updated the lphobos build scripts a little. Created a new rebuild profile.
...
Removed some potentially very long logging lines.
Added support for inner classes.
2007-11-28 03:01:51 +01:00
Tomas Lindquist Olsen
ea362d8402
[svn r125] Renamed/moved a few backend member inside DMD structures for consistency.
...
Unit tests are now implemented.
2007-11-27 03:09:36 +01:00
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