Tomas Lindquist Olsen
ecd8a2ac07
Support structs that are merely a forward reference. See mini/forwdecl1.d
2008-10-06 14:06:55 +02:00
Tomas Lindquist Olsen
f706098c56
Added -version=Tango in default llvmdc.conf
...
Fixed problem with array casts, all DWT modules needed for HelloWorld1 samples now compile. Still some linking issues.
2008-10-06 12:46:57 +02:00
Christian Kamm
15e5f0e902
Fix x86_fp80 constants.
2008-10-06 09:07:35 +02:00
Christian Kamm
0de539868e
Fix TryFinally without body or finalbody.
2008-10-05 22:26:25 +02:00
Tomas Lindquist Olsen
77e16a9302
Added test case for bug #100
...
Removed dubious check for not emitting static private global in other modules without access. This should be handled properly somewhere else, it's causing unresolved global errors for stuff that should work (in MiniD)
2008-10-05 17:28:15 +02:00
Christian Kamm
f721aee1a4
Automated merge with http://hg.dsource.org/projects/llvmdc
2008-10-05 11:47:59 +02:00
Christian Kamm
2a999b72e8
Fix VarDecls for tuples. Closes #99 .
...
I've implemented it this way since it doesn't require any changes in the
frontend. However, I think having TypeTuple expressed as LLVM struct types
would make much more sense and open the door to tuple lvalues.
2008-10-05 11:47:47 +02:00
Tomas Lindquist Olsen
60cb084af7
Updated the Tango patch to latest revision. Removed problematic (Jarrett) include <cassert> from gen/runtime.cpp
2008-10-05 02:01:50 +02:00
Christian Kamm
f4da5f4a89
Fix -oq, closes #96
...
Add value debug output to RealExp::toConstElem.
2008-10-03 19:24:46 +02:00
Christian Kamm
b3d4bc83f8
Move check for access of context for nested class from backend into frontend.
2008-10-02 23:12:19 +02:00
Tomas Lindquist Olsen
d0c5df393c
Applied the FreeBSD patch from Ralith, closes ticket #95 , slightly changed but basically the same. Thanx Ralith :)
2008-10-02 03:25:46 +02:00
Tomas Lindquist Olsen
d0ff4494ac
Fixed problem with taking the delegate of a nested function of the current function.
2008-10-02 01:28:33 +02:00
Tomas Lindquist Olsen
bce9368514
Updated to latest LLVM trunk, function notes have been removed and merged with parameter attributes, which have been renamed to just attributes. Nothing seems to have broke!
2008-10-01 23:17:14 +02:00
Tomas Lindquist Olsen
e7ad7296d0
Fixed issue with IsExpression and potential type mismatch for classes.
2008-10-01 20:55:13 +02:00
Christian Kamm
32c4f92334
Detect a missing global before trying to const init it.
2008-10-01 20:32:12 +02:00
Christian Kamm
271012bcfc
Fix import visibility bugs 313 and 314.
2008-10-01 19:16:10 +02:00
Christian Kamm
cd99e773f0
Make typedef'ed complex types work.
2008-10-01 19:15:17 +02:00
Christian Kamm
77b5e841dd
Make invalid compile time casts an error instead of asserting.
2008-10-01 19:15:01 +02:00
Tomas Lindquist Olsen
bcafbe169d
Wrapped all the most potentially expensive logging calls in a conditional to only do work when actually requested.
...
Commented some logging calls that could potentially write out many megabytes of type dumps.
2008-10-01 18:32:31 +02:00
Tomas Lindquist Olsen
7b18b7a633
Implemented constant pointer casts (like casting function pointer to void* as a constant global initializer)
2008-09-28 21:09:21 +02:00
Tomas Lindquist Olsen
04f7c18f95
Removed some excessive llvm type logging
2008-09-28 15:22:39 +02:00
Christian Kamm
8645e103ef
Simplify complex number handling. Fixes bug with complex substraction.
2008-09-22 20:29:18 +02:00
Christian Kamm
9ce414c174
Fix NegExp not to use substraction.
2008-09-21 19:28:57 +02:00
Christian Kamm
bb47b7c4ce
Backed out changeset 1b62222581fb
...
Do not use i8 for bool. Instead rely on the target to store i1 as i8.
2008-09-21 14:45:41 +02:00
Christian Kamm
4b02533745
Change bool type to i8
2008-09-20 10:13:15 +02:00
Tomas Lindquist Olsen
6c5c7ee1c1
Fixed the optimizer thing, since llvm PR 2800 is already fixed, users need to upgrade LLVM to latest svn.
2008-09-18 21:07:35 +02:00
Tomas Lindquist Olsen
1daa67ba50
Removed useless assert in ArrayLiteralExp::toConstElem
...
Added second verification pass after optimization
Commented an optimization pass out from lvl2, it turns the IR invalid, see llvm PR 2800
2008-09-16 16:06:39 +02:00
Christian Kamm
310cdb14bf
Fix typo in ArrayLiteralExp::toConstElem.
2008-09-16 08:42:40 +02:00
Tomas Lindquist Olsen
56fed01c88
Fixed ArrayLiteralExp::toConstElem for dynamic arrays, tango-user library should now be possible to build. It seems to be related to DMD bug 2356, which must have been introduced recently, as we already handled this fine for ArrayInitializers, just not ArrayLiterals... Kinda annoying to have to do this work due to DMD bugs ...
2008-09-15 15:48:59 +02:00
Tomas Lindquist Olsen
c9242e3fbe
Fixed DLRValue::getLType did not handle the lvalue being a LRValue itself properly.
2008-09-15 15:17:41 +02:00
Tomas Lindquist Olsen
be651d97b7
Fixed AddrExp might silently change the type of its value, but we weren't casting to compensate ... why doesn't DMD insert a cast?
2008-09-15 02:39:55 +02:00
Tomas Lindquist Olsen
4280a86bcf
Fixed .funcptr property of delegates, no longer uses the infamous DMD rewrites to pointer arithmetic, instead a GEPExp has been introduced.
2008-09-15 02:04:26 +02:00
Christian Kamm
857b89e3f4
Fix #88 : pragma(lib, "str") is now converted to -lstr in the linker command line.
2008-09-14 14:36:11 +02:00
Christian Kamm
9c514a7afe
Undid some of the previous changes: DtoArrayInit has issues with arrays
...
similar to T[n][].
2008-09-14 13:47:38 +02:00
Christian Kamm
d6e4f659e2
Allocate dynamic array literals on the heap.
2008-09-14 10:56:01 +02:00
Christian Kamm
30c9af1945
Add _d_newarrayvT and _d_newarraymvT to create arrays without initialization.
...
Adjust DtoNewDynArray to use DtoArrayInit for initialization of new arrays.
Make Type::tvoid->defaultInit() not error.
2008-09-14 10:13:50 +02:00
Christian Kamm
e0635f1707
Allow VarDecl inside AttributeDecl inside DeclExp.
...
Fixes run/e/extern_10_D
2008-09-12 13:11:32 +02:00
Christian Kamm
e4ee8907cb
Fix line number for error when trying to new a nested class without a context.
2008-09-12 12:48:16 +02:00
Tomas Lindquist Olsen
bba1994b05
Fixed a few mini tests issues.
...
Added 'darwin' and 'Posix' as versions user can't set.
Fixed #80 .
2008-09-11 21:10:15 +02:00
Tomas Lindquist Olsen
d474fa027a
Fixed most regressions from last commit.
2008-09-10 12:33:33 -07:00
Tomas Lindquist Olsen
8e9b957bce
Complex number should now follow the D ABI on x86. They're also treated as first class values now. Big change.
2008-09-09 16:49:47 -07:00
Christian Kamm
4e0b6b4bf0
Make sure functions containing inline asm are never inlined to avoid
...
duplicated labels.
2008-09-08 20:38:55 +02:00
Tomas Lindquist Olsen
f411df11e3
Fixed choosing default target machine without needing to link in targets.
2008-09-07 17:44:25 -07:00
Christian Kamm
d44f21687e
Restructure path handling a bit. Fixes #66 .
2008-09-06 12:27:27 +02:00
Tomas Lindquist Olsen
3a8125b7c8
Pointer comparisons were being treated as signed integers. Now they are handled as unsigned integers.
2008-09-04 17:24:10 +02:00
Tomas Lindquist Olsen
ee29f29659
Fixed pointer comparisons with differing types.
2008-09-04 17:17:40 +02:00
Christian Kamm
d6e7a65b69
Automated merge with http://hg.dsource.org/projects/llvmdc
2008-09-02 19:14:37 +02:00
Christian Kamm
877da230a3
Get rid of runtime path. Allow defaultlib and debuglib switches to be given multiple times.
2008-09-02 19:14:25 +02:00
Tomas Lindquist Olsen
1565f00f85
Fixed toobj.cpp to compile with latest LLVM, seems a method overload was removed recently.
2008-08-31 18:38:16 +02:00
Christian Kamm
8efe20f5f9
Link in pthread, dl and m on OS X.
2008-08-29 14:11:20 +02:00