commit 9b162b0052316caaec77869017c395d0d050033e
parent 05c02ab56769cd7ff85630d501627941d6abe84f
Author: Roberto E. Vargas Caballero <k0ga@shike2.net>
Date: Thu, 5 Mar 2026 15:31:26 +0100
cc1: Accept integer comparations in enum variables
Diffstat:
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/cmd/scc-cc/cc1/expr.c b/src/cmd/scc-cc/cc1/expr.c
@@ -47,6 +47,7 @@ cmpnode(Node *np, unsigned long long val)
tp = sym->type;
switch (tp->op) {
+ case ENUM:
case PTR:
case INT:
mask = (val > 1) ? ones(np->type->size) : -1;
diff --git a/tests/cc/execute/0248-enum.c b/tests/cc/execute/0248-enum.c
@@ -0,0 +1,12 @@
+enum e {
+ C1,
+ C2,
+};
+
+int
+main(void)
+{
+ enum e v = C2;
+
+ return v == 0 ? 1 : 0;
+}