guess how much memory will be needed and adjust chunk size
Fix: Issue 10520 - [profile+nothrow] Building with profiler results in "is not nothrow" error on some contracts

When Statement#blockExit() checks if the statements may throw or not, it
can also emit compile error.
We turn the second argument of it, mustNotThrow, to false
so that the error is suppressed.
reboot hpohl's #2470
Fix Issue 9570 - Wrong foreach index implicit conversion error
add some array bounds check optimizations
mark ModuleInfo as read-only data
fix Issue 12855 - Shadow register assignments for spilling can conflict
[Refactoring] merge test cases to reduce files
fix Issue 12777 - const/immutable member function violating its const-ness - confusing error message
Improve "cannot modify ..." messages
Fix Issue 12864 - can no longer use toLower in string switch case
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