Mark string constants as `unnamed_addr`
global.params.useAvailableExternally -> global.inExtraInliningSemantic.

This will hopefully make the associated code a bit easier
to read.
Merge remote-tracking branch 'redstar/issue133'.
typo
Merge pull request #325 from John-Colvin/patch-1

typo
Wrap LDC specific code in #if IN_LLVM blocks.

Only for ForeachStatement as I have to investigate the code here.
Fix for issue #326.

For a foreach (int i, dchar c; str) loop the compiler generates a
delegate with a different type signature then the runtime uses.
The runtime declares the parameters as void* and passes a pointer
to a size_t variable for the index. The code generated by the
compiler expects a ref int. This works on a little endian architecture,
but on a big endian architecture the index is always 0.
This fix changes the parameter type of the passed index to size_t
and generates a cast to the type specified by the user.
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.
Fix linking issue with std.math.yl2x (issue #305).
Add changes to druntime and phobos.
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.
Fix endian issue in dmd2/mtype.c.

The initial value for floats was 0 and not NaN due to an endian issue.
This was discovered by a test in object_.d.
OS X build fix.

Thanks to Timothee Cour for reporting the issue.
Fixed vector global initialization for > 1 byte elements.
Merge pull request #333 from ldc-developers/vector-init-fix

Fixed vector global initialization for > 1 byte elements.
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.
Merge pull request #335 from klickverbot/avoid-unnecessary-memset

Avoid unnecessary memset when allocating array literals.
Add support for new parameter attribute `returned`.

Starting with LLVM 3.3 a new parameter attribute `returned` is supported.
The attribute states that the parameter is the return value, too. This is the
case in constructors. (Destructors and postblits do not return `this`.)
Attribute `returned` is now added to the `this` parameter of constructors.
Fix LLVM 3.3 build error.

llvm/Linker.h was changed. This commit reflects the new logic.
Rewrite the llvm::Linker fix for LLVM 3.3.

The previous commit changed the behaviour a bit. This solution should have an identical result.