Commit Graph
250 Commits
Author SHA1 Message Date
Frits van Bommel 3f49ddb6d5 Fix nested references to 'ref' foreach variables.
These "walk around" the array being iterated over, so they're a bit trickier
than other variables to get right.
2009-04-01 00:01:44 +02:00
Frits van Bommel b7ca040f7c Fix a bug I noticed. Varargs were broken if preceded by tuple parameters. 2009-03-30 00:00:43 +02:00
Tomas Lindquist Olsen e61562033d Added support for tuple return with __asmtuple!(int,int) etc. 2009-03-28 08:25:58 +01:00
Frits van Bommel 91698fd0a5 Remove a duplicate minitest 2009-03-25 13:46:49 +01:00
Christian Kamm a0d93e699a Automated merge with http://hg.dsource.org/projects/ldc 2009-03-24 14:34:16 +01:00
Christian Kamm eb1deec50d Fix #239. 2009-03-24 14:33:57 +01:00
Frits van Bommel 143e95680f Remove struct padding which was making this test fail on 64-bit systems. 2009-03-24 03:14:22 +01:00
Christian Kamm 372b40dd94 Fix tuple declarations in aggregates. 2009-03-23 14:47:51 +01:00
Frits van Bommel e242f81475 Fix makewebstatistics: don't try to drop a test multiple times. 2009-03-20 15:47:42 +01:00
Frits van Bommel 3ffaa5c914 Make this test a bit more meaningful 2009-03-14 22:29:31 +01:00
Frits van Bommel 8b185b8b6a Fix field access from inline asm. See tests/mini/asm10.d 2009-03-12 23:48:43 +01:00
Frits van Bommel d1bea3d6c0 Update testcase broken by intrinsics changes. 2009-03-10 10:46:15 +01:00
Christian Kamm f0d33b1b20 Move more tests to D_InlineAsm 2009-03-03 19:03:27 +01:00
Christian Kamm e59ba75553 Adjust mini tests to use D_InlineAsm 2009-03-03 18:26:39 +01:00
Tomas Lindquist Olsen 61dfb11bc5 - Fixed x86-32 C ABI for complex number return values.
- Removed unused code from the ABI class.
2009-03-01 19:01:05 +01:00
Frits van Bommel 03ce6604a0 Fix cfloat return on x86_64: only perform ABI transformation for non-extern(D)
functions.
There's no need to waste cycles with extern(D), which we get to define
ourselves. Fixes tests/mini/asm8.d. (Since the asm abiret code already assumed
{xmm0, xmm1} returns)
2009-02-26 23:35:39 +01:00
Frits van Bommel 1a155e6439 Fix dstress runner to use ldmd 2009-02-26 14:49:32 +01:00
Frits van Bommel 9ab133963d Update some testcases now that 64-bit immediates are working. 2009-02-18 23:18:34 +01:00
Frits van Bommel e3d6b1c051 Fix some assembler issues:
The assembler was miscompiling "add" (specifically, the "add reg/mem, imm"
variations).
The change that caused this seems to have been made because without it, some
"add"s didn't compile at all.

This patch reverts the previous change, and makes sure assembler operands are
remapped correctly even though the input operands auto-generated due to
updating operations aren't explicitly used.
2009-02-18 21:46:14 +01:00
Christian Kamm f62df176d6 Allow 'return exp;' for void main().
It's unfortunate that for main the llvm type and D type don't match up...
2009-02-17 18:53:15 +01:00
Frits van Bommel 9186ee8935 Fix {,w,d}char handling in tests/mini/vararg6.d:print() 2009-02-16 19:31:10 +01:00
Christian Kamm 913669eab5 Fix test on x86-32. 2009-02-16 19:17:15 +01:00
Frits van Bommel 347cfc419d Some changes I missed in my last commit (wound up in wrong patch file) 2009-02-16 01:43:14 +01:00
Frits van Bommel 2dec6aeb41 Implement implicit return after inline asm on x86_64 2009-02-15 18:04:22 +01:00
Kelly Wilson 707c7bc29f changes to get the naked asm stuff working for x64 2009-02-10 08:02:25 -07:00
Tomas Lindquist Olsen fc480b7fd8 SWITCHED TO LLVM 2.5 !
Applied patch from ticket #129 to compile against latest LLVM. Thanks Frits van Bommel.

Fixed implicit return by asm block at the end of a function on x86-32. Other architectures will produce an error at the moment. Adding support for new targets is fairly simple.

Fixed return calling convention for complex numbers, ST and ST(1) were switched around.

