[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-18 Thread Erich Keane via cfe-commits
https://github.com/erichkeane closed 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

[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-18 Thread Erich Keane via cfe-commits
https://github.com/erichkeane updated https://github.com/llvm/llvm-project/pull/89142 >From 43f1915f919d82f055e0c7147d3c46013d56feef Mon Sep 17 00:00:00 2001 From: erichkeane Date: Wed, 17 Apr 2024 11:46:36 -0700 Subject: [PATCH 1/2] Stop double-diagnosing explicit convert operator in switch

[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-18 Thread via cfe-commits
https://github.com/cor3ntin approved this pull request. LGTM 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

[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-18 Thread Aaron Ballman via cfe-commits
https://github.com/AaronBallman approved this pull request. The changes should come with a release note, but this LGTM otherwise https://github.com/llvm/llvm-project/pull/89142 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-18 Thread Erich Keane via cfe-commits
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

[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-18 Thread via cfe-commits
Sirraide 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

[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-18 Thread Erich Keane via cfe-commits
erichkeane wrote: > Did you try to use `ExprDependence::Error`? I've only ever seen that used in regards to the `RecoveryExpr`, so I think I am? Also, `RecoveryExpr` doesn't really have a way of changing its dependence to anything but what it is.

[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-18 Thread Erich Keane via cfe-commits
erichkeane wrote: > I'm having second thoughts about leveraging recovery expressions as a > side-band mechanism to de-duplicate diagnostics, because not modeling things > properly in AST might backfire in the future. But I don't have anything > better on my mind, so I don't want to block the

[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-18 Thread via cfe-commits
cor3ntin wrote: Did you try to use `ExprDependence::Error`? 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

[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-18 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: I'm having second thoughts about leveraging recovery expressions as a side-band mechanism to de-duplicate diagnostics, because not modeling things properly in AST might backfire in the future. But I don't have anything better on my mind, so I don't want to block the progress of

[clang] Stop double-diagnosing explicit convert operator in switch condition (PR #89142)

2024-04-17 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Erich Keane (erichkeane) Changes Note this also likely fixes a bunch of other cases. We were double-diagnosting in a template because we were generating the expression anyway, so any attempts to instantiate the function would