[clang-tools-extra] [clang-tidy] Add AllowReferencedInitialValues to `readability-enum-initial-value` (PR #189459)
Björn Svensson via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 5 02:42:10 PDT 2026
================
@@ -0,0 +1,34 @@
+// RUN: %check_clang_tidy %s readability-enum-initial-value %t -- \
+// RUN: -config='{CheckOptions: { \
+// RUN: readability-enum-initial-value.AllowExplicitZeroFirstInitialValue: false, \
+// RUN: readability-enum-initial-value.AllowExplicitSequentialInitialValues: false, \
+// RUN: readability-enum-initial-value.AllowReferencedInitialValues: true, \
+// RUN: }}'
+
+// Error: zero-first + self-ref, should still warn about the zero.
+enum EZeroRef {
+ EZeroRef_a = 0,
+ // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: zero initial value for the first enumerator in 'EZeroRef' can be disregarded
+ // CHECK-FIXES: EZeroRef_a ,
+ EZeroRef_b,
+ EZeroRef_last = EZeroRef_b,
+};
+
+// Error: sequential + self-ref, should still warn but not suggest
+// removing the self-ref.
+enum ESeqRef {
+ // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: sequential initial value in 'ESeqRef' can be ignored
+ ESeqRef_a = 1,
+ ESeqRef_b = 2,
+ // CHECK-FIXES: ESeqRef_b ,
+ ESeqRef_c = 3,
+ // CHECK-FIXES: ESeqRef_c ,
+ ESeqRef_alias = ESeqRef_a,
----------------
bjosv wrote:
Done
https://github.com/llvm/llvm-project/pull/189459
More information about the cfe-commits
mailing list