Factored actual literal building code out of ArrayLiteralExp::toElem.
Comment typo fix.
Do not GC-allocate temporary for static array initialization.
Combine ArrayLiteralExp::toConstElem and initializeArrayLiteral implementations.
Do not heap-allocate immutable array literals.
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.
Emit array literals as unnamed_addr.

There is really no reason not to.
Merge pull request #493 from klickverbot/sarray-init

Avoid allocating array literals on initialization
Also make storage for immutable array const initializers constant/unnamed_addr.
Merge pull request #494 from ldc-developers/unnamed-addr

unnamed_addr for immutable array literals
Add druntime changes for MinGW
Revert my last commit
Merge branch 'master' of https://github.com/ldc-developers/ldc
Add Linux/ARM druntime changes
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.
Travis: Avoid running testsuite when build didn't succeed.
Travis: Use Launchpad PPA for LLVM 3.3; the llvm.org repo no longer has it.
LDMD: Avoid unitialized data.

Found using Valgrind.
Merge pull request #499 from klickverbot/travis

Travis CI fixes
Merge pull request #498 from klickverbot/cmake-version-tag

Prefer named tags to Git revision hashes for LDC verison.