kai
5a9336bf25
Fix another attribute problem with LLVM 3.3.
2013-03-03 15:10:33 +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
David Nadlinger
d13a997bd0
Added back NULL returns accidentally removed in 8ff3a8060.
...
No functionality change, as the return value wasn't used
anywhere.
2013-02-08 16:37:52 +01:00
David Nadlinger
8c2c8a9a14
Merge pull request #283 from klickverbot/master
...
Cleanup.
2013-02-07 13:10:09 -08:00
David Nadlinger
0a96aea868
Sort includes according to style guidelines:
...
1. Main include corresponding to .cpp file, if any.
2. DMD and LDC includes.
3. LLVM includes.
4. System includes.
Also updated a few include guards to match the default format.
2013-02-07 21:20:55 +01:00
David Nadlinger
5616753768
Consistently use quotes for LLVM includes.
2013-02-07 21:20:54 +01:00
David Nadlinger
6de735de31
Small cleanup.
2013-02-07 21:20:54 +01:00
David Nadlinger
d4b391249d
Removed redundant global.params.os field.
...
I hope I have untangled the checks for "native" Windows (Triple::Win32)
vs. Windows/MinGW/Cygwin (Triple::isOSWindows) correctly.
MinGW needs some default libraries as well, has to be fixed later.
2013-02-07 21:20:54 +01:00
David Nadlinger
4e02f41f31
Factored out output name determination logic.
2013-02-07 17:36:55 +01:00
David Nadlinger
5f3ba41574
Removed redundant global.params.cpu field.
...
Now that we have global.params.targetTriple, the information
is only duplicated.
2013-02-07 17:36:54 +01:00
David Nadlinger
bee0b9eba1
Remove global.params.isLE.
2013-02-07 14:37:21 +01:00
David Nadlinger
8ff3a8060a
Use llvm_unreachable instead of assert(0).
...
Also removed some unused functions.
2013-02-07 03:38:15 +01:00