Merge pull request #2567 from donc/regression10994void

Regression 10937 struct inside union gives uninitialized error in CTFE
fix Issue 11039 - Undefined instantiation from circular imports
Fixes Issue 10099 - Better diagnostic for a disabled default constructor.
Merge pull request #2572 from AndrejMitrovic/Fix10099

Issue 10099 - Better diagnostic for a disabled default constructor.
Merge pull request #2556 from WalterBright/fix11039

fix Issue 11039 - Undefined instantiation from circular imports
Improve error propagation around template instantiation and static-if condition

- Don't instantiate template body when "template signature semantics"
  (== findTemplateDeclaration, semanticTiargs, and findBestMatch) make errors.

- Don't save ErrorExp in StaticIfCondition::exp` during error gagging enabled.

- FuncExp should return ErrorExp when the lambda body makes errors.
fix Issue 11054 - ICE: interpret.c:357: virtual void Statement::ctfeCompile(CompiledCtfeFunction*): Assertion `0' failed.
Merge pull request #2569 from 9rnsr/fix11054

Issue 11054 - ICE: interpret.c:357: virtual void Statement::ctfeCompile(CompiledCtfeFunction*): Assertion `0' failed.
CTFE: always create a global stack

We always need a stack when evaluating global initializers. It is
needed by declarations in comma expressions, and also things like __dollar.
CTFE: Pass number of variables when entering a frame

Does not actually do anything with the parameter yet
Remove error propagation hack

I want to find out where this is failing.