Commit Graph

3287 Commits

Author SHA1 Message Date
Tomas Lindquist Olsen
9d7f16b967 Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Reimplemented support for nested functions/class using a new approach.
Added error on taking address of intrinsic.
Fixed problems with the ->syntaxCopy of TypeFunction delegate exp.
Removed DtoDType and replaced all uses with ->toBasetype() instead.
Removed unused inplace stuff.
Fixed a bunch of issues in the runtime unittests, not complete yet.
Added mini tests.
2008-08-10 08:37:38 +02:00
Christian Kamm
b2d860374b Default initialize temporary struct generated from struct literal.
This makes sure padding is zeroed out.
2008-08-09 09:03:52 +02:00
Christian Kamm
6e78763b3f Get rid of predefined Unix version 2008-08-07 18:59:23 +02:00
Christian Kamm
4ee26b350a Forgot return in DtoInitializer 2008-08-07 18:17:59 +02:00
Christian Kamm
f7cd3cf969 Move zero init of padding to DtoInitializer in order to respect void initializers. 2008-08-07 18:15:27 +02:00
Christian Kamm
14c3e022e4 Use llvmdc helpers for store and bitcast in fp80 padding init code. 2008-08-05 20:23:44 +02:00
Christian Kamm
b2efd0d317 Zero out padding of fp80. 2008-08-05 20:10:12 +02:00
Christian Kamm
8362b86c5a Move AllocaInst creation into DtoAlloca helper. Will enable special zero-init of fp80 reals' padding. 2008-08-05 19:28:19 +02:00
Christian Kamm
866360c23b Update readme. 2008-08-05 08:08:00 +02:00
Christian Kamm
cc7e5e63b1 Make sure to initialize isBranchToLabel to zero.
Fixes unittest compilation for tango.text.Text.
2008-08-04 21:34:53 +02:00
Tomas Lindquist Olsen
323c45e768 Added missing llvmdc-build script in lphobos, added llvmdc.conf to lphobos. 2008-08-04 20:05:42 +02:00
Tomas Lindquist Olsen
641523be79 Added bash style rebuild to the lphobos dir 2008-08-04 20:01:36 +02:00
Tomas Lindquist Olsen
6fc52fd86b Removed old moduleinit_backend from lphobos it's useless now. 2008-08-04 19:38:59 +02:00
Tomas Lindquist Olsen
3f1767fd49 Applied downs' lphobos update 2008-08-04 19:28:49 +02:00
Tomas Lindquist Olsen
9500e89eeb Added 'Unix' predefined version identifier. 2008-08-04 19:08:39 +02:00
Tomas Lindquist Olsen
691a922850 Changed DMD to make a copy of the TypeFunction in DelegateExp. 2008-08-04 17:32:13 +02:00
Tomas Lindquist Olsen
7988ecb8be added testcase for taking address of function as constant expr. 2008-08-04 03:40:08 +02:00
Tomas Lindquist Olsen
800497f2be Fixed constant expression taking address of function. 2008-08-04 03:38:23 +02:00
Tomas Lindquist Olsen
daad516579 Removed the 'needsstorage' thing from Dsymbol. Arguments are not always given storage when applicable. This is not longer treat specially
in this regard. Code for accessing nested variables and contexts rewritten. Probably more. Fairly well tested.
2008-08-04 02:59:34 +02:00
Tomas Lindquist Olsen
b0a5f554d6 Fixed problem in AssignExp where the result value might be uninitialized. see mini/assign1.d 2008-08-03 16:59:28 +02:00
Tomas Lindquist Olsen
996c197aa8 stupid merges 2008-08-03 16:16:16 +02:00
Tomas Lindquist Olsen
0640b52d3e Added a mini test case for nested stuff 2008-08-03 16:11:38 +02:00
Tomas Lindquist Olsen
dedc0f4829 Fixed problem with using the variable names _arguments and _argptr in non D-style vararg functions.
Fixed problem with compiling with LLVM 2.3
2008-08-03 16:10:00 +02:00
Christian Kamm
90693b23b1 Use path separator to make minitests work on windows. 2008-08-03 14:03:15 +02:00
Christian Kamm
d87a3cd4ee Path combining on Windows didn't work with / properly. 2008-08-03 12:27:11 +02:00
Christian Kamm
0613b47df9 Windows build changes proposed by Elrood. 2008-08-03 12:26:43 +02:00
Christian Kamm
aff505ea6e Automated merge with http://hg.dsource.org/projects/llvmdc 2008-08-02 22:54:46 +02:00
Christian Kamm
ad8e9ae852 Implement a rough AddrExp::toConstElem() 2008-08-02 22:54:36 +02:00
Tomas Lindquist Olsen
1ee9104354 Fixed AA Rvalue-only access (like indexing an AA return value immediately). 2008-08-02 22:35:24 +02:00
Tomas Lindquist Olsen
00072e5fd0 Fixed debug info and lazy arguments. 2008-08-02 21:51:49 +02:00
Christian Kamm
41d6279a64 Make sure DtoType has been run on the DType before assembling a call. 2008-08-02 21:20:31 +02:00
Tomas Lindquist Olsen
55639e01ea Fixed inserting an AA entry with 'this' as key.
Fixed debug info for aggregate parameters. Only seems to work on byval arguments.
2008-08-02 17:24:10 +02:00
Tomas Lindquist Olsen
18b376ba66 Added generation of the llvm 'sret' parameter attribute where applicable.
Fixed some wrong argument handling code when setting parameter attributes.
Updated the tango unittest script in the tango patch, does not work yet, all modules don't compile...
2008-08-02 02:54:57 +02:00
Tomas Lindquist Olsen
0251a1e720 Fixed regressions 2008-08-02 01:23:53 +02:00
Tomas Lindquist Olsen
e31070a437 Fixed problems with nested 'this'. Fixes #39 .
Fixed problem with debug info order of intrinsic calls (func.start after declare).
2008-08-02 00:50:39 +02:00
Tomas Lindquist Olsen
3c5e28d6c7 merge ... 2008-08-01 21:56:13 +02:00
Tomas Lindquist Olsen
24386e4d3b Trying to get the old QD demo to work. 2008-08-01 21:55:57 +02:00
Tomas Lindquist Olsen
885a805d26 Fixed problem where global variables did not resolve type before using it. 2008-08-01 21:54:40 +02:00
Christian Kamm
0ec9cf626b Updates to .hgignore for new runtime scheme. 2008-08-01 21:21:08 +02:00
Tomas Lindquist Olsen
65406bba25 Fixed problem with invoking intrinsics, which llvm doesn't allow. 2008-08-01 19:54:31 +02:00
Tomas Lindquist Olsen
fd2fac6aa7 Fixed param attrs for return values (not really broken, but would be if more return attrs were added) 2008-08-01 18:07:33 +02:00
Tomas Lindquist Olsen
9b45fc5533 Changed the handling of variadic intrinsics a bit.
Removed the -fp80 option and made real be 80bit floats on X86, this is what the D spec really says it should be and fixes a bunch of issues.
Changed the handling of parameter attributes to a bit more generalized approach.
Added sext/zext attributes for byte/short/ubyte/ushort parameters, fixes #60 .
Parameter attribs now properly set for intrinsic calls if necessary.
Made the tango.math.Math patch less intrusive.
Fixed/added some mini tests.
2008-08-01 17:59:58 +02:00
Tomas Lindquist Olsen
858dd3e4fa Updated tango patch. tango.math.Math was incorrect. 2008-08-01 01:12:33 +02:00
Tomas Lindquist Olsen
07cfb67178 Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Reworked the LLVMDC specific pragmas.
2008-08-01 00:32:06 +02:00
Christian Kamm
8f14ece3af Move DtoArrayBoundsCheck from llvmhelpers to arrays. 2008-07-31 19:14:49 +02:00
Christian Kamm
fcd784d14f Forgot a ->toBasetype() in the array bound code.
Fixes compile/typedef_05.
2008-07-30 20:25:46 +02:00
Christian Kamm
5b5d7404b4 Insert array bound checks for slices. 2008-07-30 19:02:13 +02:00
Christian Kamm
7882f4858e Enable array bounds check and emit them in IndexExp. 2008-07-30 18:38:56 +02:00
Christian Kamm
fc9ccb9f6a Rework complex divison. 2008-07-30 16:48:35 +02:00
Tomas Lindquist Olsen
a8bf4e9579 Reverted bad cfg merge stuff 2008-07-30 10:45:20 +02:00