[clang] 376907e - [NFC][clang][analyzer] Complete enumeration in emitCrossTUDiagnostics (#187646)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 20 08:25:58 PDT 2026
Author: Arseniy Zaostrovnykh
Date: 2026-03-20T15:25:52Z
New Revision: 376907e09303cd18a8f1139e97c075dd9c506c94
URL: https://github.com/llvm/llvm-project/commit/376907e09303cd18a8f1139e97c075dd9c506c94
DIFF: https://github.com/llvm/llvm-project/commit/376907e09303cd18a8f1139e97c075dd9c506c94.diff
LOG: [NFC][clang][analyzer] Complete enumeration in emitCrossTUDiagnostics (#187646)
Make handling of all `index_error_code` values in
`CrossTranslationUnitContext::emitCrossTUDiagnostics` explicit.
--
CPP-7804
Added:
Modified:
clang/lib/CrossTU/CrossTranslationUnit.cpp
Removed:
################################################################################
diff --git a/clang/lib/CrossTU/CrossTranslationUnit.cpp b/clang/lib/CrossTU/CrossTranslationUnit.cpp
index b0b3bf5e2ae1e..ef25ad454da2e 100644
--- a/clang/lib/CrossTU/CrossTranslationUnit.cpp
+++ b/clang/lib/CrossTU/CrossTranslationUnit.cpp
@@ -384,22 +384,40 @@ void CrossTranslationUnitContext::emitCrossTUDiagnostics(const IndexError &IE) {
case index_error_code::missing_index_file:
Context.getDiagnostics().Report(diag::err_ctu_error_opening)
<< IE.getFileName();
- break;
+ return;
case index_error_code::invalid_index_format:
Context.getDiagnostics().Report(diag::err_extdefmap_parsing)
<< IE.getFileName() << IE.getLineNum();
- break;
+ return;
case index_error_code::multiple_definitions:
Context.getDiagnostics().Report(diag::err_multiple_def_index)
<< IE.getLineNum();
- break;
+ return;
case index_error_code::triple_mismatch:
Context.getDiagnostics().Report(diag::warn_ctu_incompat_triple)
<< IE.getFileName() << IE.getTripleToName() << IE.getTripleFromName();
- break;
- default:
- break;
+ return;
+ case index_error_code::success:
+ llvm_unreachable("There should not be a success error. This case should "
+ "have been handled by the caller.");
+ return;
+ case index_error_code::unspecified:
+ case index_error_code::missing_definition:
+ case index_error_code::failed_import:
+ case index_error_code::failed_to_get_external_ast:
+ case index_error_code::failed_to_generate_usr:
+ case index_error_code::lang_mismatch:
+ case index_error_code::lang_dialect_mismatch:
+ case index_error_code::load_threshold_reached:
+ case index_error_code::invocation_list_ambiguous:
+ case index_error_code::invocation_list_file_not_found:
+ case index_error_code::invocation_list_empty:
+ case index_error_code::invocation_list_wrong_format:
+ case index_error_code::invocation_list_lookup_unsuccessful:
+ // FIXME: Silently dropping these errors
+ return;
}
+ llvm_unreachable("Unrecognized index_error_code.");
}
CrossTranslationUnitContext::ASTUnitStorage::ASTUnitStorage(
More information about the cfe-commits
mailing list