do dead code elimination in release with debug info mode
Added optimization of debug information for Mircosoft debuggers to -gc. When this optimization is enabled, '.' is replaced with '@' within type names. Also arrays passed to functions are now marked as references instead of pointers, because the pointer confuses the visual studio debugger.
include dependencies for all object files
Fixed "@disable this" propagating through references (issue 8296)
fix Issue 12497 - ICE on string mixin with non-string operand
Merge pull request #3413 from 9rnsr/fix12497

[REG2.064] Issue 12497 - ICE on string mixin with non-string operand
Merge pull request #3411 from Ingrater/fix8296

Fixed "@disable this" propagating through references (issue 8296)
fix Issue 12501 - Assertion `global.gaggedErrors || global.errors' failed.
Merge pull request #3414 from 9rnsr/fix12501

[REG2.066a] Issue 12501 - Assertion `global.gaggedErrors || global.errors' failed.
fix Issue 12009 - local import and "unable to resolve forward reference" error

`Module::semantic2` could be invoked from local imports, even when some
local symbol semantics are not yet completed.
fix Issue 12499 - tuple/TypeTuple 1-Arg initialization fails during CTFE
[Refactoring] deferred is necessary only for nested functions in unittests
fix Issue 12498 - ICE: while(string) causes compiler to crash during CTFE
Add assertion to detect internal failure in early stage
Merge pull request #3422 from 9rnsr/fix12498

Issue 12498 - ICE: while(string) causes compiler to crash during CTFE
Merge pull request #3421 from 9rnsr/refactor_glue

[Refactoring] deferred is necessary only for nested functions in unittests
fix mismatch of the scope push/pop paring
[Refactoring] Replace new Scope(*sc) to sc->copy()
fix Issue 11777 - [ICE] dmd memory corruption as `Scope::pop` `free`s `fieldinit` used also in `enclosing`
Merge pull request #3423 from 9rnsr/fix11777

[REG2.065] Issue 11777 - [ICE] dmd memory corruption as `Scope::pop` `free`s `fieldinit` used also in `enclosing`