Christian Kamm
c1fbcd9942
[svn r376] Fix bug with finally blocks and labels. The labels would get emitted multiple times and conflict.
...
It is now possible to add label scopes in IrFunction and all labels names will be prefixed accordingly.
Also disallow goto into finally blocks.
Fixes nocompile/finally_02 and others.
2008-07-14 11:48:55 +02:00
Christian Kamm
7e7ac3a6f7
[svn r374] Move label target basic block from AST to IRFunction. This is a first step to allowing labels to be emitted multiple times. (for instance within finally blocks)
2008-07-14 11:07:15 +02:00
Tomas Lindquist Olsen
f03d8f37c1
[svn r370] Fixed landing pads on 64bit was broken (hardcoded 32bit type, should be size_t)
2008-07-13 21:41:45 +02:00
Christian Kamm
f5dbc0e0d2
[svn r353] Fix typo. (fixes empty catch handlers, like catch_02.d)
2008-07-11 22:33:21 +02:00
Christian Kamm
8b1bcd5724
[svn r341] Fix all regressions between [332] and [340]:
...
- fixed assert on empty catch body
- fixed(?) typedefed classes in catch specification
- fixed assert with catchall
Added some documentation.
2008-07-05 13:05:29 +02:00
Christian Kamm
ce79feeb9b
[svn r340] Rework exception handling to work with nested tryfinally and trycatch.
2008-07-05 10:22:56 +02:00
Tomas Lindquist Olsen
0d160ffc76
[svn r330] Implemented synchronized statements.
...
Changed the tryfinally handlers to a more generalized EnclosingHandler.
Changed ClassInfoS to be mutable so they can be used as locks.
Added new BB after throw ala return/break etc.
2008-06-28 11:37:53 +02:00
Tomas Lindquist Olsen
86d299a641
[svn r328] Fixed an issue with interfaces where the vtable type of a interface implemented could be invalid. Fixes several tango modules like, FileStream, ServerSocket
...
and most tina cluster modules :)
2008-06-28 03:45:18 +02:00
Tomas Lindquist Olsen
e0f2825fd0
[svn r269] Fixed dwarf debug info for structs.
2008-06-12 16:58:26 +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
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
Christian Kamm
94e4a5b5a1
[svn r215] fix for empty class vtbl
2008-05-12 21:08:33 +02:00
Tomas Lindquist Olsen
2317c6fd39
[svn r210] Fixed: last commit was broken.
2008-05-12 18:48:09 +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
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
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
Christian Kamm
4cd137f9d4
[svn r174] added file missing from previous commit [173]
2008-05-01 13:33:02 +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
b0a44173dc
[svn r150] fixes #16 and #17 , implements GotoCaseStatement
2008-03-08 15:22:07 +01:00
Tomas Lindquist Olsen
be7828b589
[svn r146] fixed some potential problems with mismatch in order of interfaces in class data layout
2008-01-23 15:48:19 +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
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