Commit Graph
343 Commits
Author SHA1 Message Date
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 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 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 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 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 885a805d26 Fixed problem where global variables did not resolve type before using it. 2008-08-01 21:54:40 +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 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 905ca019dd Added type param to DVarValue as DMD sometimes overrides the type of the VarDeclaration.
Added support for align(1)/packed structs, other alignments are still ignored.
Fixed some problems with accessing lazy arguments.
2008-07-30 10:12:55 +02:00
Christian Kamm 3b21ae25be Move DeclarationExp code into a helper function so it can call itself for template mixin members. 2008-07-30 09:21:06 +02:00
Christian Kamm f2c5fa2c2f Enable insertion of missing terminator instruction for main. 2008-07-29 15:58:45 +02:00
Christian Kamm dd8982db1f Disallow delegates to static functions. 2008-07-29 12:49:14 +02:00
Christian Kamm c6e0dd9be3 Fix the static array cast size check. 2008-07-29 12:44:28 +02:00
Christian Kamm caa61a5523 Error if static array is cast to an array such that oldarraysize % newelemsize != 0. 2008-07-29 12:32:01 +02:00
Christian Kamm 99f1cfef36 Error instead of assert on unimplemented interface functions. 2008-07-29 10:55:58 +02:00
Christian Kamm 3db56c7a17 Error message for calling a function with a missing 'this' arg. 2008-07-29 10:29:52 +02:00
Tomas Lindquist Olsen 20d429e085 Fixed delegate casts. 2008-07-28 08:05:21 +02:00
Tomas Lindquist Olsen 8c98499193 Fixed issue with internal real representation, incorrect for non x86-32 architectures.
Cleaned up CallExp::toElem, moved implementation to tocall.cpp providing a single procedure to call arbitrary D functions fairly easily.
2008-07-28 02:11:34 +02:00
Christian Kamm ad17af1e26 Rework complex addition, substraction and multiplication. Division may need the same.
Fixes run/c/cdouble_09_A,C,D and run/c/cfloat_09_A,C,D.
2008-07-27 17:53:49 +02:00
Tomas Lindquist Olsen 1f00395f0b Fixed path seperator issue on windows in linker. 2008-07-27 14:15:22 +02:00
Christian Kamm 86819d1cef Should only error if array initializer is too long. Too short is ok. 2008-07-26 17:33:49 +02:00
Christian Kamm 907a03a3be Give error messages for invalid casts.
This required passing Loc information to certain functions.
Fixes nocompile/b/bug_cgcs_354_A/B.
2008-07-26 17:19:16 +02:00
Christian Kamm a278651178 Add error if array initializer has incorrect length. 2008-07-26 15:42:05 +02:00
Christian Kamm 0c9674e952 Make an unresolved global into an error instead of an assert.
Fixes nocompile/alias_28_A/F.
2008-07-26 15:23:15 +02:00
Christian Kamm b496d03606 Automated merge with http://hg.dsource.org/projects/llvmdc 2008-07-26 15:12:48 +02:00
Tomas Lindquist Olsen 1e87165fe7 Committed merge 2008-07-26 15:09:33 +02:00
Tomas Lindquist Olsen 70f16e36fb Added bitcode filename to very verbose logging.
Fixed -O<n> switches from llvm 2.4.
Removed md5 from the kdevelop project filelist.
2008-07-26 15:02:57 +02:00
Christian Kamm a5f976ffce Start a new basic block after a continue statement.
Fixes bug_d_irstate_244_A/b.
2008-07-26 15:00:57 +02:00
Christian Kamm 732cdc5766 Fix inline asm FS:4 by writing the displacement directly into the asm instead of using %fs:$0 with an input constraint. 2008-07-26 13:38:25 +02:00
Tomas Lindquist Olsen 100c42bca3 Fixed segfault when using va_arg.
Fixed segfault when accessing function symbols from inline asm.
2008-07-23 20:21:18 +02:00
Christian Kamm 44931493f6 Fixed root cause for Invalid BitCasts. DtoCanLoad continues to return false
for aggregates even though llvm 2.4svn could load them.
2008-07-23 17:56:09 +02:00
Christian Kamm 8f20b1ed00 Introducing opaque type to dmd frontent to be used with certain runtime array
and aa args and returns. There are still some bugs with aas.
2008-07-22 23:06:46 +02:00
Christian Kamm 566eac93fe Get rid of runTimeHack and instead add proper argument info to the frontend
declatation.
2008-07-22 19:24:40 +02:00