David Nadlinger
d33bfb0d42
LLVM 3.1: Use -O1 instead of -O3 for std.exception tests.
2013-03-11 22:45:44 +01:00
kai
5854fbfeb1
Fix comments
2013-03-11 22:32:41 +01:00
kai
0b19b81ac9
Add new intrinsic LDC_never_inline.
...
LDC_never_inline is a complementary intrinsic to LDC_allow_inline.
It tells the LLVM optimizer to never inline a function. This can be
useful if inlining creates incorrect code.
A possible application is core.thread.getStackTop().
2013-03-11 22:32:40 +01:00
David Nadlinger
74f92391c5
Merge branch 'master' into merge-2.062
...
Conflicts:
runtime/druntime
2013-03-11 22:14:27 +01:00
David Nadlinger
8a4a2ea38e
Merge pull request #307 from glycerine/master
...
fix for issue 304
2013-03-11 13:42:58 -07:00
kai
4560b2c97d
Add new druntime code.
...
Changes in core/thread.d and rt/lifetime.d, mainly to support PPC64.
2013-03-11 21:02:06 +01:00
jaten
6f6c776e9c
initialize Params properly in constructor.
2013-03-11 00:38:43 -07:00
kai
52ba03b259
Fix deprecation messages for non-vendor pragmas.
...
The deprecation message for non-vendor pragmas was never shown.
Conflicts:
gen/pragma.cpp
2013-03-09 20:19:02 +01:00
kai
fba9e204d8
Add missing pragma and deprecation warning.
...
The LDC_allow_inline pragma is not recognized. The deprecation message for
non-vendor pragmas is missing.
2013-03-09 20:11:03 +01:00
kai
21563fa067
Fix LLVM 3.3 build.
...
Again, the stricmp define in llvm/config.h caused an error.
2013-03-09 19:23:33 +01:00
kai
d04864103e
Use the new Port::stricmp() method.
2013-03-08 06:53:12 +01:00
kai
8594ba346b
Merge remote-tracking branch 'origin/merge-2.062' into merge-2.062
2013-03-08 06:08:17 +01:00
kai
71171dbc24
Merge branch 'master' into merge-2.062
...
Conflicts:
gen/llvmhelpers.cpp
2013-03-08 06:07:34 +01:00
kai
9ea68545b7
Merged branch ldc update.
2013-03-08 06:05:47 +01:00
David Nadlinger
a303622074
Allow casting AAs to void*.
...
GitHub: Fixes #302 .
2013-03-07 23:18:08 +01:00
David Nadlinger
5f2e18ecae
core.atomic fix for 2.062.
2013-03-06 23:42:55 +01:00
David Nadlinger
f77fe89fed
Fold in 2.062 test suite.
2013-03-06 23:42:55 +01:00
kai
a00091a5fa
Change naked asm functions to accept enum declaration.
...
An enum defines constant values which can be used without trouble in
naked asm functions.
2013-03-06 20:23:46 +01:00
kai
e8814d0603
Merge of DMD 2.062.
2013-03-06 20:23:46 +01:00
kai
d5744346c6
Change naked asm functions to accept enum declaration.
...
An enum defines constant values which can be used without trouble in
naked asm functions.
2013-03-06 18:18:56 +01:00
kai
bf52dbe389
Merge of DMD 2.062.
2013-03-06 18:18:56 +01:00
David Nadlinger
0d908b45bb
Removed a few D1 leftovers.
2013-03-06 18:18:00 +01:00
kai
ecd9f14b0d
Remove SARRAYVALUE
2013-03-06 18:18:00 +01:00
kai
0fd586a818
Remove STRUCTTHISREF
2013-03-06 18:18:00 +01:00
kai
aa4fe6a748
Remove DMDV1 and DMDV2.
2013-03-06 18:18:00 +01:00
kai
32af000854
Simple part of removing D1
2013-03-06 18:18:00 +01:00
David Nadlinger
0b5e04580c
Removed a few D1 leftovers.
2013-03-06 16:46:32 +01:00
David Nadlinger
c8a54de074
Merge Kai's D1 removal commits.
2013-03-06 16:41:29 +01:00
kai
37558273c2
Remove SARRAYVALUE
2013-03-06 10:20:24 +01:00
kai
c3801d65f5
Remove STRUCTTHISREF
2013-03-06 10:20:24 +01:00
kai
1e4a8fffc2
Remove DMDV1 and DMDV2.
2013-03-06 10:20:24 +01:00
kai
10e7276058
Simple part of removing D1
2013-03-06 10:20:24 +01:00
David Nadlinger
10bc3fd52b
Merge pull request #298 from redstar/bitops
...
Fix big-endian code generation for btc, btr and bts.
2013-03-04 09:51:22 -08:00
kai
5a9336bf25
Fix another attribute problem with LLVM 3.3.
2013-03-03 15:10:33 +01:00
kai
1ab2204e0b
Fix big-endian code generation for btc, btr and bts.
...
These intrinsics operate on size_t words. The generated LLVM IR operates
on bytes and therefore assumes a little-endian architecture.
The fix is to change the generated IR to work on size_t words.
2013-03-02 19:30:34 +01:00
kai
820f6dbc7c
Fix deprecation messages for non-vendor pragmas.
...
The deprecation message for non-vendor pragmas was never shown.
2013-02-28 08:00:43 +01:00
kai
a7bed6c488
Fix prototypes from DMD2.
...
The prototypes for obj_includelib and obj_startaddress are DMD-specific.
Update them to match DMD 2.061.
2013-02-28 07:58:28 +01:00
kai
5c6ba2ec3b
Add missing pragma and deprecation warning.
...
The LDC_allow_inline pragma is not recognized. The deprecation message for
non-vendor pragmas is missing.
2013-02-28 06:58:45 +01:00
kai
72b04d6ef8
Fix LLVM 3.3 build.
...
llvm/CallingConv.h was moved to folder llvm/IR.
2013-02-28 06:56:18 +01:00
David Nadlinger
f28504db23
MinGW runtime and test suite updates.
2013-02-26 13:14:32 +01:00
David Nadlinger
6dc122b424
MinGW: Use __mingw_strtold instead of strtold.
...
The latter fails to parse hex floating point literals.
2013-02-26 13:14:32 +01:00
David Nadlinger
2d3de4a3d4
Fix ABI on Win32.
...
We can't simply use the C calling convention, as the D(MD)
ABI is callee-pop, and this is hardcoded in naked functions
with stack parameters.
The \1 "trick" is normally used to avoid prefixes added by
LLVM; on the 3.2 release, a patch is needed to make it work
for the @<n> stdcall suffixes as well.
2013-02-26 13:14:32 +01:00
David Nadlinger
e05a5c6f22
Fold in d_do_test Windows fixes.
2013-02-26 13:14:32 +01:00
David Nadlinger
d2f8c929d0
MinGW: pragma(lib,...) DMD compatibility hacks.
2013-02-26 13:14:32 +01:00
David Nadlinger
3392f70a4e
Move calling convention conversion into TargetABI.
...
The code is tightly coupled to TargetABI (the transformations
there only make sense knowing that the right CC is selected).
2013-02-26 00:20:45 +01:00
David Nadlinger
1a132d5d41
Integrate obj_includelib into its only caller.
2013-02-26 00:20:45 +01:00
kai
7fd4fc81c3
Fix LLVM 3.3 compile errors.
2013-02-25 21:18:10 +01:00
kai
4ec9fbc011
Small cleanup of gen/pragma.cpp
...
- Added locations to many error messages
- Fixed indentation
2013-02-25 20:32:35 +01:00
David Nadlinger
fcadfdf9e2
Various MinGW runtime fixes.
2013-02-15 00:45:24 +01:00
David Nadlinger
92899dff96
Link in ws2_32 by default on MinGW.
2013-02-14 18:14:49 +01:00