The change set covers the following four areas:
- Handling DIStringType with SizeInBits field. DIStringType is used to encode Fortran character types.
- Emitting the proper offset for a DIGlobalVariable with a constant offset encoded in the DIExpression field of its DIGlobalVariableExpression.
- Handling array count based on the LowerBound field of a DISubrange.
- Emitting the name of a DIGlobalVariable without scoping info for Fortran.
This is a bit nitty, but I place the new declaration here after lowerTypeArray, since that's the most related code, not the composite type handling code.