Clean up code in inifile.c
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
Reference types are non-POD
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`
fix Issue 12523 - wrong type deduced for foreach ref argument

- No need to change the storage class because the var type
  already has inferred modifiers.
fix Issue 12509 - Compiler performance highly depends on declared array size - for struct with long static array of structs
Merge pull request #3424 from MartinNowak/fix12523

fix Issue 12523 - wrong type deduced for foreach ref argument
[style] fix indent