Commit Graph

451 Commits

Author SHA1 Message Date
Christian Kamm
b4e57e83eb Another link order fix. 2008-10-11 22:14:16 +02:00
Christian Kamm
ee407e597a Link using gcc instead. 2008-10-11 21:21:21 +02:00
Christian Kamm
1bfc0316aa Make ldc call gcc to assemble. 2008-10-11 20:00:36 +02:00
Christian Kamm
73d7a299c9 Disable bc output by default. Remove -dis. Add -output-bc, -output-ll, -output-s.
Call to gcc to convert assembly to object file still required.
2008-10-11 13:07:59 +02:00
Christian Kamm
3e4bb69ef3 Move to separate function and cleanup. 2008-10-11 11:41:56 +02:00
Christian Kamm
7b20402e0b Add basics for direct assembly output. 2008-10-11 11:07:53 +02:00
Christian Kamm
e8f8340ef8 Automated merge with http://hg.dsource.org/projects/llvmdc 2008-10-08 22:43:38 +02:00
Tomas Lindquist Olsen
ed7dd481e5 Fixed dynamic array -> boolean. does (arr.ptr !is null) now instead of (arr.length != 0) 2008-10-08 22:38:52 +02:00
Christian Kamm
9499761131 When newing a struct, make sure the initializer is available. 2008-10-08 20:41:43 +02:00
Christian Kamm
4d610bcd7e Fix odd interfaceInfoType bug. 2008-10-08 20:28:59 +02:00
Christian Kamm
b90799a376 Add DotTypeExp 2008-10-07 20:19:19 +02:00
Christian Kamm
ae9a2901df Implement BoolExp. 2008-10-07 18:41:00 +02:00
Christian Kamm
a3a418150e Some missed LLVMDC -> LDC. 2008-10-06 22:54:08 +02:00
Christian Kamm
6eeeafdba6 First part of rename to LDC. 2008-10-06 22:46:55 +02:00
Christian Kamm
0bd282113b Simplify fp80 handling in DtoConstFP 2008-10-06 21:27:29 +02:00
Tomas Lindquist Olsen
1bc3aec560 Forgot a change from DMD update.
Removed old Phobos rebuild profiles.
Updated Tango rebuild profile slightly.
2008-10-06 16:22:54 +02:00
Tomas Lindquist Olsen
e109025c00 Removed some checks for abstract llvm types that were too strict, a 'opaque* null' is a valid initializer... when structs in D can be just a forward reference. 2008-10-06 14:37:00 +02:00
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