@@ -3159,6 +3159,8 @@ TypeWithKeyword::getKeywordForTypeSpec(unsigned TypeSpec) {
31593159 return ElaboratedTypeKeyword::None;
31603160 case TST_typename:
31613161 return ElaboratedTypeKeyword::Typename;
3162+ case TST_coroutine:
3163+ return ElaboratedTypeKeyword::Coroutine;
31623164 case TST_class:
31633165 return ElaboratedTypeKeyword::Class;
31643166 case TST_struct:
@@ -3175,6 +3177,8 @@ TypeWithKeyword::getKeywordForTypeSpec(unsigned TypeSpec) {
31753177TagTypeKind
31763178TypeWithKeyword::getTagTypeKindForTypeSpec (unsigned TypeSpec) {
31773179 switch (TypeSpec) {
3180+ case TST_coroutine:
3181+ return TagTypeKind::Coroutine;
31783182 case TST_class:
31793183 return TagTypeKind::Class;
31803184 case TST_struct:
@@ -3195,6 +3199,8 @@ TypeWithKeyword::getKeywordForTagTypeKind(TagTypeKind Kind) {
31953199 switch (Kind) {
31963200 case TagTypeKind::Class:
31973201 return ElaboratedTypeKeyword::Class;
3202+ case TagTypeKind::Coroutine:
3203+ return ElaboratedTypeKeyword::Coroutine;
31983204 case TagTypeKind::Struct:
31993205 return ElaboratedTypeKeyword::Struct;
32003206 case TagTypeKind::Interface:
@@ -3212,6 +3218,8 @@ TypeWithKeyword::getTagTypeKindForKeyword(ElaboratedTypeKeyword Keyword) {
32123218 switch (Keyword) {
32133219 case ElaboratedTypeKeyword::Class:
32143220 return TagTypeKind::Class;
3221+ case ElaboratedTypeKeyword::Coroutine:
3222+ return TagTypeKind::Coroutine;
32153223 case ElaboratedTypeKeyword::Struct:
32163224 return TagTypeKind::Struct;
32173225 case ElaboratedTypeKeyword::Interface:
@@ -3234,6 +3242,7 @@ TypeWithKeyword::KeywordIsTagTypeKind(ElaboratedTypeKeyword Keyword) {
32343242 case ElaboratedTypeKeyword::Typename:
32353243 return false ;
32363244 case ElaboratedTypeKeyword::Class:
3245+ case ElaboratedTypeKeyword::Coroutine:
32373246 case ElaboratedTypeKeyword::Struct:
32383247 case ElaboratedTypeKeyword::Interface:
32393248 case ElaboratedTypeKeyword::Union:
@@ -3259,6 +3268,8 @@ StringRef TypeWithKeyword::getKeywordName(ElaboratedTypeKeyword Keyword) {
32593268 return " union" ;
32603269 case ElaboratedTypeKeyword::Enum:
32613270 return " enum" ;
3271+ case ElaboratedTypeKeyword::Coroutine:
3272+ return " _Coroutine" ;
32623273 }
32633274
32643275 llvm_unreachable (" Unknown elaborated type keyword." );
0 commit comments