[clang] [clang-tools-extra] [libcxx] [clang] fix diagnostic printing of expressions ignoring LangOpts (PR #134693)
Matheus Izvekov via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 8 06:58:27 PDT 2025
================
@@ -7379,6 +7379,14 @@ class RecoveryExpr final : public Expr,
friend class ASTStmtWriter;
};
+/// Insertion operator for diagnostics. This allows sending
+/// Expr into a diagnostic with <<.
+inline const StreamingDiagnostic &operator<<(const StreamingDiagnostic &DB,
+ const Expr *E) {
+ DB.AddTaggedVal(reinterpret_cast<uint64_t>(E), DiagnosticsEngine::ak_expr);
----------------
mizvekov wrote:
If we care that uint64_t might not round trip a pointer in theory, even though it should always in practice, then do we care uintptr_t is not guaranteed to be provided in theory, even though it should always be in practice?
https://github.com/llvm/llvm-project/pull/134693
More information about the cfe-commits
mailing list