Added some testcases.

I've run a dstress test and there are no regressions. However, the runtime does not seem to compile with symbolic debug information. -O3 -release -inline works well and is what I used for the dstress run. Tango does not compile, a small workaround is needed in tango.io.digest.Digest.Digest.hexDigest. See ticket #206 .
2009-02-08 05:26:54 +01:00
Tomas Lindquist Olsen 280be5ef8e Fixed dstress/run/a/array_initialization_17_A.d regression. default initialized static array elements in a constant static array initializer was getting incorrect values.
Fixed minor version problem in mini/naked_asm4.d test case.
2009-02-03 23:48:47 +01:00
Kelly Wilson e033781188 Added X86-64 version. Needed significant changes. 2009-02-03 12:35:00 -07:00
Kelly Wilson fe5c047568 Added X86-64 versioning 2009-02-03 12:34:12 -07:00
Kelly Wilson d969e0b1cb Added X86-64 version 2009-02-03 12:33:42 -07:00
Kelly Wilson be38aa3e3a Added X86-64 versioning 2009-02-03 12:33:21 -07:00
Tomas Lindquist Olsen dc5944df99 Implemented proper support for naked asm using llvm module level asm. Still not 100% complete, but already 1000 times better that what we had before. Don's BignumX86 implementation from Tango (when turned into a standalone unittest) seems to fully work with no changes, and great performance :)
Fixed align N; in asm blocks.

Fixed inreg parameter passing on x86 for ref/out params.

Removed support for lazy initialization of function local static variables, I have no idea why I ever implemented this, it's not in the D spec, and DMD doesn't support it :P

Some of the global variable related changes might cause minor regressions, but they should be easily fixable.
2009-02-03 08:54:57 +01:00
Tomas Lindquist Olsen e6ef3ecf15 Fixed bug #191 by rewriting DtoConstArrayInitializer, patch unfortunately caused regressions, hopefully this doesn't :P 2009-02-01 23:30:36 +01:00
Christian Kamm 01f19c466c Fix #198 and #199 by making CTFE on static struct initializers work.
Renamed SymbolDeclaration to StaticStructInitDeclaration to make its usage clearer.
2009-02-01 20:20:56 +01:00
Christian Kamm 9c197b777b Add testcase for #189 to mini tests. 2009-01-25 12:38:29 +01:00
Christian Kamm 320c22810a Fix #174. 2009-01-22 21:46:40 +01:00
Christian Kamm 50be43051a Fix #165, thanks afb. 2009-01-17 17:44:54 +01:00
Christian Kamm 71a5ff83c7 Fix #164. 2009-01-17 17:41:03 +01:00
Christian Kamm 9081e55746 Fix #163. 2009-01-17 14:53:32 +01:00
Christian Kamm 80caaf4ea0 Rename test to accepted name. 2008-12-20 09:29:36 +01:00
Christian Kamm 2d573974d7 Add #154 testcase. 2008-12-18 08:09:01 +01:00
Christian Kamm 7069073f75 Applied modification of wilsonk's patch for AndAnd and OrOrExp for void rhs funcs. 2008-12-17 21:24:17 +01:00
Tomas Lindquist Olsen 99396c2e7a Fixed problem with nested function inside static nested function. see mini/compile_nested2.d. fixes #143 . 2008-12-09 14:57:01 +01:00
Tomas Lindquist Olsen 3c400ff21c Removed error on naked, not fully complete, but I'll be doing more work on it during this Christmas, and some things do work.
Fixed taking delegate of final class method. see mini/delegate3.d.
2008-12-09 14:07:30 +01:00
Christian Kamm 42006b2d9c Add testcase for with(symbol) fix. 2008-12-07 16:06:10 +01:00
Tomas Lindquist Olsen 5ae0f3a934 ... and fixed that test case :P ... 2008-12-04 16:13:40 +01:00
Tomas Lindquist Olsen a5616feceb Added testcase for fix in rev [825] 2008-12-04 16:12:47 +01:00
Tomas Lindquist Olsen 3111ff1fc4 Fixed non-static struct initializers. 2008-12-03 01:40:28 +01:00
Tomas Lindquist Olsen 879bed7df6 Added CMake option to disable generation of ClassInfo.offTi arrays, defaults to OFF. 2008-12-02 01:44:17 +01:00
Tomas Lindquist Olsen 91a2c257b0 Implemented allocating storage for a slice if its address is taken, fixes #115 2008-12-02 01:20:22 +01:00