Commit Graph

139 Commits

Author SHA1 Message Date
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
Tomas Lindquist Olsen
c62b31a357 Fixed taking address of global static array element as constant expression. 2008-12-02 01:07:22 +01:00
Christian Kamm
c451f100f5 Add interface minitest, rework s.d. 2008-11-30 11:54:18 +01:00
Tomas Lindquist Olsen
f46f865375 Removed KDevelop3 project files, CMake can generate them just fine!
Fixed function literals in static initializers.
Changed alignment of delegates from 2*PTRSIZE to just PTRSIZE.
Changed errors to go to stderr instead of stdout.
Fairly major rewriting of struct/union/class handling, STILL A BIT BUGGY !!!
2008-11-29 21:25:43 +01:00
Christian Kamm
70c8174303 Strip test binaries. 2008-11-22 21:06:33 +01:00
Christian Kamm
b172c4a668 Fix RawVarDecl double codegen bug. Thanks to downs for the testcase. 2008-11-18 18:07:57 +01:00
Christian Kamm
ccd8810e68 Fix bug reported by downs. Related to delegate types within tuple template parameters. 2008-11-18 17:14:57 +01:00
Christian Kamm
bc80a83666 Merge wilsonk's x86-64 inline assembly. 2008-11-08 22:29:19 +01:00
Christian Kamm
51385239e8 asm4 fix. 2008-11-01 17:56:25 +01:00
Christian Kamm
ba754255d9 Fix minitest breakage from the x86-64 patch. 2008-11-01 14:41:57 +01:00
Christian Kamm
9fcc2d85a2 Add test for accessing foreachval in nested func. Reason for #104. 2008-10-31 18:17:28 +01:00
Christian Kamm
891d17e4b5 Applied easy part from wilsonk's x86-64 patch in #107 2008-10-30 11:08:34 +01:00