This is the clang counterpart to https://reviews.llvm.org/D42734
This patch:
- fixed an incorrect sign-extension of unsigned values, when emitting debug info metadata for enumerators
- the enumerators metadata is created with a flag, which determines interpretation of the value bits (signed or unsigned)
- the enumerations metadata contains the underlying integer type and a flag, indicating whether this is a C++ "fixed enum"
Move this "IsSigned" outside the loop, since it's loop invariant?