Fix for issue #791.

The ; at the end creates an ExpStatement in the AST with member exp set to
null. Dereferencing exp causes the crash.
IMHO this is a bug in the fontend AST.
Remove FIXME in template.c
Merge pull request #792 from redstar/issue791

Fix for issue #791.
Merge pull request #794 from redstar/fixme

Remove FIXME in template.c
First set of changes to compile LDC on AIX 7.1.
Another set of changes for AIX.

AIX uses the XCOFF format which is not supported by LLVM.
An external assembler must be used.
Get rid of more superfluous casts with DMD arrays.

There are still a few more left.
Merge pull request #796 from klickverbot/more-typed-arrays

Get rid of more superfluous casts with DMD arrays.
Fix and clean-up Win64 ABI
Experimental varargs fix
Win64 fix: pass 64-bit reals as doubles
Win64 fix: don't attempt to rewrite composites of size 0 to integers
Don't swap real and imaginary parts of complex numbers.

Rely on LLVM to select a sane order, don't use DMD as reference anymore.
Get rid of CfloatToInt ABI rewrite and extend CompositeToInt.

CompositeToInt now also accepts complex number pairs and all other types,
not just pointers to structs/static arrays.
Use single ByVal ABI rewrite for both Win64 and PPC.
Implement rewriteArgument() for PPC ABI.
Refactor Win64 ABI.

I've decided to use a consistent scheme here - types are returned the same
way as they are passed as arguments. So cfloat as 64-bit struct in RAX,
cdouble/creal and 80-bit real/ireal as types > 64 bit via sret.

MS allows using the x87 stack, but there are no official guidelines as
they don't use x87 at all.
Implement rewriteArgument() for Intrinsic ABI.
Daring, untested attempt to simplify the System V AMD64 ABI.

Rely on LLVM to assign the registers, for D linkage too.
Re-reverse parameter order for extern(D).