David Nadlinger
bed6243481
LDC does not support -transition yet.
2013-06-15 22:57:57 +02:00
kai
f1c71e4bac
Make ldc compatible with LLVM 3.4
...
Development of LLVM 3.4 started with a cleanup of the path class (PathV1).
The changes here let ldc compile at least with rev. 184039 of LLVM.
2013-06-15 19:52:29 +02:00
kai
9f921b25d9
Make ldmd compatible with LLVM 3.4
...
Development of LLVM 3.4 started with a cleanup of the path class (PathV1).
The changes here let ldmd compile at least with rev. 184039 of LLVM.
2013-06-15 19:13:45 +02:00
David Nadlinger
fd3c696d94
Call Expression::init() during startup.
...
Was added in 2.063.
2013-06-12 20:16:37 +02:00
David Nadlinger
292caa1438
Merge the 2.063 frontend.
2013-06-12 20:16:37 +02:00
David Nadlinger
b2f2afad29
LDMD: Made error message on compiler execution error clearer.
...
It is also triggered when the compiler exits with a signal, etc.
2013-06-07 03:20:32 +02:00
David Nadlinger
005f993982
Merge branch 'release-0.11.0'.
...
Conflicts:
gen/llvmhelpers.cpp
2013-06-02 21:53:41 +02:00
David Nadlinger
ec59399e21
Change all URLs to point to wiki.dlang.org for the time being.
2013-06-02 21:27:02 +02:00
David Nadlinger
2617db0395
Merge pull request #346 from klickverbot/m32m64
...
Only specify -m32/-m64 for archs where the variants exist.
2013-05-31 12:10:49 -07:00
David Nadlinger
c02b38fe9a
Removed LLVM 3.0 compatibility code.
...
There might be still some pieces left here and there, and
there is certainly code that could be rewritten in a nicer
way with the 3.0 requirement out of the picture.
2013-05-31 20:48:38 +02:00
Hans W. Uhlig
4f6204f191
Adding Space to Literal
2013-05-28 17:38:09 -07:00
kai
4343965106
Use /LARGEADDRESSAWARE:NO only for debug builds with LLVM 3.4.
...
Most of the LLVM bugs regarding relocations are fixed now.
2013-05-24 16:07:25 +02:00
David Nadlinger
edbace8ae8
Default to PIC on OS X.
...
driver/target.h is due for a refactoring after the next
release is branched off.
2013-05-19 21:19:37 +02:00
kai
a31d704941
Add missing include for Windows
2013-05-13 18:47:59 +02:00
David Nadlinger
db270a9a94
Replaced response_expand with BSD-licensed reimplementation.
...
Cleanup to follow later.
GitHub: Fixes #267 .
2013-05-12 13:38:23 +02:00
David Nadlinger
fc8e0c4c20
Revert -float-abi implementation.
...
The new command line option conflicted with a builtin LLVM 3.0
one. The functionality will be added back in after the 0.11.0
release branch has been created.
This reverts commit 6a1bc70bd7 and
subsequent fixes.
2013-05-12 00:18:44 +02:00
David Nadlinger
23d82b9620
Only specify -m32/-m64 for archs where the variants exist.
2013-05-11 21:49:19 +02:00
David Nadlinger
8da8bdd209
LLVM pre-3.2 does not have llvm::Triple::Android.
...
Strangely enough, the Travis pull request status was
definitely green before I merged it in.
2013-05-11 21:44:05 +02:00
David Nadlinger
e37f0e0d35
Fix ARM default floating-point ABI.
...
It shouldn't really matter, as we probably aren't going to
support anything but AAPCS anytime soon.
2013-05-11 21:33:20 +02:00
David Nadlinger
6a1bc70bd7
Added -float-abi and auto-detection logic for ARM.
...
Even though this argument design conflates two separate concepts
(ABI and hardware/software implementation), I chose to go
with it since users are liekly know it from GCC and the
combination of softloat operations with hardfloat ABI makes
no sense.
I didn't implement it for old LLVM versions, as ARM EABI
exception handling requires LLVM 3.3+ anyway, without which
LDC would be useless anyway.
2013-05-11 21:07:54 +02:00
David Nadlinger
e5d6cf4dd8
Merge pull request #341 from klickverbot/default-target-cpu
...
Use generic target CPU by default
2013-05-09 13:16:02 -07:00
David Nadlinger
30bf4e121f
Do not optimize for host CPU by default.
...
GitHub: Fixes #323 .
2013-05-09 22:15:19 +02:00
David Nadlinger
251607a1df
LLVM 3.3+: Initialize TargetTransformInfo.
2013-05-09 19:51:57 +02:00
David Nadlinger
56e35e31a0
Factored out target creation logic to separate functions.
...
Care was taken to avoid dependencies on the host of
command line globals.
std::string should probably replaced by llvm::StringRef
in some places.
2013-05-09 17:27:35 +02:00
kai
51e1a6cb54
Replace hard-coded path with registry lookup on Windows.
...
A hard-coded path does not play nicely with a generic installer.
The installation path is now looked up in the registry with the
key SOFTWARE\\ldc-developers\\LDC\\<version>\\Path.
It is the responsibility of the installer to set this value.
2013-05-06 07:52:25 +02:00
kai
41bbc8fbf5
Rewrite the llvm::Linker fix for LLVM 3.3.
...
The previous commit changed the behaviour a bit. This solution should have an identical result.
2013-05-05 20:27:12 +02:00
kai
ebaa3f08b3
Fix LLVM 3.3 build error.
...
llvm/Linker.h was changed. This commit reflects the new logic.
2013-05-05 18:42:14 +02:00
kai
308919f371
Revert "Linker flag /LARGEADDRESSAWARE is not required with LLVM 3.3.".
...
There is still an issue left in LLVM. I need to investigate this further.
2013-04-20 14:07:30 +02:00
kai
d8aed3627e
Linker flag /LARGEADDRESSAWARE is not required with LLVM 3.3.
...
With a recent commit support for the missing relocations was added.
This change removes the flag from the linker command line.
2013-04-15 07:08:46 +02:00
David Nadlinger
b8cdfad8c0
global.params.useAvailableExternally -> global.inExtraInliningSemantic.
...
This will hopefully make the associated code a bit easier
to read.
2013-04-01 21:17:13 +02:00
kai
b13f3d3164
Merge branch 'master' into merge-2.062
...
Conflicts:
runtime/druntime
2013-03-24 19:39:39 +01:00
David Nadlinger
862ece3ca4
Fix -lib with fully specified output name and '-c'.
...
The whole output path handling code is in dire need of a
cleanup/rework.
2013-03-18 13:33:55 +01:00
David Nadlinger
bb5b60e591
Make '-O' equivalent to '-O3'.
...
I have seen it used several times in benchmarks comparing it
to 'gdc -O3' and 'dmd -O -inline' now, so people apparently
expect it to yield the highest available optimization level.
2013-03-17 02:09:54 +01:00
David Nadlinger
153caa9bf7
Print nice error message for wrong '-run' argument.
...
This fixes DMD test case 'diag6743'.
2013-03-16 14:02:01 +01:00
David Nadlinger
58908e044a
Removed DMD code remnants from driver/main.cpp.
2013-03-16 13:37:07 +01:00
David Nadlinger
32eb24eebf
Added '-Hkeep-all-bodies' switch.
...
The same behavior is triggered by the '-inline' switch for
DMD, but this doesn't quite translate to LDC.
2013-03-16 11:52:19 +01:00
David Nadlinger
74f92391c5
Merge branch 'master' into merge-2.062
...
Conflicts:
runtime/druntime
2013-03-11 22:14:27 +01:00
jaten
6f6c776e9c
initialize Params properly in constructor.
2013-03-11 00:38:43 -07:00
kai
d04864103e
Use the new Port::stricmp() method.
2013-03-08 06:53:12 +01:00
kai
bf52dbe389
Merge of DMD 2.062.
2013-03-06 18:18:56 +01:00
kai
aa4fe6a748
Remove DMDV1 and DMDV2.
2013-03-06 18:18:00 +01:00
kai
1e4a8fffc2
Remove DMDV1 and DMDV2.
2013-03-06 10:20:24 +01:00
David Nadlinger
92899dff96
Link in ws2_32 by default on MinGW.
2013-02-14 18:14:49 +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
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
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
6de735de31
Small cleanup.
2013-02-07 21:20:54 +01:00