Commit Graph
2821 Commits
Author SHA1 Message Date
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
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
sgraf812 db9edaf053 Fix #265: Use declared struct type in initexpr. 2013-02-11 04:20:59 +01:00
David Nadlinger c77a6341af Merge pull request #287 from kinke/master
Win64 ABI support
2013-02-10 14:30:22 -08:00
Martin 51b45675cc Support for Windows x64 ABI. 2013-02-10 22:08:35 +01:00
David Nadlinger 0d0608a309 Merge pull request #285 from klickverbot/old-llvm-opt
Reenable druntime optimizations on pre-3.2 LLVM versions.
2013-02-09 02:41:12 -08:00
David Nadlinger e507307b95 Reenable druntime optimizations on pre-3.2 LLVM versions. 2013-02-09 11:04:55 +01:00
David Nadlinger d49e1529ed Revert "Revert "Fix overly conservative inlining prediction".",
The previous failures were caused by the issue in
callWithStackShell(), which is fixed now.

This reverts commit 4a6444c320.
2013-02-09 10:42:52 +01:00
David Nadlinger 637239a5c7 Folded in callWithStackShell() fix. 2013-02-09 10:42:52 +01:00
David Nadlinger fa6612eb69 Proper merge of ldc-merge-2.061 druntime branch into main ldc branch. 2013-02-08 16:57:02 +01:00
David Nadlinger 70dedd14e2 Some more assert(false) -> llvm_unreachable. 2013-02-08 16:46:05 +01:00