Generalize semantic2 and semantic 3
Always delay static-if condition evaluation
fix Issue 12619 - Invalid warning for unused return value of debug memcpy
fix Issue 12649 - "discards return value" warning will cause ICE on function pointer call
More better fix for issue 5498

The root issue is in typeMerge function.
[Refactoring] Improve error propagation in arrayExpressionToCommonType
[Refactoring] Prevent storing ErrorExp in exps
fix Issue 8309 - ICE in typeMerge on 'void main(){auto x = [()=>1.0, ()=>1];}'
Merge pull request #3509 from AndrejMitrovic/Fix7747

Issue 7747 - Diagnostic should be informative for an inferred return type.
Merge pull request #3508 from AndrejMitrovic/Fix8101

Issue 8101 - Display candidate function overloads when function call fails.
Fix Issue 8101 - Fixup pull improving diagnostics when there are overloads.
Fix Issue 3672 - Read-modify-write operations should not be allowed for shared variables.
Merge pull request #3520 from AndrejMitrovic/Fixup8101

Issue 8101 - Fixup pull improving diagnostics when there are overloads present.
Merge pull request #3491 from 9rnsr/fix12619

[REG2.066a] Issue 12619 - Invalid warning for unused return value of debug memcpy
Merge pull request #3477 from 9rnsr/fix8309

Issue 8309 - ICE in typeMerge on 'void main(){auto x = [()=>1.0, ()=>1];}'
Merge pull request #3400 from 9rnsr/refactor_attrib

[Refactoring] attribute declaration member semantics
Merge pull request #3514 from 9rnsr/refactor_ad

[Refactoring] Unify semantic analysis steps around aggregates
Merge pull request #3060 from ibuclaw/refpod

Reference types are non-POD
fix Issue 12622 - Purity, @safe not checked for pointers to functions
Merge pull request #3489 from 9rnsr/fix12622

Issue 12622 - Purity, @safe not checked for pointers to functions