Tomas Lindquist Olsen
346d04aa8a
[svn r236] added initial codegen of inline asm, pretty buggy and incomplete still. see the tangotests/asm1.d test for a sample of what does
...
work!
2008-06-06 20:14:51 +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
6b735db510
[svn r227] Fixed: crash in lifetime.d when resizing array of AAs by .length assignment.
2008-05-27 19:53:29 +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
39ed86269e
[svn r222] Forgot to remove volatile ATTENTION.
...
Fixed a few comment types.
Forgot to add makefile for the basic GC.
2008-05-13 18:07:03 +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
Christian Kamm
ee551c95b9
[svn r216] don't crash on foreach over zero-length static array
2008-05-12 22:27:05 +02:00
Christian Kamm
94e4a5b5a1
[svn r215] fix for empty class vtbl
2008-05-12 21:08:33 +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
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
bbda029bd6
[svn r207] Fixed: the runtime support didn't handle string switch.
2008-05-12 14:58:55 +02:00
Tomas Lindquist Olsen
f1c26350ca
[svn r206] Fixed some interfaceInfo related issues, closes #44
2008-05-12 14:32:29 +02:00
Christian Kamm
8d81154a97
[svn r205] moved some local static variables used for memset and memcpy intrinsics to IrState
2008-05-10 19:00:11 +02:00
Tomas Lindquist Olsen
81ae45afe8
[svn r201] Fixed: return statement could fail codegen with type mismatch for classes, added cast.
2008-05-07 22:27:45 +02:00
Tomas Lindquist Olsen
fa30c42921
[svn r200] Fixed: removed use of std.intrinsic.
...
Fixed: module info could potentially be masked by a previous reference, resulting in linking failure.
2008-05-07 22:01:59 +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
d6db7fc03d
[svn r198] Fixed: doing a length-changing cast of a full slice segfaulted. eg:
...
int[] ia = [1,2,3];
byte[] ba = cast(byte[])ia[];
2008-05-07 19:54:01 +02:00
Tomas Lindquist Olsen
0dd975e1f4
[svn r197] Fixed: empty scope statement segfaulted.
2008-05-07 19:34:41 +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
Tomas Lindquist Olsen
e07b99bc26
[svn r190] Fixed array concatenation for some broken cases.
...
Added a sanity check for the Dsymbol state set.
2008-05-06 18:36:46 +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
d3b57eaf60
[svn r187] Fixed missing definitions of instances of imported struct template declarations.
2008-05-06 05:25:53 +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
88d497a936
[svn r184] fixed an AA helper for giving keys storage, which the runtime needs. tango.text.UnicodeData now compiles.
2008-05-06 02:26:17 +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
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
2eb0babc2e
[svn r159] added some code to help diagnose ticket #35
2008-03-25 16:33:19 +01:00
Tomas Lindquist Olsen
cc914ed4b2
[svn r157] Fixed the nasty type==NULL bug :D
2008-03-24 20:48:40 +01:00