[clang] [Clang][Sema] Fix type of enumerators in incomplete enumerations (PR #84068)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 11 11:14:50 PDT 2024
================
@@ -1,12 +1,19 @@
// RUN: %clang_cc1 -x c -fsyntax-only -verify -Wenum-compare -Wno-unused-comparison %s
// RUN: %clang_cc1 -x c++ -fsyntax-only -verify -Wenum-compare -Wno-unused-comparison %s
+// In C enumerators (i.e enumeration constants) have type int (until C23). In order to support diagnostics such as
+// -Wenum-compare we pretend they have the type of their enumeration.
+
typedef enum EnumA {
A
} EnumA;
enum EnumB {
- B
+ B,
+ B1 = 1,
+ // In C++ this comparison doesnt warn as enumerators dont have the type of their enumeration before the closing
----------------
Kupa-Martin wrote:
done
https://github.com/llvm/llvm-project/pull/84068
More information about the cfe-commits
mailing list