=?utf-8?q?Björn?= Svensson <[email protected]>,
=?utf-8?q?Björn?= Svensson <[email protected]>,
=?utf-8?q?Björn?= Svensson <[email protected]>,
=?utf-8?q?Björn?= Svensson <[email protected]>,
=?utf-8?q?Björn?= Svensson <[email protected]>,
=?utf-8?q?Björn?= Svensson <[email protected]>,
=?utf-8?q?Björn?= Svensson <[email protected]>,
=?utf-8?q?Björn?= Svensson <[email protected]>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/[email protected]>
================
@@ -26,6 +26,32 @@ enum ESeqRef {
ESeqRef_alias = ESeqRef_a,
};
+// Error: sequential + multiple self-refs, should still warn and suggest
+// removing the sequential values but not the self-refs.
+enum ESeqMultiRef {
+ // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: sequential initial value in
'ESeqMultiRef' can be ignored
+ ESeqMultiRef_a = 1,
+ ESeqMultiRef_b = 2,
+ // CHECK-FIXES: ESeqMultiRef_b ,
+ ESeqMultiRef_c = 3,
+ // CHECK-FIXES: ESeqMultiRef_c ,
+ ESeqMultiRef_alias = ESeqMultiRef_a,
+ ESeqMultiRef_alias2 = ESeqMultiRef_b,
+};
+
+// Error: sequential + self-refs interleaved with the sequence, should still
+// warn and suggest removing the sequential values but not the self-refs.
+enum ESeqInterRef {
+ // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: sequential initial value in
'ESeqInterRef' can be ignored
+ ESeqInterRef_a = 1,
+ ESeqInterRef_alias = ESeqInterRef_a,
+ ESeqInterRef_b = 2,
+ // CHECK-FIXES: ESeqInterRef_b ,
+ ESeqInterRef_c = 3,
+ // CHECK-FIXES: ESeqInterRef_c ,
+ ESeqInterRef_alias2 = ESeqInterRef_b,
----------------
vbvictor wrote:
After thinking a bit more about such fixes, can we add test:
```cpp
enum ESeqInterRef {
ESeqInterRef_a = 1,
ESeqInterRef_alias = ESeqInterRef_a,
ESeqInterRef_b = 2,
ESeqInterRef_c = 3,
ESeqInterRef_alias2 = ESeqInterRef_b,
ESeqInterRef_d = 4,
};
```
If we remove `4` from `ESeqInterRef_d` we would get different value (3):
https://godbolt.org/z/aef46j9YG.
This seems like a bug.
https://github.com/llvm/llvm-project/pull/189459
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits