aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/cast-bool-char.c3
-rw-r--r--tests/cast-bool-char.qbe10
-rw-r--r--tests/compare-char.c3
-rw-r--r--tests/compare-char.qbe11
4 files changed, 27 insertions, 0 deletions
diff --git a/tests/cast-bool-char.c b/tests/cast-bool-char.c
new file mode 100644
index 0000000..d05f575
--- /dev/null
+++ b/tests/cast-bool-char.c
@@ -0,0 +1,3 @@
+int main(void) {
+ return (_Bool)(unsigned char)256;
+}
diff --git a/tests/cast-bool-char.qbe b/tests/cast-bool-char.qbe
new file mode 100644
index 0000000..81d4eba
--- /dev/null
+++ b/tests/cast-bool-char.qbe
@@ -0,0 +1,10 @@
+export
+function w $main() {
+@start.1
+@body.2
+ %.1 =w copy 256
+ %.2 =w extub %.1
+ %.3 =w cnew %.2, 0
+ %.4 =w extub %.3
+ ret %.4
+}
diff --git a/tests/compare-char.c b/tests/compare-char.c
new file mode 100644
index 0000000..5219647
--- /dev/null
+++ b/tests/compare-char.c
@@ -0,0 +1,3 @@
+int main(void) {
+ return (unsigned char)0 < (unsigned char)256;
+}
diff --git a/tests/compare-char.qbe b/tests/compare-char.qbe
new file mode 100644
index 0000000..a0a1c03
--- /dev/null
+++ b/tests/compare-char.qbe
@@ -0,0 +1,11 @@
+export
+function w $main() {
+@start.1
+@body.2
+ %.1 =w copy 0
+ %.2 =w copy 256
+ %.3 =w extub %.1
+ %.4 =w extub %.2
+ %.5 =w cultw %.3, %.4
+ ret %.5
+}