rsmith added a comment.

In D91659#2458872 <https://reviews.llvm.org/D91659#2458872>, @rnk wrote:

> In D91659#2458639 <https://reviews.llvm.org/D91659#2458639>, @rsmith wrote:
>
>> 
>
> What is the issue with the current structure, ActOnTag produces the wrong AST 
> node, an ElaboratedType, but we want to produce a TypedefType?

I don't think we want to introduce a new declaration at all in this 
compatibility case; I think we want to act as if the `enum` keyword were 
omitted entirely (the caller should set a different kind of `TypeSpecType` on 
the `DeclSpec` in this case). Maybe the simplest thing would be to add a new 
optional `TypeResult*` out parameter to `ActOnTag` that's only set by the call 
in `ParseEnumSpecifier` (and then only for the `TUK_Reference` case). Then 
`ParseEnumSpecifier` can set a `TST_typename` type specifier in this case 
instead of a `TST_enum`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91659/new/

https://reviews.llvm.org/D91659

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D91659: A... Shivanshu Goyal via Phabricator via cfe-commits
    • [PATCH] D916... Shivanshu Goyal via Phabricator via cfe-commits
    • [PATCH] D916... Shivanshu Goyal via Phabricator via cfe-commits
    • [PATCH] D916... Richard Smith - zygoloid via Phabricator via cfe-commits
    • [PATCH] D916... Richard Smith - zygoloid via Phabricator via cfe-commits
    • [PATCH] D916... Reid Kleckner via Phabricator via cfe-commits
    • [PATCH] D916... Richard Smith - zygoloid via Phabricator via cfe-commits

Reply via email to