Christian Kamm
68d5150c1b
[svn r235] rough port of GDC's inline assembler code, unfinished
2008-06-05 19:22:37 +02:00
Tomas Lindquist Olsen
d72ed8f5eb
[svn r234] Fixed: missed a few bogus #ifs in last revision.
2008-06-05 06:43:34 +02:00
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
590d44d302
[svn r231] Changed: warnings are no longer treated as an error.
...
Added some comments and cleaned up CallExp::toElem a tiny bit.
Fixed: struct literals always reported inplace assignment even if they allocated a temporary.
Fixed: passing stuff to a D-style vararg which did inplace assignment was generated suboptimal code.
2008-06-03 13:51:09 +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
0b479b5749
[svn r228] Fixed: when new'ing basic types, the storage was not default initialized.
...
Fixed: the tango/lib/compiler/llvmdc/llvmdc.mak makefile was a bit incorrect.
Changed: the basic gc is now the default.
Changed: renamed a few temporary names in the LLVM IR output.
2008-05-27 22:14:24 +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
1eb35898c6
[svn r223] Fixed: assert with message could be broken.
...
Fixed: array length exp could fail on slice.
2008-05-13 21:40:39 +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
c380f43929
[svn r219] Fixed: the tango/lib/gc/basic garbage collector now compiles and links into an executable (change in tango/lib/llvmdc-posix.mak), closes #5 .
...
Changed: removed the crappy realloc based dynamic memory runtime and started moving over to DMD style runtime support, part of moving to real GC.
Fixed: dynamic arrays now use GC runtime for allocating memory.
Fixed: new expression now use GC for allocating memory.
Changed: revamped the dynamic array support routines related to dynamic memory.
Fixed: assertions no longer create exsessive allocas.
Changed: misc. minor cleanups.
2008-05-13 14:42:09 +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
Tomas Lindquist Olsen
941e36fa47
[svn r213] Fixed: foreach on an object seems to have been broken, the issue was that DMD generates an implicit delegate with conflicting types for 'this'.
...
Fixed: string switch runtime support had wrong param types.
Fixed: string switch on a temporary slice was broken.
2008-05-12 20:02:52 +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
Tomas Lindquist Olsen
3678dabfd9
[svn r199] Fixed: still some small issues with string literals implicitly converting to different pointer types. Should be fixed now!
2008-05-07 20:22:42 +02:00
Tomas Lindquist Olsen
44f53bc164
[svn r194] Fixed: string literal constant expressions with static array type was broken.
2008-05-07 05:02:48 +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
Tomas Lindquist Olsen
50db9be203
[svn r192] Fixed: String literals as constant expression was broken for utf16/32.
2008-05-07 00:58:36 +02:00
Tomas Lindquist Olsen
c31af3dc2d
[svn r191] Fixed: array literals did not support all type/storage combinations.
...
Fixed: with expression had broke somewhere along the way.
2008-05-07 00:01:13 +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
f716b18cc1
[svn r188] Fixed using a dereferenced pointer argument as both l- and r-value. fixes tango.io.FileRoots.
...
Reorganized the tangotests dir a bit.
2008-05-06 07:26:27 +02:00
Tomas Lindquist Olsen
0269b4de6e
[svn r186] Fixed 'delete this'.
2008-05-06 03:46:43 +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
5a7ce71b18
[svn r183] Fixed broken identity expressions with two pointers of different types.
...
Fixed broken pointer arithmetic for subtraction (tango.text.Util unittest now passes)
2008-05-06 01:23:02 +02:00
Tomas Lindquist Olsen
071bf5a629
[svn r180] Fixed complex negation, and tango.math.Math now compiles.
2008-05-05 20:28:59 +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
06362014f4
[svn r178] Fixed codegen values for function arguments, the old approach was completely broken, amazing it even worked...
2008-05-05 00:56:53 +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
cc914ed4b2
[svn r157] Fixed the nasty type==NULL bug :D
2008-03-24 20:48:40 +01:00
Tomas Lindquist Olsen
24392c4903
[svn r156] added a testcase for the most annoying bug ever
2008-03-24 20:05:44 +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
adc75dd377
[svn r147] tango.io.Console is now working. True this time :) Yay!
2008-01-25 01:42:36 +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
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
0a226c956f
[svn r131] Fixed #11
...
All associative array properties now work as they should.
Fixed problems with some cases of array.length and array.ptr.
Fixed some problems with array properties.
Fixed 'in' contracts.
2007-11-30 12:56:52 +01:00
Tomas Lindquist Olsen
5ab2166b05
[svn r129] Started AA literals.
...
Fixed #15 , passing -O will now invoke the optimizer before writing bitcode.
2007-11-28 04:52:35 +01:00
Tomas Lindquist Olsen
c4d1ae5d54
[svn r128] function local typedefs were not working
2007-11-28 03:34:37 +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
0665531549
[svn r126] String switch is now implemented.
...
A few other fixes.
2007-11-27 09:19:07 +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
935dfae9c8
[svn r124] Fixed another D vararg + return in ptr bug.
...
Fixed some nested function calls failed to resolve the context ptr.
2007-11-26 07:26:21 +01:00
Tomas Lindquist Olsen
282f60e4a0
[svn r123] Fixed some typeinfo module name mismatches.
...
Fixed D-style varargs returning through pointer.
Fixed converting nested function to delegate.
Added std.string and std.format to Phobos.
2007-11-26 06:45:13 +01:00
Tomas Lindquist Olsen
26beb7f43d
[svn r122] Fixed temporary delegates can now alloca their own storage.
2007-11-26 05:50:33 +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