David Nadlinger
a8ae435c69
Remove bogous DtoMemCpy assertion.
...
DtoMemCpy is called with identical pointer arguments in
some legal cases.
2013-06-07 02:23:00 +02:00
David Nadlinger
25522ea8b0
Merge branch 'release-0.11.0'.
...
Conflicts:
cmake/Modules/FindLLVM.cmake
runtime/phobos
2013-06-05 17:50:16 +02:00
David Nadlinger
c41ef6b95e
Fold in MinGW Phobos test update.
2013-06-05 17:46:40 +02:00
David Nadlinger
5423a90c25
Search LLVM_ROOT_DIR before system directories.
2013-06-05 17:11:08 +02:00
David Nadlinger
47a1815892
Try llvm-config binaries with version suffix.
...
This allows us to pick up the newest available version on
several common Debian derivatives.
[Cherry-picked 2b4f49b4e from master.]
2013-06-05 17:11:05 +02:00
David Nadlinger
89f9c239fa
Merge branch 'release-0.11.0'
2013-06-04 16:50:08 +02:00
David Nadlinger
b2bacba7f4
Correct wiki URL in debug info.
...
The wiki is not available using SSL; thanks to Kai for noticing
this.
2013-06-04 16:46:15 +02:00
David Nadlinger
e84b2692b1
Fold in missed MinGW math bug fix.
2013-06-04 16:45:04 +02:00
David Nadlinger
3b38d34698
Fix up botched merge in 005f993.
2013-06-02 22:02:09 +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
98e8c37bf5
Merge pull request #379 from klickverbot/initializer-type-mismatch
...
Fix initializer type mismatch crash
2013-06-02 12:44:02 -07: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
c89d4809d6
Be more lenient with initializer type mismatch; zext as necessary.
...
The integer initializer width mismatch issue should really be
fixed in the frontend, but is related to forward referencing
and thus hard to track down.
Also fixes an unlisted regression since the 2.061 merge, where
there would be a const(char*) vs. immutable(char*) mismatch
reported for some string constants.
GitHub: Fixes #378 .
2013-06-02 21:05:33 +02:00
David Nadlinger
ae48a19251
Refactoring-only part of DtoConstExpInit fix.
2013-06-02 21:05:33 +02:00
David Nadlinger
d9ce9ce67b
Removed TODO-riddled DtoInitializer only used in DtoVarDeclaration.
2013-06-02 21:05:33 +02:00
David Nadlinger
0a7eec400f
Removed dead global initializer code.
2013-06-02 21:05:33 +02:00
David Nadlinger
feeb5e95cc
Merge tag 'v0.11.0-beta1' into release-0.11.0
...
The merge of the MinGW Port updates accidentally didn't make
it into the GitHub version of the release branch, even though
the tag was correct.
2013-06-01 13:53:47 +02:00
David Nadlinger
b84fd60f6d
Merge pull request #377 from klickverbot/minimize-dmd-diff
...
Pick some low-hanging DMD-diff reduction fruit
2013-06-01 03:56:03 -07:00
David Nadlinger
9dd573d96d
Remove what seems to be an ancient LLVM-only issue 314 fix.
2013-05-31 22:42:21 +02:00
David Nadlinger
c0a5145829
Remove DMDV2 to align with 2.062 upstream source.
2013-05-31 22:42:21 +02:00
David Nadlinger
1b4f0c5d4a
Remove LDC-only workaround for 2206.
...
The bug has been fixed in upstream at least since 2.052.
2013-05-31 22:42:21 +02:00
David Nadlinger
7e7af8c920
Prefer Port over #if-switching on the compiler.
...
The issue might have to be revisited (with proper testing)
for FreeBSD or ARM.
2013-05-31 22:42:21 +02:00
David Nadlinger
ca3cd82805
Removed obsolete html.{h, c}.
...
Gone from upstream in 2.062 as well.
2013-05-31 22:42:21 +02:00
David Nadlinger
54696e3d3c
Reflect the LLVM 3.1+ requirement in the CMake build system.
2013-05-31 22:33:21 +02:00
David Nadlinger
2b4f49b4e7
Try llvm-config binaries with version suffix.
...
This allows us to pick up the newest available version on
several common Debian derivatives.
GitHub: Fixes #376 .
2013-05-31 22:31:38 +02:00
David Nadlinger
b9722d6671
Merge branch 'release-0.11.0'.
...
GitHub: Closes #375 .
2013-05-31 22:22:50 +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
759f47f6bf
Merge pull request #374 from klickverbot/remove-3.0
...
Remove LLVM 3.0 support
2013-05-31 12:09:44 -07:00
David Nadlinger
3f358ac57b
Removed LLVM support from druntime as well.
2013-05-31 20:48:38 +02: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
David Nadlinger
84a00b3fe9
Stop running Travis tests using LLVM 3.0.
...
Sets the stage for removal of 3.0 support.
2013-05-31 20:48:38 +02:00
David Nadlinger
f538dfc47f
Merge branch 'klickverbot/shorten-readme' into release-0.11.0.
2013-05-31 20:00:46 +02:00
David Nadlinger
60bb550254
Merge pull request #369 from klickverbot/shorten-readme
...
Shorten readme
2013-05-31 08:53:36 -07:00
David Nadlinger
abfa498efb
Merge pull request #370 from Uhlisys/master
...
Correct LDC Specific C++11 Violation
2013-05-31 08:42:14 -07:00
David Nadlinger
35b91f4e98
Merge pull request #371 from redstar/release-0.11.0
...
Change version number for release
2013-05-30 07:59:05 -07:00
David Nadlinger
fa7ad4cbc7
Merged in MinGW port updates.
...
This has been submitted to upstream DMD as GitHub pull
request #2086 , but didn't make it in time for 2.063.
2013-05-29 22:19:13 +02:00
David Nadlinger
798a8e7822
MinGW: Fixed long double formatting.
2013-05-29 22:18:55 +02:00
David Nadlinger
0b5989c51a
MinGW: Use actually working strtold.
...
Like their whole runtime in general, the MSVC version does
not handle 80 bit reals/long doubles.
2013-05-29 22:18:42 +02:00
David Nadlinger
bf4df5fcc4
Remove unnecessary #undefs in Port header.
...
The Port function names are actually camel-cased and
as such do not collide with the math macros, and undefining
the names in the header is just annoying on platforms where
you want to use the system macros in the implementation.
2013-05-29 22:18:27 +02:00
David Nadlinger
7ab407da38
Separate out MinGW Port implementation.
...
This explicit style is generally preferred in DMD for platform-
specific code, and makes sense here as long doubles are tricky
on MinGW.
2013-05-29 22:18:16 +02:00
David Nadlinger
39313e7735
Ugly workaround for broken asm support in older CMake versions.
...
The only justification for this is the fact that we need it
to work for the release process.
2013-05-27 20:06:51 +02:00
David Nadlinger
00c073819f
Avoid setting C compiler flags on threadasm.S.
2013-05-27 19:00:55 +02:00
David Nadlinger
9c4d6e2c5a
*LLVM-based* D compiler.
2013-05-27 16:37:23 +02:00
David Nadlinger
a4a975df6c
Rewrap to 70 characters.
2013-05-21 00:03:58 +02:00
David Nadlinger
6fcfa2db54
Removed brief build instructions.
2013-05-21 00:03:03 +02:00
David Nadlinger
6e57b6c213
Merge pull request #361 from klickverbot/osx
...
PIC by default on OS X; cleanups.
2013-05-19 15:33:11 -07:00
David Nadlinger
d402cd382e
Always add 'uwtable' attribute on x86_64.
...
This is what Clang does, and omitting it could lead to problems
w.r.t. the System V ABI. Doesn't seem to have caused any issues
so far, though.
2013-05-19 21:47:15 +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
David Nadlinger
4597423dc5
More IN_LLVM.
2013-05-19 20:52:51 +02:00
David Nadlinger
4ad1b94f11
Remove piece of dead code gone from upstream as well.
...
We do not support building with DMC anyway, so no
functionality change implied.
2013-05-19 20:52:42 +02:00
David Nadlinger
ad4eb1b6bd
Align unused real alignment code to upstream source.
...
We set the target-specific values at runtime in Type::init().
2013-05-19 20:52:42 +02:00
David Nadlinger
8123c1c7b9
Pull in hack to reduce GC root ranges on Linux.
...
GitHub: #233 .
2013-05-19 20:52:26 +02:00
David Nadlinger
8d0749c394
Merge pull request #360 from klickverbot/union-initializer
...
Unify struct initializer codegen, fix it for unions
2013-05-19 11:49:55 -07:00
David Nadlinger
87c8a96545
Check initializer type size in IrStruct::getDefaultInit().
2013-05-19 20:25:16 +02:00
David Nadlinger
1fed92b9b7
VarExp::toElem refactoring and global size assertion.
...
Frontend errors shouldn't be used for glue layer consistency
checks – maybe the error was actually hit in ancient versions.
2013-05-19 20:25:16 +02:00
David Nadlinger
41e580a79f
Get rid of now-obsolete DtoConstInitializerType.
2013-05-19 20:25:16 +02:00
David Nadlinger
eef05ba019
Do not try to guess exact initializer type.
...
This might have been required with the old (pre-3.0) LLVM
type system, but the module linker handles global type
resolution just fine now.
Also, it is virtually impossible to determine the type in
advance for some cases, e.g. an array of unions with an
initializer that contains pointers to the array itself.
2013-05-19 20:25:11 +02:00
David Nadlinger
f8f405000b
Avoid confusing naming convention.
...
We generally do not really use underscore prefixes. But if
they are used in other codebases, they typically refer to
member variables.
2013-05-18 19:51:37 +02:00
David Nadlinger
7b435c2c87
Unify handling of struct initializers.
...
GitHub: Fixes #351 .
2013-05-18 19:51:37 +02:00
David Nadlinger
b577d1cf0b
Handle different element initializer types in array literals.
2013-05-18 16:46:57 +02:00
David Nadlinger
b49cbeaaf1
Factored out struct initializer constant generation.
2013-05-17 01:02:02 +02:00
David Nadlinger
beed5c3044
Get rid of empty IrBase class.
...
It isn't useful in any way now that the GC is out of the
picture, and the existance of a "dummy" toChars() method is
annoying when debugging.
2013-05-15 20:28:53 +02:00
David Nadlinger
f57eac796f
Expand on IrType::get rationale.
2013-05-15 20:19:44 +02:00
David Nadlinger
b3dbf9cd9c
Merge pull request #349 from klickverbot/fix-moduleinfo
...
Fixed ModuleInfo module name emission
2013-05-12 05:21:08 -07:00
David Nadlinger
7048c69d51
Merge pull request #350 from klickverbot/oss-response-expand
...
Replaced response_expand with BSD-licensed reimplementation.
2013-05-12 05:01:14 -07: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
b2ca861f64
Fixed ModuleInfo module name emission.
...
The name string is actually emitted inline, not as a pointer
to a global.
GitHub: Fixes #243 .
2013-05-12 01:25:48 +02:00
David Nadlinger
e1501c712f
Moved constant array creation helper to llvmhelpers.h.
2013-05-12 01:25:12 +02:00
David Nadlinger
ad03a435ad
Remove code for emitting the old ModuleInfo layout.
2013-05-12 00:47:49 +02:00
David Nadlinger
b2da152704
Remove D1 ModuleInfo remnants.
2013-05-12 00:39:15 +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
7500673395
Merge pull request #348 from klickverbot/fix-eh
...
Update catch landingpad codegen to match latest druntime change.
2013-05-11 14:56:04 -07:00
David Nadlinger
f894a7809c
Update catch landingpad codegen to match latest druntime change.
2013-05-11 23:29:39 +02:00
David Nadlinger
7fe8406ec2
Merge in test cases for GitHub issue #340 .
2013-05-11 22:03:08 +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
17ef7f7d09
Merge pull request #345 from klickverbot/template-function-label
...
Fix inline asm labels in template functions.
2013-05-11 12:24:30 -07:00
David Nadlinger
b5dd0e07f2
Merge pull request #344 from klickverbot/float-abi
...
Added -float-abi and auto-detection logic for ARM.
2013-05-11 12:17:19 -07: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
5742a0219c
Fix inline asm labels in template functions.
...
This is a giant kludge to avoid a redesign of the inline asm
handling code. I'd be glad if somebody came up with a better
solution.
GitHub: Fixes #340 .
2013-05-11 21:01:24 +02:00
David Nadlinger
15fd67be03
Remove code for unimplemented goto-into-asm check.
...
The check was never fully implemented. We need to look into
this again, as currently we fail with a fairly unintellegible
LLVM ICE (added as GitHub #).
2013-05-11 20:18:34 +02:00
David Nadlinger
8b9deecf34
Remove dead code.
2013-05-11 20:12:25 +02:00
David Nadlinger
d15a3bacac
Minor cleanup.
2013-05-11 18:43:41 +02:00
David Nadlinger
2fb8d6d51b
callWithStackShell for ARM.
2013-05-10 01:52:14 +02:00
David Nadlinger
a792ecbaf2
Fix function attribute handling on LLVM 3.3+.
...
The issue was that when merging in the old attributes, attrs
wasn't assigned to, thus silently dropping all of them
(leading e.g. to noinline being omitted on functions containing
inline asm).
The new code hopefully also makes the intent clearer.
2013-05-09 22:57:33 +02:00
David Nadlinger
10f5d74737
Fix uninitialized vars in EnumDeclaration
...
'protection' and 'parent' are used in ScopeDSymbol::search
detected by Valgrind). The assignment in semantic0 is enough to
fix the bug, but I also added an initialization to the constructor.
This is a backport of DMD commit 4dfaf02d4d by Don Clugston.
2013-05-09 22:33:08 +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
fa729c2faa
Backported fix for broken test case.
2013-05-09 17:46:53 +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
David Nadlinger
b86b62835a
Merge pull request #335 from klickverbot/avoid-unnecessary-memset
...
Avoid unnecessary memset when allocating array literals.
2013-05-04 13:24:55 -07:00
David Nadlinger
0a376b9c71
Avoid unnecessary memset when allocating array literals.
...
This completes the merge of pull request #294 . Thanks a lot to
Chris Holdsworth who originally wrote the patch!
GitHub: Fixes #294 .
GitHub: Fixes #141 .
2013-05-04 21:20:09 +02:00
David Nadlinger
f2662c3660
Merge pull request #333 from ldc-developers/vector-init-fix
...
Fixed vector global initialization for > 1 byte elements.
2013-05-04 00:07:38 -07:00
David Nadlinger
2bf0789364
Fixed vector global initialization for > 1 byte elements.
2013-05-04 06:29:34 +02:00
David Nadlinger
c9a2e534fb
OS X build fix.
...
Thanks to Timothee Cour for reporting the issue.
2013-05-02 19:55:57 +02:00
David Nadlinger
ac30741e2d
Merge pull request #325 from John-Colvin/patch-1
...
typo
2013-04-08 15:09:10 -07:00
David Nadlinger
5e598af541
Merge remote-tracking branch 'redstar/issue133'.
2013-04-02 17:01:45 +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