Clean up code in inifile.c
do dead code elimination in release with debug info mode
[Refactoring] Convert AggregateDeclaration::handle to handleType()
More better fix for issue 11075 to reproduce semantic3 errors in already failed template instance
fix Issue 12378 - Compiler accepts any syntactically-valid code inside double-nested map predicate
fix Issue 12382 - `opDollar` can't be used at CT

Front-end should handle opDollar side-effect carefully, because CTFE engine cannot interpret `(auto __dollar = obj.opDollar(), obj).opIndex(__dollar)` without CTFE stack.
fix Issue 12316 - AA.get broken for Object VAL types

More better fix for the issue 7757.
[Refactoring] around toDelegate call
[comments] clarify DeclarationExp usage

Add explanation that it can be used in contexts where D grammar
normally prohibits declarations if you create it in AST manually.
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.
Avoid unaligned loads in stringtable.c hash function

On some architectures unaligned loads may not work at all,
e.g. older ARM CPUs return corrupted data on unaligned loads.
Implement partial fix for 3882
Merge pull request #3342 from nordlow/warn-unused-returns

Issue 3882: Add warning for unused non-void returns of strictly pure function calls
Add -vgc switch

The following known allocations are intentionally not handled:

* AssertExp
* CmpExp
* AssignExp: Calls _d_arrayassign
* Hidden function errors: Are already deprecated
* SwitchErrorStatement

All these cases only allocate by throwing exceptions
and disallowing them would impact user code a lot. In
order to really solve such issues we need some way to
throw exceptions without GC-allocation.

Also not handled are indirect calls to user-defined
functions which may allocate (calling postblits in
array assignment for example). As this commit does
not provide a way to mark a function as @nogc there's
no way to know if such functions actually allocate.

These indirect calls to user defined functions must
be revisited when a @nogc attribute is introduced.
Merge pull request #3389 from Dicebot/decl-exp-docs

[comments] clarify DeclarationExp usage
Merge pull request #3392 from jpf91/unaligned

[ARM ]Avoid unaligned loads in stringtable.c hash function
Fix Issue 12432 - Implement better diagnostics for argument count mismatch in range and opApply contexts.
Recognize shared libraries when linking
Only collect shared libs on *nix
Issue 3882: Use more understandable warning message