Merge pull request #3624 from WalterBright/fix12852

Issue 12852 - 64 bit wrong code generated
Merge pull request #3641 from 9rnsr/fix12851

Issue 12851 - ICE when passing const static array to template
Merge pull request #3639 from 9rnsr/fix12874

Issue 12874 - Wrong file name in range violation error
Fix Issue 12864 - can no longer use toLower in string switch case
Merge pull request #3640 from 9rnsr/fix12850

Issue 12850 - ICE when passing associative array to template
fix Issue 12825 - Invalid "duplicated union initialization" error with initialized field in extern(C++) class
fix Issue 5635 - Code inside 'foreach' using opApply cannot modify variable out of its scope in a template function.
fix Issue 6430 - Overloaded auto-return functions each with a nested aggregate of the same name are conflated
fix Issue 8100 - [ICE] with templated subclassing
fix Issue 8392 - DMD sometime fail when using a non static function template within a function template
fix Issue 8499 - ICE on undefined identifier
fix Issue 9708 - inout breaks zero parameter IFTI
fix Issue 12362 - dmd hangs when attempting to use undefined enum
Merge pull request #3644 from yebblies/issue12864

[REG] Issue 12864 - can no longer use toLower in string switch case
Merge pull request #3646 from 9rnsr/worksforme

Add test cases for worksforme issues with git-head
Merge pull request #3645 from 9rnsr/fix12825

Issue 12825 - Invalid "duplicated union initialization" error with initialized field in extern(C++) class
Delete long-dead 'throws' code
Delete dead functions 'defineRed' and 'nameCollision'
Delete some dead code that predates tls-by-default
Merge pull request #3647 from yebblies/deadthrows

[DDMD] Delete some dead code from the frontend