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
Christian Kamm
d54a1347a4
Do only link to libpthread, libm and libdl on Linux.
2008-07-21 20:12:24 +02:00
Tomas Lindquist Olsen
d583262c98
[svn r394] Fixed the new DtoNullValue function
2008-07-15 15:16:56 +02:00
Christian Kamm
625f28814d
[svn r393] Started implementation for DtoNullValue.
2008-07-15 14:53:16 +02:00
Christian Kamm
1486f29abb
[svn r391] Fix classes nested inside functions for real.
2008-07-15 10:23:50 +02:00
Christian Kamm
e69f92b613
[svn r390] Make the zero value used when no nested context was created of the correct type.
...
Fixes run/class_06.
2008-07-15 08:44:08 +02:00
Christian Kamm
e846017e80
[svn r388] ClassInfo declaration could fail if base classdecl hadn't been resolved.
...
Use ForceDeclare on the class decl instead of declaring class info only.
2008-07-15 08:17:43 +02:00