Christian Kamm
ddfa41938f
[svn r304] Fix associative array literals by always reserving a zero inited temporary for them.
2008-06-21 00:54:55 +02:00
Christian Kamm
02caaff23e
[svn r303] Start a new basicblock behind a HaltExp to prevent compiler errors.
2008-06-21 00:00:56 +02:00
Christian Kamm
a99d70f7bc
[svn r302] Make HaltExps and assert(0) generate an assert message again instead of using llvm's trap intrinsic.
2008-06-20 23:38:51 +02:00
Tomas Lindquist Olsen
928f7d4de5
[svn r296] Removed: the 'suite' dir, it never took off!
...
Fixed: foreach statement, key-type checks were buggy.
Fixed: setting LLVMDC versions on the command line is now an error.
Fixed: array compare runtime had incorrect param attrs on call.
Fixed: index expressions on dynamic array slices w/o storage was broken.
Fixed: scope classes had incorrect finalization in some cases.
Fixed: when outputting !ClassInfoS !OffsetTypeInfoS, static class members were trying to be included, crashing the compiler.
Fixed: calling LLVMDC with -inline but not any -O option caused assertion failure.
Changed: the runtime now uses a single interface to "get" to !TypeInfoS, part of eliminating duplicate !TypeInfo codegen.
2008-06-19 17:30:32 +02:00
Tomas Lindquist Olsen
e1aa043a81
[svn r289] Fixed: right shift >> was broken for unsigned types.
...
Fixed: debug info for classes now started.
2008-06-15 18:52:27 +02:00
Tomas Lindquist Olsen
c2430c713b
[svn r285] Fixed D -> bool LLVM helper for floating point values.
...
Changed the way D-style varargs are passed, now each param should be aligned to size_t.sizeof.
2008-06-14 17:28:13 +02:00
Tomas Lindquist Olsen
de89b4bc6f
[svn r280] Fixed a bunch of issues with switch statements. Ended up a bit far reaching...
2008-06-14 05:13:49 +02:00
Tomas Lindquist Olsen
b13a5646ca
[svn r277] Fixed a nasty bug in delegate expressions. Context pointers to nested functions of the parent, from inside a nested function were
...
invalid.
2008-06-13 05:47:28 +02:00
Tomas Lindquist Olsen
9a28d083f8
[svn r276] Fixed debug info for 'this' arg seemed to be broken.
2008-06-12 19:59:19 +02:00
Tomas Lindquist Olsen
1e87ae15ef
[svn r262] Fixed debug info for normal function parameters.
...
Fixed debug info for pointers to basic types.
2008-06-09 12:43:16 +02:00
Tomas Lindquist Olsen
8b83eda2a2
[svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
...
Did a lot of smaller cleans up here and there.
Replaced more llvm::Foo with LLFoo for common stuff.
Split up tollvm.cpp.
2008-06-09 09:37:08 +02:00
Tomas Lindquist Olsen
e23169d5d8
[svn r260] Changed some of the LLVMDC specific code in the Tango core and did some minor cleanups.
2008-06-09 03:02:14 +02:00
Tomas Lindquist Olsen
4a2d8494a6
[svn r257] Fixed: array .sort and .reverse runtime code was incorrect.
...
Fixed: most runtime calls did not get correct param attrs.
2008-06-09 00:01:10 +02:00
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