Commit Graph

207 Commits

Author SHA1 Message Date
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
Christian Kamm
29dfacde9a Fold in mandel's patch for ARM from #106 2008-10-27 16:36:59 +01:00
Tomas Lindquist Olsen
fdc172377e Fixed tuple fields, thanx downs 2008-10-27 01:11:41 +01: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
4b82b7a729 Make extern(System) configure the calling convention on LDC runtime, not when building LDC. 2008-10-23 19:38:01 +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
Tomas Lindquist Olsen
5ad345646a Merged DMD 1.036.
Improved comments a little in the runtime source code.
2008-10-22 17:06:17 +02:00
Tomas Lindquist Olsen
7be6ac6b36 Turned unimplemented align error into a warning instead. 2008-10-22 15:35:46 +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
773b15ba5e Use malloc instead of alloca. 2008-10-21 20:46:12 +02:00
Christian Kamm
742ffd88a3 Fix -of with multiple input files. 2008-10-21 18:15:34 +02:00
Christian Kamm
7c7ed3ec12 Make align(n), n != 1 an error. 2008-10-18 14:33:11 +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
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
Tomas Lindquist Olsen
1757e2e1de Updated rebuild profile for .o output as default, compiler needs to be fixed still.
Fixed segfault with ' ldc foo.o -offoo '.
2008-10-13 18:19:43 +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
73c58119e5 Missing include added. 2008-10-13 14:09:24 +02:00
Christian Kamm
cdeaefa63c Fix issues with gradual underflow and strtof, strtod on Mac. 2008-10-13 14:01:18 +02:00
Christian Kamm
ee8dd42c1d Some cleanups in command line argument descriptions. 2008-10-13 11:13:20 +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
697e5830fc Fix remaining make files. Fix linking order for static libs. 2008-10-11 21:40:44 +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
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
Tomas Lindquist Olsen
06a55194d7 Upgraded frontend to DMD 1.035 2008-10-06 16:22:11 +02:00
Tomas Lindquist Olsen
81b93325ca Added -nodefaultlib switch do disable implicitly linked standard lib modules 2008-10-05 18:55:43 +02:00
Christian Kamm
87d885f840 Don't let outer enclosing handlers propagate to nested function declarations. 2008-10-04 12:32:09 +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
2f9b9dead7 Make default argument protection check not error for undefined protection.
Fix symbol visibility issues in Tango.
2008-10-03 17:31:16 +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
e2a1394ae8 Added FreeBSD support to the -t switch 2008-10-02 03:38:29 +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
Christian Kamm
c4b523dc29 Nicer error message on some invalid default args. 2008-10-01 21:14:15 +02:00
Christian Kamm
271012bcfc Fix import visibility bugs 313 and 314. 2008-10-01 19:16:10 +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
Christian Kamm
12c81a2ee3 Don't delete the header file after it has been generated! 2008-09-21 17:35:27 +02:00
Christian Kamm
713a734d58 Make creating and deleting of doc and hdr files dependent on whether doc and
hdr files are to be generated.

Fixes html_empty_01,02
2008-09-16 09:00:05 +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
431bc19d2f To prevert source-overwriting in the future, forbit output files with the same
name as the source file.
2008-09-14 22:49:19 +02:00
Christian Kamm
151f86630c Fix path handling, hopefully. 2008-09-14 22:08:39 +02:00
Christian Kamm
cc568d6820 Fix output files being .d.bc. They're now .bc again. 2008-09-14 19:51:38 +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
f0abdf860a Constant fold structliteral.member again. 2008-09-12 12:39:06 +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
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
Tomas Lindquist Olsen
f411df11e3 Fixed choosing default target machine without needing to link in targets. 2008-09-07 17:44:25 -07:00