Tomas Lindquist Olsen
ee5d84a1fa
[svn r371] Fixed array init was still broken for immediate slices and complex values.
2008-07-14 01:03:53 +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
c2697dbce0
[svn r369] Fix nested classes when nestedVar is not generated.
2008-07-13 21:16:40 +02:00
Tomas Lindquist Olsen
dbd640a3dc
[svn r368] Fixed custom class allocators with arbitrary user arguments. Closes #25
...
Removed some dead code.
Started on a more generalised approach to call misc. D functions.
2008-07-13 20:49:10 +02:00
Christian Kamm
3f37dbe005
[svn r367] In web dstress statistics, write change lists sorted by filename.
2008-07-13 09:14:01 +02:00
Tomas Lindquist Olsen
c4982165ba
[svn r366] Fixed identity exprs for structs was comparing addresses, not content!
2008-07-13 04:27:02 +02:00
Tomas Lindquist Olsen
a4e4f34a34
[svn r365] Implemented raw struct equality comparison, uses C memcmp.
...
Renamed DtoDelegateCompare to DtoDelegateEquals, for consistency with the other equality helpers.
2008-07-13 04:11:08 +02:00
Tomas Lindquist Olsen
4b8d048d59
[svn r364] fixed mini/sync2.d test case.
2008-07-13 03:02:15 +02:00
Tomas Lindquist Olsen
5457969aab
[svn r363] Fixed a problem with the mini-test-driver.
2008-07-13 02:55:41 +02:00
Tomas Lindquist Olsen
cecb64b2e4
[svn r362] Started merging the old 'test' dir as well as the newer 'tangotests' dir into 'tests/mini' and 'tests/minicomplex'.
2008-07-13 02:51:19 +02:00
Tomas Lindquist Olsen
d1e41f611e
[svn r361] Removed some dead code.
2008-07-13 02:04:25 +02:00
Tomas Lindquist Olsen
85c1b42b1b
[svn r360] Another mostly rewrite of DtoArrayInit. Should be much more robust now, and probably faster code generated for the most common cases too!
...
Fixed issues with slice initialization (!!!) of multidimensional static arrays.
Attempt to fix issue with referencing nested 'this' pointers introduced in DMD 1.033 merge.
2008-07-13 01:29:49 +02:00
Christian Kamm
c67753508b
[svn r359] Try to fix DtoArrayInit. Unfinished, breaks for arrays of primitive types.
2008-07-12 23:56:56 +02:00
Tomas Lindquist Olsen
b8bde8c0b8
[svn r358] Forgot to add new files from DMD 1.033
2008-07-12 19:40:14 +02:00
Tomas Lindquist Olsen
832504e5d7
[svn r357] Merged DMD 1.033
2008-07-12 19:38:31 +02:00
Tomas Lindquist Olsen
fc6e0cfc65
[svn r356] Fixed problem with array length assignment introduced in [355]
2008-07-12 17:04:36 +02:00
Christian Kamm
717d52d4f0
[svn r355] Get rid of IRState::exps and topexp.
2008-07-12 15:43:13 +02:00
Christian Kamm
f0d8b9e153
[svn r354] Fix the regressions between [346] and [353] by making constructors and destructors outside classes fatal errors.
...
Fix tests makefile and add minimize to gc.d.
2008-07-12 09:23:14 +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
485b638272
[svn r352] Implement SwitchErrorStatement. Fixes #52 .
2008-07-11 21:06:39 +02:00
Christian Kamm
1d92d5a86b
[svn r351] Remove unused runtime file for DMD-style exception handling.
...
Improved comments on exception handling runtime.
2008-07-11 20:23:42 +02:00
Tomas Lindquist Olsen
8c48f86f0a
[svn r350] Fixed incorrect function types for lazy arguments. looks like lazy arguments have never even worked :o well.. now they should.
2008-07-11 01:34:04 +02:00
Tomas Lindquist Olsen
521de1a47e
[svn r349] Fixed problems with static arrays of void as well as a static arrays with zero length.
...
Fixed issues with DMD generated assert statements when using class invariants, generally due to incomplete ASTs.
Removed some dead code.
Added a few comments.
2008-07-11 00:17:00 +02:00
Christian Kamm
bace4dd0e7
[svn r348] Switch on class invariants (except in release mode).
...
Generate correct member for classInvariant in classinfo struct.
2008-07-10 22:00:27 +02:00
Christian Kamm
fdca461a61
[svn r347] Foundation for adding tangobos to test environment is in place.
2008-07-10 21:29:15 +02:00
Christian Kamm
6a45ce2474
[svn r346] Fixed #55 - llvmdc can link as fast as dmd now!
...
Made runtime to compile to native by default. Changed linker.cpp to link in native runtime library.
This change requires a runtime rebuild as well as a new symbolic link in lib/ to tango/lib/libtango-base-llvmdc-native.a.
2008-07-10 19:38:34 +02:00
Tomas Lindquist Olsen
9c28c0263a
[svn r345] Fixed the new moduleinfo stuff to have consistent symbol names with the D style.
2008-07-10 00:13:09 +02:00
Tomas Lindquist Olsen
2dfb2fcf19
[svn r344] Fixed some very minor issues with the usage listing when calling llvmdc with no arguments.
...
Changed the way moduleinfo is registered to use the same approach as DMD, this eliminates the need for correct linking order and should make the way for using a natively compiled runtime library. This should speed up linking tremendously and should now be possible.
Fixed the llvm.used array to only be emitted if really necessary.
2008-07-09 23:43:51 +02:00
Christian Kamm
64ab226a4b
[svn r343] Move object.di used for running dstress into separate directory.
2008-07-09 17:02:55 +02:00
Christian Kamm
d16ddb524f
[svn r342] Fix DMD bug 2206.
...
Implement mixin declarations in LLVMDC.
2008-07-09 17:01:08 +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
Christian Kamm
4fc93770a9
[svn r339] Add cleanup handling when within an action chain and some more documentation to the eh personality function.
2008-07-04 09:00:49 +02:00
Christian Kamm
0e43caf1cc
[svn r338] Intrinsic calls can never be invokes.
2008-07-04 08:55:58 +02:00
Christian Kamm
5f15274bc0
[svn r337] Reverted changes to toobj.cpp: Module constructor calls can never be invokes.
2008-07-04 08:51:49 +02:00
Christian Kamm
37305fb47e
[svn r336] Made sure calls within a landing pad area are invokes.
...
Nested trys still need some consideration.
2008-07-03 22:05:45 +02:00
Christian Kamm
9f0b3fb062
[svn r335] The basics of exception handling are in place.
...
Still need to make sure calls are turned into invokes everywhere. (NewExpression for instance)
Still some rough edges and corner cases to figure out.
Needs testing!
2008-07-02 22:20:18 +02:00
Christian Kamm
7d4ea30633
[svn r334] Produce an error for zero-size types instead of segfaulting.
2008-06-29 22:22:37 +02:00
Christian Kamm
ff52c70e1d
[svn r333] Fix inline asm bug with multiple branches to the same label.
2008-06-29 22:07:15 +02:00
Christian Kamm
7dd287be94
[svn r332] Fix codegen for continue within switch.
2008-06-28 18:37:27 +02:00
Tomas Lindquist Olsen
ad65788592
[svn r331] Fixed, forgot to default initialize the SynchronizedStatement enclosinghandler.
2008-06-28 11:50:28 +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
ac3744a59d
[svn r329] Cleaned up a bunch of array code for handling special slice cases no
...
longer relevant.
2008-06-28 05:57:16 +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
a3c7b8b369
[svn r327] Fixed some more MinGW32 issues. It's now very close to working.
...
Fixed problems with inline asm like: mov EAX, FS:4 , which incidentally is used in the runtime to get the stack bottom, on Windows.
2008-06-27 23:58:22 +02:00
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
Christian Kamm
b064c794de
[svn r325] Removed dead code.
...
Added license info to code from GDC (David Friedman permitted us to use the files under the Artistic License).
Added asmLabel check to DtoGoto to avoid jumping into inline asm. Doesn't work currently as LabelDsymbol::asmLabel is never set to true.
2008-06-25 23:42:38 +02:00
Christian Kamm
7250b0630c
[svn r324] Small indentation fixes.
...
Added end of line to complex.cpp.
2008-06-25 20:42:30 +02:00
Christian Kamm
7b37093cff
[svn r323] Branching out of inline asm works.
...
Renamed emit_finallyblocks to DtoFinallyBlocks and moved to llvmhelpers.
Added enclosingtryfinally to AsmBlockStatement, so branches out of asm blocks respect finallys.
Refactored some GotoStatement code into DtoGoto.
2008-06-25 20:39:09 +02:00
Christian Kamm
37a74d1975
[svn r322] More asm-to-outside jumping work. Unfinished.
2008-06-24 22:48:33 +02:00