[clang] [clang][NFC] Refactor `Sema::TemplateDeductionResult` (PR #81398)
Vlad Serebrennikov via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 12 07:23:49 PST 2024
================
@@ -11445,11 +11452,16 @@ static void DiagnoseBadDeduction(Sema &S, NamedDecl *Found, Decl *Templated,
(ParamD = Param.dyn_cast<TemplateTypeParmDecl*>()) ||
(ParamD = Param.dyn_cast<NonTypeTemplateParmDecl*>()) ||
(ParamD = Param.dyn_cast<TemplateTemplateParmDecl*>());
- switch (DeductionFailure.Result) {
- case Sema::TDK_Success:
- llvm_unreachable("TDK_success while diagnosing bad deduction");
+ switch (DeductionFailure.getResult()) {
+ case TemplateDeductionResult::Success:
+ llvm_unreachable(
+ "TemplateDeductionResult::Success while diagnosing bad deduction");
+ case TemplateDeductionResult::Invalid:
+ case TemplateDeductionResult::NonDependentConversionFailure:
+ case TemplateDeductionResult::AlreadyDiagnosed:
+ return;
----------------
Endilll wrote:
> Could you replace the 'return;' for that one with an assert and run the lit tests to see if it is something that might be valuable doing something with?
No crashes in Clang test suite, so I pushed the change.
https://github.com/llvm/llvm-project/pull/81398
More information about the cfe-commits
mailing list