David Nadlinger
b20ba76677
Merge pull request #500 from klickverbot/ldmd-valgrind
...
LDMD: Avoid unitialized data.
2013-10-09 11:50:50 -07:00
David Nadlinger
18fbc20c0e
Merge pull request #498 from klickverbot/cmake-version-tag
...
Prefer named tags to Git revision hashes for LDC verison.
2013-10-09 11:50:32 -07:00
David Nadlinger
1c36a35009
Merge pull request #499 from klickverbot/travis
...
Travis CI fixes
2013-10-09 11:50:14 -07:00
David Nadlinger
a2a3e400c9
LDMD: Avoid unitialized data.
...
Found using Valgrind.
2013-10-09 19:50:28 +02:00
David Nadlinger
0ade0d6404
Travis: Use Launchpad PPA for LLVM 3.3; the llvm.org repo no longer has it.
2013-10-09 19:39:26 +02:00
David Nadlinger
d80325170e
Travis: Avoid running testsuite when build didn't succeed.
2013-10-09 19:30:35 +02:00
David Nadlinger
f9e141a006
Prefer named tags to Git revision hashes for LDC verison.
...
This allows for building of release packages without
manually overriding the version string.
The --tag argument is needed to pick up un-annotated tags
as well.
2013-10-09 16:05:29 +02:00
kai
e440bb04ed
Add Linux/ARM druntime changes
2013-10-09 13:00:08 +02:00
kai
4e49ea94de
Merge branch 'master' of https://github.com/ldc-developers/ldc
2013-10-09 12:44:11 +02:00
kai
3e0d2be503
Revert my last commit
2013-10-09 08:10:28 +02:00
kai
fd430f26ce
Add druntime changes for MinGW
2013-10-09 07:54:54 +02:00
David Nadlinger
c5d4897872
Merge pull request #494 from ldc-developers/unnamed-addr
...
unnamed_addr for immutable array literals
2013-10-08 21:54:03 -07:00
David Nadlinger
4987894468
Also make storage for immutable array const initializers constant/unnamed_addr.
2013-10-09 05:32:41 +02:00
David Nadlinger
498b7cfc2e
Merge pull request #493 from klickverbot/sarray-init
...
Avoid allocating array literals on initialization
2013-10-08 20:26:14 -07:00
David Nadlinger
47e212178e
Emit array literals as unnamed_addr.
...
There is really no reason not to.
2013-10-09 04:34:32 +02:00
David Nadlinger
26e3cc8a40
Never emit long array literals as inline constant.
...
Also cleaned up rest of the code a bit.
The LLVM 3.1 problem was already fixed before by not doing
anything on zero-element arrays anyway.
2013-10-09 04:27:41 +02:00
David Nadlinger
0cdb74aae7
Do not heap-allocate immutable array literals.
2013-10-09 04:07:46 +02:00
David Nadlinger
60cdf58168
Combine ArrayLiteralExp::toConstElem and initializeArrayLiteral implementations.
2013-10-09 04:07:46 +02:00
David Nadlinger
eb3261f93c
Do not GC-allocate temporary for static array initialization.
2013-10-09 01:51:45 +02:00
David Nadlinger
9866e5a14f
Comment typo fix.
2013-10-09 01:51:45 +02:00
David Nadlinger
44f60199ad
Factored actual literal building code out of ArrayLiteralExp::toElem.
2013-10-09 01:51:45 +02:00
David Nadlinger
d51d05c52e
Merge pull request #491 from klickverbot/ldmd-3.4
...
Fix prependMainExecutablePath for LLVM 3.4.
2013-10-08 09:33:23 -07:00
David Nadlinger
7b8a85a8df
Fix prependMainExecutablePath for LLVM 3.4.
2013-10-08 17:56:10 +02:00
kai
7226f005b7
Fix Windows build with MSVC.
2013-10-07 18:10:53 +02:00
David Nadlinger
5dc02c0f74
Merge pull request #488 from klickverbot/arm
...
Phobos "Hello World" compiles now on ARM.
No EH support yet.
2013-10-06 12:01:25 -07:00
David Nadlinger
e4fee1116a
ARM: Use -arm-enable-ehabi(-descriptors).
...
D exception handling does not work at all yet, but with these
flags it does for C++/Clang, at least in simple cases.
2013-10-06 20:15:28 +02:00
David Nadlinger
aba1b82539
Finally fix LLVM 3.1 compilation.
2013-10-06 19:26:58 +02:00
David Nadlinger
445b743ba5
Implement lookupTarget() with arch override for LLVM 3.1.
...
To be removed again once we drop 3.1 support.
2013-10-06 19:12:36 +02:00
David Nadlinger
250f7fab27
ARM: Fold in druntime fixes.
2013-10-06 14:54:02 +02:00
David Nadlinger
1d7943bc7e
Simplify FindLibconfig++ using find_package_handle_standard_args features.
2013-10-06 07:39:12 +02:00
David Nadlinger
422715fc89
Add -float-abi switch and auto-detection for ARM.
...
This is based on the implementation that was reverted in
fc8e0c4c20
.
2013-10-06 07:39:12 +02:00
David Nadlinger
49697a8bc2
if chain -> switch.
2013-10-06 07:39:12 +02:00
David Nadlinger
1335e26c45
Log/error message prettification.
2013-10-06 07:37:03 +02:00
David Nadlinger
359f6c585a
CPU detection for ARM.
...
This is not perfect yet, as lookupTarget wipes out any more
specific arch info (e.g. armv8) the triple might have.
2013-10-06 07:36:59 +02:00
David Nadlinger
5900d6845e
Merge pull request #487 from klickverbot/targetmachine
...
driver/target -> driver/targetmachine and main() cleanup
2013-10-05 17:40:11 -07:00
David Nadlinger
e9e4e10085
Auto-detect target attributes for -mcpu=native.
...
This is currently only implemented for ARM in LLVM.
2013-10-06 02:38:50 +02:00
David Nadlinger
e57d0458fb
getX86TargetCPU cleanup.
2013-10-06 01:48:21 +02:00
David Nadlinger
d17aa2aaac
Disentangle -march and -mcpu.
...
-mcpu=native now actually works.
GitHub: Fixes #414 .
2013-10-06 01:48:12 +02:00
David Nadlinger
02abf028f8
Don't require -triple when using -march.
...
There is really no reason we should, and I couldn't find out
why that check was added back in 2009.
Also cleaned up the code a bit now that the LLVM 3.0 branches
are gone.
2013-10-06 01:35:20 +02:00
David Nadlinger
639bc0ab71
Removed a few fatal() calls in argument parsing code.
...
global.errors is checked immediately after return anyway.
2013-10-06 01:33:29 +02:00
David Nadlinger
b2b56203a9
Use llvm::Triple::isArch64Bit (LLVM 3.1+).
2013-10-06 01:33:29 +02:00
David Nadlinger
b94ed4092e
De-ancient-C-ification, spelled out EXIT_SUCCESS.
2013-10-06 01:33:29 +02:00
David Nadlinger
7e74f65b32
Also factored out argument parsing to separate function.
...
The code is still messy, but we have to start somewhere...
2013-10-06 01:33:28 +02:00
David Nadlinger
cc11af3473
Factored predefined version handling code out of main().
2013-10-06 01:33:28 +02:00
David Nadlinger
71c67457c3
Cleanup: Kill backend_init/term.
2013-10-06 01:33:28 +02:00
David Nadlinger
177b892bf0
Cleanup: We don't support DMC.
2013-10-06 01:33:28 +02:00
David Nadlinger
68c272d6d9
Renamed driver/target to .../targetmachine to avoid confusion with the frontend file.
2013-10-06 01:33:28 +02:00
David Nadlinger
c5643219d4
Merge pull request #486 from klickverbot/dmd-diff
...
Low-hanging DMD diff reduction fruit
2013-10-05 15:43:17 -07:00
David Nadlinger
b6a73fbd65
More trivial diff reduction now that #484 is in.
2013-10-05 22:04:54 +02:00
David Nadlinger
ee7fe16e40
Low-hanging DMD diff reduction fruit.
...
The trailing whitespace isn't pretty, but removes the
files completly from the diff.
2013-10-05 21:19:35 +02:00