Fixes Issue 8509 - Appending base type to enum should not result in new enum type.
Merge pull request #1240 from AndrejMitrovic/Fix8509

Issue 8509 - Appending base type to enum should not result in new enum type
Replace expression macro with lines in it
Expand macros in arrayop.c
Expand BinAssignExp macros in expression.h
Expand macros in lexer
Expand macros in mtype
Remove unnamed union with an initializer
Expand macros in traits
Expand macros in parser
Remove macros in lexer.h
Expand macro in interpreter
Implicit conversions and shadowing
0->Loc
unsigned char* -> const char*
Breaks utf8 BOM
Make char unsigned
More implicit conversion errors
Mostly implicit conversions
Stack allocations, implicit conversions
Get rid of volatile_longdouble (do we need this?)
No implicit Object -> void*
No implicit real -> creal
Use memcpy to copy classes, not assignment