Christopher Bazley - 14 hours ago

Please consider the attached candidate patch.

Compatible member types are insufficient for repeated structure or union definitions. Compare exact types, including array bounds and qualifiers. Check qualifiers before the bit-precise type comparison returns, so const and volatile on those member types are not overlooked.

Testing: 161 diagnostic checks passed. Diagnostic configurations: Z80, STM8, MCS51, MCS51 large, MCS51 stack-auto, PDK14, S08. All focused checks passed. The counts include positive controls as well as expected diagnostics.