Commit graph

3545 commits

Author SHA1 Message Date
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