ABataev added a comment.

In D80925#2066728 <https://reviews.llvm.org/D80925#2066728>, @rjmccall wrote:

> Narrowly this seems to fix the immediate problem, but I feel like we're in 
> trouble if tentative parsing is changing the semantic context in ways that 
> persist.  In particular, I'm concerned that we could end up tentatively 
> parsing an ODR use as part of an expression and then completely discarding 
> it, causing Sema to think that there's an ODR use later because it never sees 
> an L2R conversion (because the expression is not actually used).  Probably 
> the most architectural thing would be for tentative expression parsing to 
> push a possibly-unevaluated context, and then when we claim an expression 
> annotation token we can do the retroactive work necessary to make it an 
> expression in the proper context.  We already have most of the logic to 
> support that because of C99 `sizeof`, which is usually not evaluated but can 
> be in the narrow circumstance of a VLA.
>
> If we do decide to solve this more narrowly, then we should audit our use of 
> the tentative-parsing queries to make sure that we're pushing contexts 
> consistently, and we should leave comments in places like this to make sure 
> that maintainers understand the subtleties.


So, you suggest to not create annot_primary_expr during tentative parsing and 
revert parsing completely, right?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80925



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to