Commit Graph

2830 Commits

Author SHA1 Message Date
David Nadlinger
525a86f89d Merge getStackTop() x86 fix. 2013-03-11 23:18:41 +01:00
David Nadlinger
1ca562db7e README: We no longer support D1. 2013-03-11 23:04:19 +01:00
David Nadlinger
480d668ec9 Travis: Print "ldc2 -version" output after build is complete.
This is useful as it contains the host arch, ...
2013-03-11 23:04:19 +01:00
David Nadlinger
f9583f372c Merge pull request #310 from redstar/noinline
Add new intrinsic LDC_no_inline.
2013-03-11 14:58:20 -07:00
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
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
David Nadlinger
a303622074 Allow casting AAs to void*.
GitHub: Fixes #302.
2013-03-07 23:18:08 +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
David Nadlinger
f85ed37cf1 Revert "Use CMake-detected make program."
CMAKE_MAKE_PROGRAM isn't always (GNU) make, but refers to the
"make" equivalent of the target generator, for example the
"ninja" executable if the Ninja generator is used.

Using find_program or something similar would probably still
be a good idea.

This reverts commit 5a6176316a.
2013-02-13 16:04:01 +01:00
David Nadlinger
8bda7ff0c8 MinGW LLVM compiler flag fixes.
Our CMake code should be rewritten to not expect things as strings
that really aren't, but this would entail a whole lot of cross-
platform testing, so I'm postponing it for now.
2013-02-13 16:00:08 +01:00
David Nadlinger
19dcb7710e DW2 EH for MinGW. 2013-02-13 00:07:56 +01:00
David Nadlinger
6449d5dea2 Fix MinGW names for naked functions. 2013-02-13 00:07:55 +01:00
David Nadlinger
8fd3eda728 Use the system assembler on MinGW.
MC does not support writing out the exception handling tables
to COFF files yet.
2013-02-13 00:07:55 +01:00
David Nadlinger
ccffe99b8a Minor cleanup (avoid forward decl). 2013-02-13 00:07:54 +01:00
David Nadlinger
f417500abc MinGW compilation fixes. 2013-02-13 00:07:53 +01:00
David Nadlinger
3662b06a88 Remove unused variable. 2013-02-13 00:07:52 +01:00
David Nadlinger
539f7bba82 Also force -fno-rtti on MinGW. 2013-02-13 00:07:51 +01:00
David Nadlinger
ad53d9e558 MinGW support in Port. 2013-02-13 00:07:50 +01:00
David Nadlinger
e7bbacadb7 Removed useless -quiet switch. 2013-02-13 00:07:49 +01:00
David Nadlinger
243083b88c Factored out tool invocation code into separate file. 2013-02-13 00:07:48 +01:00
David Nadlinger
8b71c78571 Minor code cleanup.
No functionality change intended.
2013-02-11 08:25:30 +01:00
Sebastian Graf
673a974260 Un-unroll static array,
[David Nadlinger] Note that DtoStructLiteralValues was/is used
only once across the codebase.
2013-02-11 04:20:59 +01:00
Sebastian Graf
5ae17a59e4 Fixed broken static struct member initializer 2013-02-11 04:20:59 +01:00