expose dwarf_regno as a platform specific function
Fix issue 9777 Wrong code when calling final interface methods

Can't use DotTypeExp when converting to the interface as the
pointer needs to be adjusted. Use CastExp instead.
Merge pull request #1776 from braddr/dwarf

expose dwarf_regno as a platform specific function
Merge pull request #1781 from jpf91/fix9777

Fix issue 9777 Wrong code when calling final interface methods
Fix issue 9744 Poor error message taking address of thread-local variable at compile time

Move the error message from the glue layer, into the interpreter.
Also fix an incorrect entry point into the glue layer.
Fix issue 9745 Allow &staticvar in CTFE

Use SymOffExp for non-dereferenceable pointers to static variables.
It's already supported in the const-folding code, now support it in
CTFE as well. This commit adds full support for pointer arithmetic.
Allow pointer type-painting for pointers to global variables
CTFE: allow const casts of struct literals

This was permitted in const-folding, but not in CTFE until now.
Fix comparison of string enums
CTFE: Don't declare tuples wrappers as variables

Only the members of the tuples are variables. The tuple itself
doesn't need storage.
Allow string literals to be cast to mutable

It is legal in constfolding, and it's already impossible
to modify a string literal in CTFE.
Do all interpreting inside CTFE

instead of in the optimizer
CTFE compile: Count total variable declarations

First step towards CTFE compilation. Walk over all
expressions in the function, searching for VarDeclarations.
Sanity check: Add check for errorexpressions that have slipped through