Commit Graph

481 Commits

Author SHA1 Message Date
Christian Kamm
07f35424f1 Fix debug path. 2008-10-27 17:42:38 +01:00
Tomas Lindquist Olsen
6b9e85df48 Attempt at getting LLVM to provide a proper target data layout. Should assert now if things are borked.
Added untested support for Thumb target.
2008-10-27 17:37:34 +01:00
Tomas Lindquist Olsen
f89592b354 Nested access to with statement should work now. fixes #105 2008-10-27 01:40:47 +01:00
Tomas Lindquist Olsen
fdc172377e Fixed tuple fields, thanx downs 2008-10-27 01:11:41 +01:00
Christian Kamm
4c12540497 Always add trailing slash to source path for debug info. 2008-10-26 17:31:05 +01:00
Christian Kamm
cfcda83291 Change _d_newclass into _d_allocclass. Add initialization to ClassInfo.create. 2008-10-26 14:12:03 +01:00
Christian Kamm
4d7af01374 Fix double field toObjFile for structs with AttribDecls. 2008-10-25 22:07:20 +02:00
Tomas Lindquist Olsen
80e29f86e4 Disabled parameter reversing by default, it broke mini/typeinfo10.d
Fixed 'inreg' property placement for functions with reversed parameters.
Made parameter reversal and inreg passing of first arg configurable in premake.lua
2008-10-25 18:12:07 +02:00
Tomas Lindquist Olsen
3c3a5dda14 Implemented correct parameter order according to x86-32 ABI documentation.
Changed AA types to just a void* .
2008-10-25 06:03:28 +02:00
Tomas Lindquist Olsen
5ed0ab3ab8 Commented that codegen: <modulename> printf ... 2008-10-23 19:42:55 +02:00
Tomas Lindquist Olsen
f71b7ac284 Added inreg attribute where appropriate on x86 to follow ABI docs.
Removed now unnecessary temporary variable in StringExp.
2008-10-23 00:34:46 +02:00
Tomas Lindquist Olsen
a52f0330d0 Implemented first class delegates. closes #101 2008-10-22 21:50:08 +02:00
Christian Kamm
42ae090eaf Make sure debug info has correct file name and path. 2008-10-22 20:00:57 +02:00
Tomas Lindquist Olsen
f7ea1da010 Removed TypeOpaque from DMD.
Changed runtime functions taking opaque[] to void[].
Implemented proper type painting, to avoid "resizing" array casts in runtime calls that previously took opaque[].
Implemented dynamic arrays as first class types, this implements proper ABI for these types on x86.
Added dwarf region end after call to assert function, fixes some problems with llvm not allowing this to be missing.
Reverted change to WithStatement from rev [704] it breaks MiniD, mini/with2.d needs to be fixed some other way...
Fixed tango bug 1339 in runtime, problem with _adReverseChar on invalid UTF-8.
Disabled .bc generation in the compiler runtime part, genobj.d triggers some llvm bug when using debug info. the .o seems to work fine.
2008-10-22 14:55:33 +02:00
Christian Kamm
0fe7297fba Add missing case to DtoAssign for T[n] = T[]. Fixes downs' initializer bug. 2008-10-16 22:36:26 +02:00
Christian Kamm
6c532ac149 Hopefully sensible command switch handling. Changed default ext to .o on Windows. 2008-10-16 22:07:02 +02:00
Christian Kamm
8f14246bef Fixed bug with generated functions having wrong calling conventions. Thanks downs. 2008-10-15 20:22:18 +02:00
Tomas Lindquist Olsen
379bd9c330 Fixed weird struct problem from downs, see mini/compile_structs1.d
Rewrote DtoIndexStruct/Class , the old implementation were way too complex for what we really need now - since the DotVar changes.
2008-10-14 15:35:49 +02:00
Tomas Lindquist Olsen
180487b614 Fixed issue with accessing a WithStatement context from inside a nested function. see mini/with2.d
Renamed some LLVM uses of ::create statics to ::Create , lower case ones will be deprecated soon.
2008-10-14 13:21:14 +02:00
Tomas Lindquist Olsen
202c4f7bc2 Changed premake.lua to work with mingw.
Implemented array operations, not perfect but ok for tonight. closes #89
2008-10-13 23:19:32 +02:00
Christian Kamm
e76d8f25b4 changed uint to unsigned int, thanks Elrood 2008-10-13 21:08:11 +02:00
Christian Kamm
881a141a1a Guess exe name from first object name if none specified. 2008-10-13 19:02:03 +02:00
Tomas Lindquist Olsen
f15b115ee9 Started changing target triple stuff, part of fixing #97 2008-10-13 17:28:39 +02:00
Christian Kamm
bc39d73425 Allow output of only bc, ll, or s by making -of set the output type depending
on the extension.
2008-10-13 10:58:00 +02:00
Christian Kamm
a455186f28 Homepage rename. 2008-10-12 18:03:34 +02:00
Christian Kamm
d82c8068a3 Always run SimplifyCFG to workaround LLVM bug 2613. 2008-10-12 15:33:14 +02:00
Christian Kamm
1e825d057a Emit region.end debug calls before a throw. 2008-10-12 15:30:58 +02:00
Christian Kamm
b413b9aa54 Emit stub debug info for generated functions to work around LLVM bug 2172. 2008-10-12 14:38:55 +02:00
Christian Kamm
6cb213badf Only allocate the module file name once. Fixes #90. 2008-10-12 10:35:16 +02:00
Christian Kamm
40f724234d Remove too strict type check for DotTypeExp. Fixes run/t/typedef_19_B. 2008-10-11 22:44:17 +02:00
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