kadircet accepted this revision.
kadircet added inline comments.

================
Comment at: clang/docs/InternalsManual.rst:1882
+  example.
+- representing invalid node: the invalid node is preserved in the AST in some
+  form, e.g. when the "declaration" part of the declaration contains semantic
----------------
hokein wrote:
> kadircet wrote:
> > rather than `some form` maybe say `while indicating the error` ?
> I'm not sure this will be better. `indicating error` seems to be a bit strong.
> 
> e.g. `if () {}`, this ill-formed statement, the AST node  is like below, 
> which doesn't have an obvious error signal (we could argue the 
> `OpaqueValueExpr` is )
> 
> ```
> `-IfStmt
>    |-OpaqueValueExpr 'bool'
>    `-CompoundStmt 
> ```
oh okay didn't know that. i thought we would always have a node which can 
indicate the error somehow (not having that is still surprising though).


================
Comment at: clang/docs/InternalsManual.rst:1971
+considered value-dependent, because its value isn't well-defined until the 
error
+is resolved. Among other things, this means that clang doesn't emit more errors
+where a RecoveryExpr is used as a constant (e.g. array size), but also won't 
try
----------------
sammccall wrote:
> hokein wrote:
> > kadircet wrote:
> > > IIRC, there were other problems with clang trying to emit secondary diags 
> > > on such cases. It might be worth mentioning those too, again to warn 
> > > future travellers about the side effects of making this 
> > > non-value-dependent.
> > I think the existing `doesn't emit more errors` texts already indicate we 
> > suppress the secondary diags etc.
> Do you have an example? I chatted with Haojian offline about this and we 
> couldn't find a good one apart from constant contexts. (And the wording of 
> the standard suggests that value-dependence is a concept that's only 
> interesting in constant contexts)
> Do you have an example?

unfortunately not :( but something tells me the particular bug was somehow 
about typo correction happening inside recoveryexprs ?

> I think the existing doesn't emit more errors texts already indicate we 
> suppress the secondary diags etc.

yeah i guess you are right.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D96944

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

Reply via email to