fix Issue 11718 - Unintended mangled names conflict of nested template structs

If a symbol has parent, the parent part of the mangled name should also be unique in each scopes.

Function symbols can have same identifiers in scope, so their parameters part must be always encoded in their mangled name to distinguish overloads.

When I fixed bug 9271, I had naturally expected that behavior. However sadly `mangle` function had had a bug.
Do all error emission in the frontend
[style] Remove trailing spaces
[Refactoring] Move StructLiteralExp::fill into StructDeclaration

Perhaps this is the most better design so it would be final move.
fix Issue 11510 - Relax restriction for overlapped pointer field access in safe code/during CTFE

Check overlapped field default initializations immediately after the struct size is determined.
fix Issue 11427 - anonymous unions break structs in @safe code
Expand AssignExp macro
Merge pull request #2974 from yebblies/parsemacro

[DDMD] Expand AssignExp macro
Merge pull request #2757 from 9rnsr/fix11510

Issue 11510 - Relax restriction for overlapped pointer field access in safe code/during CTFE
Merge pull request #2953 from 9rnsr/fix11718

[REG2.065a] Issue 11718 - Unintended mangled names conflict of nested template structs
Finish linux -> __linux__
Merge pull request #2976 from yebblies/linuxlinux

Finish linux -> __linux__
fix Issue 11756 - Irrelevant variable name printing in CTFE error message
Merge pull request #2977 from 9rnsr/fix11756

Issue 11756 - Irrelevant variable name printing in CTFE error message
fix Issue 11751 - Hex float exponents should be decimal
Merge pull request #2978 from 9rnsr/fix11751

[REG2.065a] Issue 11751 - Hex float exponents should be decimal
fix Issue 11759 - Poor error message trying to use lowercase L in literal suffix
Merge pull request #2979 from 9rnsr/fix11759

Issue 11759 - Poor error message trying to use lowercase L in literal suffix
Remove disabled fix for 8863
Remove #ifdef around BUILTINgcc