Skip to content

Commit e9a5e5d

Browse files
authored
Fix tests
Some conditions were missing in `MacroRoleAttr` checking
1 parent 8e3811c commit e9a5e5d

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

lib/Sema/TypeCheckAttr.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6986,16 +6986,18 @@ void AttributeChecker::visitMacroRoleAttr(MacroRoleAttr *attr) {
69866986
// TODO: Check property observer names?
69876987
break;
69886988
case MacroRole::MemberAttribute:
6989-
diagnoseAndRemoveAttr(attr, diag::macro_cannot_introduce_names,
6990-
getMacroRoleString(attr->getMacroRole()));
6989+
if (!attr->getNames().empty())
6990+
diagnoseAndRemoveAttr(attr, diag::macro_cannot_introduce_names,
6991+
getMacroRoleString(attr->getMacroRole()));
69916992
break;
69926993
case MacroRole::Member:
69936994
break;
69946995
case MacroRole::Peer:
69956996
break;
69966997
case MacroRole::Conformance:
6997-
diagnoseAndRemoveAttr(attr, diag::macro_cannot_introduce_names,
6998-
getMacroRoleString(attr->getMacroRole()));
6998+
if (!attr->getNames().empty())
6999+
diagnoseAndRemoveAttr(attr, diag::macro_cannot_introduce_names,
7000+
getMacroRoleString(attr->getMacroRole()));
69997001
break;
70007002
default:
70017003
diagnoseAndRemoveAttr(attr, diag::invalid_macro_role_for_macro_syntax,

0 commit comments

Comments
 (0)