fix line number for PragmaDeclaration
fix Issue 10066 - Template opEquals sometimes obstructs struct compilation

Move __xopEquals generation after struct semantic3 done
[Trivial] fix code loc
[Trivial] Improve code comments
fix Issue 10073 - Default opEquals depends on class declaration order with DMD HEAD
fix Issue 10076 - expression.c:4310: virtual Expression* TypeExp::semantic(Scope*): Assertion `0' failed.
Merge pull request #2032 from 9rnsr/fix10076

[REG2.060] fix Issue 10076 - expression.c:4310: virtual Expression* TypeExp::semantic(Scope*): Assertion `0' failed.
Convert all structs using inheritance into classes
Merge pull request #2025 from 9rnsr/fix10066

Issue 10066 - Template opEquals sometimes obstructs struct compilation
Fix Issue 10058.
Merge pull request #2007 from ibuclaw/cppmangle

Fix Issue 10058 - Inconsistent mangling between C++ and extern(C++).
only allow letters, digits, UniAlpha and "$%().:?@[]_" for mangling
Remove the -v1 switch and all uses
Merge pull request #2033 from yebblies/structtoclass

[DDMD] Convert all structs using inheritance into classes
enum PROT -> PROT
enum TOK -> TOK
enum BUILTIN -> BUILTIN
enum PURE -> PURE
enum PASS -> PASS
enum Semantic -> Semantic
enum AliasThisRec -> AliasThisRec