Commit Graph
142 Commits
Author SHA1 Message Date
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 a0c6cb6673 [svn r179] lots and lots of fixes, much more of tango now compiles/works. 2008-05-05 07:36:29 +02:00
Christian Kamm db2b3d1937 [svn r177] moved variable for interface info type from being local static to being within IRState 2008-05-04 21:25:48 +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
Tomas Lindquist Olsen 64537a9478 [svn r149] fixed: a bunch of D-style variadics problems.
fixed: GotoDefaultStatement implemented.
fixed: some other minor bugs.
2008-01-26 17:13:22 +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 f9685eab09 [svn r145] fixed some x86 problems 2008-01-23 12:58:51 +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 4f977e3cec [svn r139] Fixed bug #33, thanks for the report :) 2008-01-14 23:09:55 +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 bc08c6fcb1 [svn r135] * Merged DMD 1.025 *
* Fixed a minor linking order mishap *
* Added an command line option -annotate *
* Fixed some problems with running optimizations *
* Added std.stdio and dependencies to lphobos (still not 100% working, but compiles and links) *
* Fixed problems with passing aggregate types to variadic functions *
* Added initial code towards full GC support, currently based on malloc and friends, not all the runtime calls the GC yet for memory *
* Fixed problems with resolving nested function context pointers for some heavily nested cases *
* Redid function argument passing + other minor code cleanups, still lots to do on this end... *
2008-01-04 01:38:42 +01:00
Tomas Lindquist Olsen 5eb88f9e80 [svn r133] Fixed some problems with inlining not happening :P
Fixed problems with certain cases of deeply nested classes/functions.
2007-12-28 22:55:24 +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 cb37aab93b [svn r120] ModuleInfo implementation is now almost complete.
Fixed some nasty static array-initializer bugs.
Fixed bug in DtoArrayLen and DtoArrayPtr for full slices of static arrays.
2007-11-25 18:55:52 +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 d51e392b8d [svn r113] Added initial support for associative arrays (AAs).
Fixed some problems with the string runtime support functions.
Fixed initialization of array of structs.
Fixed slice assignment where LHS is slice but RHS is dynamic array.
Fixed problems with result of assignment expressions.
Fixed foreach problems with key type mismatches.
2007-11-21 04:13:15 +01:00
Tomas Lindquist Olsen a807cbfc91 [svn r112] Fixed 'case 1,2,3:' style case statements.
Fixed a bunch of bugs with return/break/continue in loops.
Fixed support for the DMDFE hidden implicit return value variable. This can be needed for some foreach statements where the loop body is converted to a nested delegate, but also possibly returns from the function.
Added std.math to phobos.
Added AA runtime support code, done ground work for implementing AAs.
Several other bugfixes.
2007-11-20 05:29:20 +01:00
Tomas Lindquist Olsen adab52fad9 [svn r111] Fixed most problems with complex number support and added typeinfo for them.
Added typeinfo ti_C.
Did some changes to the way expressions that have both lvalue and rvalue LLVM values are handled.
2007-11-20 00:02:35 +01:00
Tomas Lindquist Olsen 2af443b045 [svn r110] Fixed typeinfo for classes. 2007-11-19 06:01:48 +01:00
Tomas Lindquist Olsen 5e9f5034ff [svn r108] Now basic suppport for complex types. =,+,-,*,/ are supported. 2007-11-19 02:58:58 +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
Tomas Lindquist Olsen 7d6bbcd87d [svn r103] Array comparisons are now fully implemented, that is - to the extent that TypeInfo is. 2007-11-15 00:24:44 +01:00
Tomas Lindquist Olsen 302015d7e8 [svn r102] Further delayed emission of function bodies to avoid problems with circular-forward-references.
Now uses the DMD _adEq(void[], void[], TypeInfo) runtime function for array equality comparison.
2007-11-14 23:39:10 +01:00
Tomas Lindquist Olsen 46d8929fb6 [svn r101] Split up CastExp into several smaller utility functions. 2007-11-14 20:18:01 +01:00
Tomas Lindquist Olsen feff45cadd [svn r100] Moved test/ray.d to demos/ray.d.
Cleanups.
2007-11-12 07:58:44 +01:00
Tomas Lindquist Olsen 3b4c818082 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
Added support for array .sort and .reverse properties.
Fixed some bugs with pointer arithmetic.
Disabled some DMD AST optimizations that was messing things up, destroying valuable information.
Added a KDevelop project file, this is what I use for coding LLVMDC now :)
Other minor stuff.
2007-11-12 06:32:46 +01:00
Tomas Lindquist Olsen b32e04cacd [svn r97] Fixed bug with main(string[] args) on 32 bit systems. 64bit worked. 2007-11-08 19:21:05 +01:00
Tomas Lindquist Olsen 454f50ccbc [svn r96] Updated to DMD 1.023.
Regular bugfixes.
2007-11-08 19:13:28 +01:00
Tomas Lindquist Olsen ea18cd8e75 [svn r95] added support for mains like:
T main(string[] args)
fixed a bug with slicing a pointer that is an argument with no storage
2007-11-07 04:52:56 +01:00
Tomas Lindquist Olsen 4a5659c04e [svn r94] started on complex support
calling final class methods was being treated as a virtual call failing an assertion.
2007-11-07 03:36:07 +01:00
Tomas Lindquist Olsen 34d9e12020 [svn r92] Fixed support for statically initialized unions. lots of bugfixes as cleanups too. 2007-11-06 10:03:14 +01:00
Tomas Lindquist Olsen 48492229ec [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
Lots of bugfixes.
Added support for special foreach on strings.
Added std.array, std.utf, std.ctype and std.uni to phobos.
Changed all the .c files in the gen dir to .cpp (it *is* C++ after all)
2007-11-03 14:44:58 +01:00