Commit Graph

46 Commits

Author SHA1 Message Date
Tomas Lindquist Olsen
03d26e1178 [svn r326] Fixed a bunch of issues with printf's that MinGW32 did not support.
Fixed problems with label collisions when using labels inside inline asm. LabelStatement is now easily reached given its
Identifier, which should be useful elsewhere too.
Enabled inline asm for building the lib/compiler/llvmdc runtime code, fixing branches out of asm makes this possible.
2008-06-27 22:04:35 +02:00
Tomas Lindquist Olsen
599f879149 [svn r316] Fixed array slice assignments like: int[] arr = ...; arr[] = 42;
There was problems with most non basic types...
Added an option to premake so we can do: premake --target gnu --no-boehm
to disable the Boehm GC.
2008-06-23 14:48:42 +02:00
Tomas Lindquist Olsen
33b9d4348c [svn r312] Changed assert codegen to insert an unreachable terminator after the call to the assert function, which currently calls abort().
Changed array comparison runtime support to pass the array typeinfo instead of the element typeinfo. This allows a cleaner and faster implementation.
2008-06-21 21:16:26 +02:00
Tomas Lindquist Olsen
ffd38d355d [svn r308] Really fixed multidimensional new expressions. the first length was bad in the resulting slice. 2008-06-21 05:03:42 +02:00
Tomas Lindquist Olsen
67dd564222 [svn r307] Fixed: multidimensional new expressions now work. Eg.:
auto ma = new int[][] (3,9);
2008-06-21 04:47:14 +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
53dedd765b [svn r271] Fixed debug info for implicit 'this' param.
Fixed debug info for arguments passed byval (ref and out params still missing).
2008-06-12 18:04:28 +02:00
Tomas Lindquist Olsen
6565e9e09f [svn r270] Forgot the test for struct debug info. 2008-06-12 17:01:31 +02:00
Tomas Lindquist Olsen
cfc8befb5b [svn r264] Fixed debug info for global variables. 2008-06-09 17:49:30 +02:00
Tomas Lindquist Olsen
37b6748897 [svn r263] Changed *** ATTENTION *** to warnings.
Implemented debug info for dynamic arrays, start of general composite support.
2008-06-09 15:52:22 +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
61fdcc7040 [svn r246] fixed asm4 test 2008-06-07 21:38:14 +02:00
Tomas Lindquist Olsen
187d6523e3 [svn r245] initial support for labels in inline asm, broken :/ 2008-06-07 21:31:38 +02:00
Tomas Lindquist Olsen
c91aea5c66 [svn r244] added another asm test. 2008-06-07 19:20:15 +02:00
Tomas Lindquist Olsen
47ac84b223 [svn r241] Fixed missing terminator for void main() with inline asm block. 2008-06-06 22:30:31 +02:00
Tomas Lindquist Olsen
b917fe2f00 [svn r237] some inline asm output now seems to work, see tangotests/asm2.d 2008-06-06 20:51:43 +02:00
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
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
d50cb50aaf [svn r230] Added vararg3 sample tangotest. 2008-05-30 19:32:56 +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
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
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
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
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
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
Tomas Lindquist Olsen
a522719b85 [svn r176] Fixed a bug with class constructors. 2008-05-04 04:35:27 +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
ecd91a48f2 [svn r155] Fixed a bunch of linkage problems (especially with templates) 2008-03-24 19:43:02 +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
0c0bac2766 [svn r144] fixes 2008-01-23 12:56:09 +01:00
Tomas Lindquist Olsen
94c47aa1fa [svn r143] Fixed: a few bugs in debug information, still only line info, but should be correct files now :)
Fixed: tango.io.Console seems to be working now.
2008-01-22 00:01:16 +01:00
Tomas Lindquist Olsen
7825be29ee [svn r142] minor fix to dynamic casts.
added a few missed files.
2008-01-18 20:13:19 +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
1f5760b5af [svn r138] forgot the latest tests 2008-01-14 05:32:24 +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