Correct the tablegen for checking mutually exclusive stmt attrs
The previous implementation was insufficient for checking statement attribute mutual exclusion because attributed statements do not collect their attributes one-at-a-time in the same way that declarations do. So the design that was attempting to check for mutual exclusion as each attribute was processed would not ever catch a mutual exclusion in a statement. This was missed due to insufficient test coverage, which has now been added for the [[likely]] and [[unlikely]] attributes. The new approach is to check all of attributes that are to be applied to the attributed statement in a group. This required generating another DiagnoseMutualExclusions() function into AttrParsedAttrImpl.inc.
Loading
Please register or sign in to comment