Fix bogus zero-length array test.

Issue 7175 was about .ptr always giving null for a zero-length
static array in a struct, despite the fact that the struct has
size 1 and thus certainly a non-null address.

The test case as modified by 36c9b64, however, checks that a
free-standing zero-length static array on the stack has an
address, which is quite a different scenario. From the spec,
I don't see a reason why zero-sized objects should need any
memory associated with them, so I am reluctant to pessimize
LDC's codegen over this.
fix Issue 13403 - [ICE][2.067Alpha] Internal error: backend\type.c 332 with new package protection extension.
use checkedint to check overflow
Move error-related stuff into its own file and merge with color
Do not use octal literals in dmd
Do not rely on implicit conversion of int to bool
Do not rely on implicit narrowing integral conversions
Merge pull request #3954 from yebblies/impconv

[DDMD] Do not rely on implicit narrowing integral conversions
Merge pull request #3953 from yebblies/impbool

[DDMD] Do not rely on implicit conversion of int to bool
Merge pull request #3931 from yebblies/errors

[refactor] Move error-related stuff into its own file and merge with color
Add TemplateInstance::tnext to construct instantiation dependency graph

To detect speculative instantiations in codegen phase, `tnext` is neccesary for the `test6()` case `runnable/link13350.d`. That's a big difference from the PR #2550.
Get rid of Expression::toElem forwarding function
Merge pull request #3959 from yebblies/toElem

Get rid of Expression::toElem forwarding function
Fix Issue 13427 - [REG2.066] cannot inline default argument alloca(...)
Get rid of dt_t from the frontend
Remove all references to IRState from the frontend
Update gluestub
Merge pull request #3952 from yebblies/octal

[DDMD] Do not use octal literals in dmd
Merge pull request #3960 from yebblies/dt_t

Remove uses of dt_t and IRState from the frontend, and update gluestub.c
Fix deprecation messages in d_do_test