David Nadlinger
15c5316e26
Prevent two function with same mangled name but different types from being declared.
...
Previously, LDC would crash in the backend due to the fact that the IR is typed in such cases (we recently had such an instance with Tango, where an extern( C ) function was declared once with int and once with size_t).
2011-07-27 23:01:22 +02:00
David Nadlinger
882e81ec1c
Explicitly add %st as second argument to fucomip.
...
It should really be assumed implicitly, but the GNU as shipping with Mac OS X 10.6 (Apple Inc version cctools-800~26, GNU assembler version 1.38) chokes on the instruction otherwise.
2011-05-01 01:16:36 +02:00
Alexey Prokhin
f3bf9fd277
Improve _d_arrayappendT call
2011-05-11 21:13:43 +04:00
Kelly Wilson
5d0f918e9e
Fix cmpxchg16b instruction for asm blocks. Thanks to wolfwood from the Xomb project for this fix.
2011-05-05 20:56:46 -06:00
Alexey Prokhin
3a0dfac597
Fix file paths in debug info
2011-04-30 17:35:40 +04:00
Alexey Prokhin
6548ce2e79
Fix a crash in OrOrExp::toElem
2011-04-30 15:30:58 +04:00
Alexey Prokhin
8da0d673cf
Rework vaarg support on X86_64
2011-04-30 15:30:57 +04:00
Alexey Prokhin
805fb5cfc1
D2: pass static arrays into functions by value
2011-04-30 15:30:57 +04:00
Alexey Prokhin
069f0a6262
Merged changes in TypeDArray::builtinTypeInfo() from dmdfe.
2011-04-30 15:30:57 +04:00
Alexey Prokhin
6bc2431b6b
Skip unittests in imported modules
2011-04-30 15:30:57 +04:00
Alexey Prokhin
73e498ace1
Do not use internal linkage for a function nested in a small function that can be inlined from other modules
2011-04-30 15:30:57 +04:00
David Nadlinger
7a24e12736
Cleanup: Remove unused code in backend, silence some warnings.
...
This removed quite some clutter that has presumably piled up because LDC is seldom built with a lot of warnings enabled due to DMDFE.
2011-04-24 12:21:33 +02:00
David Nadlinger
8f5f93057c
Changed DtoResolveNestedContext() return type to void – it didn't even have a return statement!
2011-04-24 11:39:53 +02:00
David Nadlinger
3e28eecfea
Quick workaround for a LLVM 2.9 crash with higher optimization levels.
...
createFunctionAttrsPass() is a LLVM pass and the crash is deep in LLVM code, maybe something is wrong with the pass manager state.
2011-04-20 20:44:49 +02:00
David Nadlinger
8d545a18c1
Fix crash when declaration is coming without Loc from the front-end.
2011-04-20 19:30:43 +02:00
Kelly Wilson
72ea043124
Recommit klickverbot's patch for LLVM-2.9.
2011-04-20 09:28:37 -06:00
Kelly Wilson
7c81278b9c
Backed out changeset 5253bfbb3890
2011-04-20 00:28:23 -06:00
Kelly Wilson
b26b0f4196
Upgrade to LLVM-2.9. Thanks to David Nadlinger for the patch.
2011-04-19 21:57:15 -06:00
Moritz Warning
dbd267cc95
merge
2011-04-07 01:12:27 +02:00
Alexey Prokhin
7f0ecdf7b9
More X86_64 ABI
2011-03-26 19:30:17 +03:00
Alexey Prokhin
375dcb095c
Fix array comparison
2011-03-26 17:58:08 +03:00
Alexey Prokhin
3a2aedc9ac
Fix building of the runtime as a shared library
2011-03-26 17:58:05 +03:00
Moritz Warning
fbb32c24cb
another merge
2011-02-27 20:11:13 +01:00
Alexey Prokhin
a684dd2df9
ldc1 compiles again
2011-02-27 21:00:01 +03:00
Alexey Prokhin
063020fae6
Don't run postblit on references
2011-02-27 12:27:38 +03:00
Alexey Prokhin
70aee84c70
Fix passing of a padded struct to a function
2011-02-26 20:16:01 +03:00
Alexey Prokhin
20e6c65200
To follow D ABI, swap real and imaginary parts of a complex return value on X86_64
...
TODO: should we disable this transformation for ldc1 in order to keep its ABI unchanged?
2011-02-26 13:04:09 +03:00
Alexey Prokhin
1653abbbc9
Use StdCall calling convention on X86_64
2011-02-25 22:29:40 +03:00
Alexey Prokhin
e21fbc26e8
Fix imul and mul asm opcodes on X86_64
2011-02-25 22:29:34 +03:00
Alexey Prokhin
53fe662957
Fix a bunch of incorrect assert
2011-02-25 22:29:34 +03:00
Alexey Prokhin
28aa0e2bf3
Add missing postblit call
2011-02-25 22:29:28 +03:00
Alexey Prokhin
5fb97f3d3f
Fix argument types of dvariadic functions
2011-02-25 22:28:59 +03:00
Alexey Prokhin
12984d9cc7
Fix size of classes
2011-02-25 22:28:59 +03:00
Alexey Prokhin
b03babcab6
Fixes in X86_64 ABI
2011-02-25 22:28:45 +03:00
Moritz Warning
b752882184
merge from alexeys branch
2011-02-24 13:22:17 +01:00
Moritz Warning
8275ffeb98
Fix casting of associative arrays; thanks to alexey
2011-02-24 13:08:36 +01:00
Moritz Warning
fb418bf2e6
Added -disable-red-zone flag.
...
This will disable the usage of the 'red-zone' in ABIs that make use of it (like x86). This mimics the exact flag used by clang. It is comparable to the -mno-red-zone flag in gcc. - thanks to wilkie
2011-02-23 23:50:53 +01:00
Alexey Prokhin
e921998d75
A few fixes for 64bit
2011-02-23 12:49:57 +03:00
Alexey Prokhin
aa5dfdfd4d
Fix casting of associative arrays
2011-02-20 19:00:54 +03:00
Alexey Prokhin
f0a183f0e8
Fix a crash when compiling a file which contains an immutable class declaration
2011-02-20 19:00:53 +03:00
Alexey Prokhin
b0d97b139a
It is probably wrong, but it fixes compilation of phobos with -g flag
2011-02-20 19:00:48 +03:00
Alexey Prokhin
6d89bfa961
Use _d_assocarrayliteralTX to initialize associative arrays. Replace depricated _d_arrayappendcT() by _d_arrayappendcTX(). Make sure that a l-value of a binassign expressions is only evaluated once (reapllied 1784 but only for D2)
2011-02-20 19:00:45 +03:00
Moritz Warning
89aeb05042
apply fixed debug info fix, see #452 ; thanks to sokol
2011-01-14 14:38:38 +01:00
Moritz Warning
ec2ea65977
revert 1784
2011-01-11 03:20:35 +01:00
Moritz Warning
9ca6717b5b
revert 1826
2011-01-11 03:15:40 +01:00
Moritz Warning
f48f98c474
another ldc2 merge
2011-01-10 19:45:00 +01:00
Alexey Prokhin
38fe715638
Work on debug
2011-01-08 18:00:04 +03:00
Alexey Prokhin
553d5518b3
Implemented casting of a global variable to a pointer in an initializer. Implemented adding to a pointer in an initializer
2011-01-08 13:01:54 +03:00
Alexey Prokhin
e01aed4327
Fixed passing of static arrays into functions.
...
This patch finally do what commit 99ee6091cc5e supposed to do...
2011-01-07 09:46:46 +03:00
Alexey Prokhin
54e3121ad9
Reverted "Fixed passing of structs and static arrays into functions."
2011-01-06 20:06:27 +03:00