sammccall added inline comments.
================ Comment at: clang/include/clang/AST/Expr.h:6229 +/// +/// FIXME: RecoveryExpr is C++ only, make it work for C by supporting dependence +/// mechanism for C language in clang. ---------------- this could be a little more specific (e.g. what does C++ only mean)... FIXME: RecoveryExpr is currently generated by default in C++ mode only, as dependence isn't handled properly on several C-only codepaths. ================ Comment at: clang/lib/AST/ComputeDependence.cpp:498 ExprDependence clang::computeDependence(RecoveryExpr *E) { - // Mark the expression as value- and instantiation- dependent to reuse - // existing suppressions for dependent code, e.g. avoiding - // constant-evaluation. - // FIXME: drop type+value+instantiation once Error is sufficient to suppress - // bogus dianostics. + // RecoveryExpr dependence-bits setting: + // - type-dep is set if we don't know about the type (fallback to an opaque ---------------- I can't really follow this explanation. - The first bullet says when, the other two bullets say why - the reasons given don't seem to be very principled ones (e.g. suppressing constant-evaluation is indeed a nice effect of value-dependency, but I don't think it's the *reason* for the value-dependency, rather that the value depends on how the error is resolved) - I don't understand the connection between the "setting" list and the "explanations" one. ================ Comment at: clang/lib/AST/ComputeDependence.cpp:499 + // RecoveryExpr dependence-bits setting: + // - type-dep is set if we don't know about the type (fallback to an opaque + // dependent type); ---------------- , or if the type is known and dependent Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83215/new/ https://reviews.llvm.org/D83215 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits