Fixes Issue 8041 - __gshared without initializer fails compilation.
Fixes Issue 4479 - Better error message when a module with a name different from its file name is imported via its file name.
Fixes Issue 4528 - Better diagnostic on non-virtual abstract method.
remove linker hacks

- OSX's 10.6 version of ld crashed when
  handling symbols in empty sections

- OSX's 10.5 linker had unknown issues
  with zero filled sections
  (also see Bugzilla 3502)

- we no longer rely on the order of sections
  and we no longer emit section frames either
  so all of these workarounds can go

- Gestalt was deprecated in the 10.8 SDK
we no longer depend on the OSX SDK
echo -n is not POSIX compliant

- man 1 echo on OSX recommend to use printf instead
Fixes Issue 9475 - Preserve code layout in unittest body when emitting ddoc.
Fixes Issue 9451 - Better diagnostic on unimplemented abstract methods.
Fixup Pull2452 to match interface and abstract function diagnostics.
Version out argsCppMangle
fix Issue 9650 - __traits(compiles) + mixin

I couldn't minimize test case, but the bug fix is obvious.

The bug had been hiding for a long time, but recent Phobos change (https://github.com/D-Programming-Language/phobos/commit/2a88fea7867f33fd1cf15c2dca7790a3c8aea474) had exposed the bug.

When a mixin expression gets invalid code string, the parsing error had not handled correctly. In such case, it had generated *invalid* AST instead of returning ErrorExp. I guess that the invalid AST would report weird error in later semantic analysis.

I think that both CompileDeclaration and CompileStatement do not have same problem. So they are not changed.
CTFE: Move framepointers into CtfeStack from Interstate
CTFE: Move 'localthis' into CtfeStack

We also don't create a new frame until all arguments are evaluated.
This removes a complicated hack in ThisExp, which was no longer
necessary.
Add test case for 'this' used in parameter

Fixes a gap in the test suite.
Add new Target hook to retrieve align sizes of basic types.
need to load GOT into EBX before calling PLT function

- also save/restore old EBX value
fix deactivated non-weak linkage code

- method Obj::external(const char*) was renamed to external_def
- I32 stores relocation offset in target address
Merge pull request #1745 from dawgfoto/useEBX

fix _d_dso_registry calling sequence
Merge pull request #1743 from ibuclaw/target2

Add new Target hook to retrieve align sizes of basic types.
Merge pull request #1736 from donc/ctfeStackFrames

Refactor CTFE stack frames