erichkeane wrote:

> > I've only ever seen that used in regards to the `RecoveryExpr`, so I think 
> > I am?
> 
> It’s used in a few other places from what I can tell (e.g. see 
> `InitListExpr::markError()`); I think the result is the same either way (i.e. 
> `containsErrors()` ends up returning `true`).
> 
> I was looking around a bit and also just found this comment here:
> 
> https://github.com/llvm/llvm-project/blob/215eee60497489ae0cc7cc78c0d8b8270e057a70/clang/lib/Sema/SemaExpr.cpp#L3734-L3739
> 
> So I suppose there is at least some prededent for using `RecoveryExpr` to 
> suppress diagnostics.
> 
> I don’t have too much experience with either, but at least intuitively, 
> `ExprDependence::Error` sounds like it would make sense here, because if not 
> for cases like this one then what is it actually for I wonder?

I was looking into that, it doesn't seem to prevent being used in instantiation 
like `RecoveryExpr` does.  I DO note that `RecoveryExpr` DOES contain the 
original AST nodes, so it isn't like we're losing anything.

https://github.com/llvm/llvm-project/pull/89142
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to