diff options
-rw-r--r-- | expr.c | 6 | ||||
-rw-r--r-- | test/const-false.c | 2 | ||||
-rw-r--r-- | test/const-false.qbe | 1 | ||||
-rw-r--r-- | test/const-true.c | 2 | ||||
-rw-r--r-- | test/const-true.qbe | 1 |
5 files changed, 12 insertions, 0 deletions
@@ -688,6 +688,12 @@ primaryexpr(struct scope *s) } next(); break; + case TTRUE: + case TFALSE: + e = mkexpr(EXPRCONST, &typebool, NULL); + e->u.constant.u = tok.kind == TTRUE; + next(); + break; case TLPAREN: next(); e = expr(s); diff --git a/test/const-false.c b/test/const-false.c new file mode 100644 index 0000000..65e743d --- /dev/null +++ b/test/const-false.c @@ -0,0 +1,2 @@ +bool x = false; +typeof(false) x; diff --git a/test/const-false.qbe b/test/const-false.qbe new file mode 100644 index 0000000..90a4475 --- /dev/null +++ b/test/const-false.qbe @@ -0,0 +1 @@ +export data $x = align 1 { b 0, } diff --git a/test/const-true.c b/test/const-true.c new file mode 100644 index 0000000..971963f --- /dev/null +++ b/test/const-true.c @@ -0,0 +1,2 @@ +bool x = true; +typeof(true) x; diff --git a/test/const-true.qbe b/test/const-true.qbe new file mode 100644 index 0000000..4fe9ed9 --- /dev/null +++ b/test/const-true.qbe @@ -0,0 +1 @@ +export data $x = align 1 { b 1, } |