Notably, the glue layer side of the changed multiple interface
inheritance layout (DMD a54e89d) has not been implemented yet.
This corresponds to DMD commit 3f6a763c0589dd03c1c206eafd434b593702564e.
`Dst` means overwrites target, `Upd` means that new target value depends
on old value of target.
This hides the failure from #1292 but does not fix the root cause.
Also adds the CMake infrastructure to compile and link the D source files.
The build is partially broken:
- A few files in Phobos and druntime do not build
- MSVC build is broken because of unresolved symbols involving reals
Commented lines preceding any #if preprocessor directives get aligned at
the #if indentation, i.e., column 0 in most cases, but are seldomly
directly related to the #if directive itself.
Here I use `#if 0` to comment out a large chunk of lines immediately
preceding an #if directive.
ARM has unsigned chars vs. signed chars on X86. Assigning -1 to a
char results in a narrowing conversion which is an error since GCC 5.x.
The fix is to explicitly use a signed char.
Includes all tagged with v2.067.0-b2. Does not includes latest druntime changes from ldc (head) branch.
This is known to be broken. I only merged the frontend stuff but did not try to compile something...
First merge of current development stream. Asm blocks are known to be broken.
DMD: 0c9f437bc24015707130ba42dc434d9cd58282fb
druntime: 86d49cfb3670904603df0cfdfe44c6fff565c0fc
Phobos: a8ca4f7964becac680af0eadbde05aa7d10fc338
I hope I have untangled the checks for "native" Windows (Triple::Win32)
vs. Windows/MinGW/Cygwin (Triple::isOSWindows) correctly.
MinGW needs some default libraries as well, has to be fixed later.