Commit Graph

42 Commits

Author SHA1 Message Date
Tomas Lindquist Olsen
32ebd9617e [svn r130] fixed #28 2007-11-28 05:04:38 +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
541a677a54 [svn r118] Fixed dynamic casts.
Fixed a few interface bugs.
2007-11-25 00:19:13 +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
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
1c4cfc21ac [svn r105] -inline does nothing for now, the -On setting can already be used to trigger it.
Fixed a rare bug in AddrExp.
2007-11-16 10:01:24 +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
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
454f50ccbc [svn r96] Updated to DMD 1.023.
Regular bugfixes.
2007-11-08 19:13:28 +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
Tomas Lindquist Olsen
d58ce84169 [svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
Initial support for debug information. Very limited, but MUCH better than nothing :)
2007-11-02 01:17:26 +01:00
Tomas Lindquist Olsen
0979d55d26 [svn r81] Fixed: Union support was very buggy. Should be fairly solid now. 2007-10-31 09:34:18 +01:00
Tomas Lindquist Olsen
21e50af2c0 [svn r78] Removed the useless pragmas 2007-10-31 04:05:38 +01:00
Tomas Lindquist Olsen
9804fe0fa3 [svn r77] Fixed foreach on slice.
Fixed some nested function problems when accessing outer function parameters.
Major changes to handling of structs.
Initial support for unions.
Probably more...
2007-10-31 03:11:32 +01:00
Tomas Lindquist Olsen
4230f2ef11 [svn r76] Fixed: TypeInfo for structs.
Fixed: PostExp was unable to allocate storage for parameters.
Fixed: Many types of functions and delegates were broken.
Misc cleanups.
2007-10-29 03:28:12 +01:00
Tomas Lindquist Olsen
5478de7147 [svn r61] Added support for D-style variadic functions :) 2007-10-25 02:39:53 +02:00
Tomas Lindquist Olsen
152e229329 [svn r59] Added support for C-style variadic functions. Currently only works on x86, x86-64 va_arg is broken in LLVM 2.1. PPC and PPC64 unknown.
Updates to runtime. Rebuild!
2007-10-24 22:18:06 +02:00
Tomas Lindquist Olsen
039bc0880d [svn r58] Fixed cond expression resulting in a non-basic type.
Fixed identity expression for dynamic arrays.
Revamped the system to keep track of lvalues and rvalues and their relations.
Typedef declaration now generate the custom typeinfo.
Other bugfixes.
2007-10-24 01:37:34 +02:00
Tomas Lindquist Olsen
5fee3fc8b7 [svn r56] Initial support for TypeInfo.
Enums not work.
Several other bugfixes.
2007-10-23 05:55:12 +02:00
Tomas Lindquist Olsen
a9189bd3a9 [svn r54] Added support for nested delegates referencing parent's stack variables.
Replaced tester.sh with a version written in D.
A few bugfixes.
2007-10-22 15:40:56 +02:00
Tomas Lindquist Olsen
817c05be2b [svn r46] fix for shift operations
added a simple opengl binding in demos
2007-10-19 15:16:11 +02:00
Tomas Lindquist Olsen
10db08076c [svn r44] Lots of bug fixes.
New array literal support
New array ~= operator support (for single element)
New with statement support
More...
2007-10-19 07:43:21 +02:00
Tomas Lindquist Olsen
52a6e71703 [svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
Fiddled a bit the the testing system.
Added a very simple SDL graphics demo.
2007-10-10 06:16:48 +02:00
Tomas Lindquist Olsen
67a92f5d51 [svn r41] new'd dynamic arrays are now initialized with the element type's default initializer.
initial label/goto support.
2007-10-10 03:38:24 +02:00
Tomas Lindquist Olsen
4fdad2c750 [svn r40] Cleaned up some of the array routines to use gep/load/store instead of memcpy/memset.
Resizing arrays did not allocate enough memory for types bigger than 1 byte.
2007-10-09 07:51:13 +02:00
Tomas Lindquist Olsen
e251fc42b2 [svn r39] * Updated to DMD 1.022 with the exception of:
Bugzilla 278: dmd.conf search path doesn't work

This fix was causing crashes for me :/ So for it's the old behaviour
2007-10-09 06:21:30 +02:00
Tomas Lindquist Olsen
3db5b9bb98 [svn r38] * resizing dynamic arrays support
* throw is replaced with assert(0)
* catch is ignored
* better foreach support
* various bugfixes
2007-10-09 02:50:00 +02:00
Tomas Lindquist Olsen
56d2cff2a2 [svn r35] * Attributes on struct fields/methods now work
* Updated object.d to 1.021
* Added -novalidate command line option. this is sometimes useful when debugging as it may let you read the .ll even if it's invalid.
2007-10-04 16:44:07 +02:00
Tomas Lindquist Olsen
24c3e2649a [svn r28] * Fixed accessing aggregate fields. it was still not quite right. hopefully is now :) 2007-10-04 10:13:21 +02:00
Tomas Lindquist Olsen
1cb583cbca [svn r23] * Updated to DMD 1.021 2007-10-04 03:42:56 +02:00
Tomas Lindquist Olsen
766fc30a30 [svn r19] * Added support for reassigning 'this' inside class constructors.
* Added preliminary support for UnrolledLoopStatement. That is foreach on a tuple.
2007-10-03 04:56:32 +02:00
Tomas Lindquist Olsen
4eab68b36c [svn r15] * Fixed a bunch problems with virtual calls. Seems I did some rather poor testing.
* Now 50/51 tests compile.
* Added a simple runalltests.d scripts that should be run with 'gdmd -run runalltests.d' - LLVMDC will not compile it yet.
2007-10-02 05:10:18 +02:00
Tomas Lindquist Olsen
e95466cb64 [svn r13] * Updated for LLVM 2.1
* Class v-tables are now typesafe
* Code cleanups
2007-10-01 21:19:53 +02:00
Tomas Lindquist Olsen
1609cb80d4 [svn r12] fixed accessing aggregate fields of aggregates
removed some useless branches for successive scopes ala {}{}{}
2007-09-27 06:03:06 +02:00
Tomas Lindquist Olsen
329ad7747c [svn r10] Updated for LLVM rev. 20070913
Applied fixes from wilsonk on the forum
Some tweaks to work with gc 7.0
Fixed aggregate members of aggregates
Fixed cyclic/recursive class declarations
Other minor tweaks
2007-09-26 19:05:18 +02:00
Tomas Lindquist Olsen
34699bbb07 [svn r5] Initial commit. Most things are very rough. 2007-09-01 21:43:27 +02:00