Including `<iostream>` allows LDC to compile correctly on some Macs running OS X Mavericks.
If the sanitizer is enabled (e.g. -sanitize=address) then the corresponding attribute (e.g. llvm::Attribute::SanitizerAddress) must be set.
Previously, gen_gccbuiltins was emitting intrinsics that used vector types larger than 256 bits and those are not defined in core.simd.
Before this fix, debug info was removed from the module while parsing inline ir.
This is a backport from DMD 2.065.
This is a backport from DMD 2.065. It is needed to compile LDC2 with -std=c++11.
This code is not used and gone in later DMD versions.
The code was a work around and did not solve the underlying problem. With 2.064 even the work around stops working.
Remove now unused method IrFuncTy.reset().
If the comment about this function is still right (can be called recursively) then the assignment to irFty should be done after all functions are called. Takes advantage of move assignment, too.
…-functions Disable internalizing of nested functions.
Handle differing LLVM types for AA literals.
This unsfortunately more or less duplicates the code we have for emitting ArrayLiteralExps, but with the different iteration strategies, having a single implementation would wind up even messier. Unfortunately, no regression test case yet, as I found this deep inside vibe.d.
This works around linking problems such as rejectedsoftware/vibe.d#338, caused by the frontend appending template instances to the wrong module. GitHub: Fixes #558.
Respect type alignment when choosing zero fill types.