[hackers] [scc] Add basic test for break and continue statements || Roberto E. Vargas Caballero
commit a86e1949ea1d59dcdf1e89ecdf0e2b53865efc46
Author: Roberto E. Vargas Caballero <k0ga_AT_shike2.com>
AuthorDate: Sat Aug 15 21:43:36 2015 +0200
Commit: Roberto E. Vargas Caballero <k0ga_AT_shike2.com>
CommitDate: Sat Aug 15 21:43:36 2015 +0200
Add basic test for break and continue statements
This patch also adds a #line directive in test006.c
to aovid the problems related to the change in the
size of the output (different lines in the warnings).
diff --git a/cc1/tests/test006.c b/cc1/tests/test006.c
index ebfd61e..93661eb 100644
--- a/cc1/tests/test006.c
+++ b/cc1/tests/test006.c
_AT_@ -2,9 +2,9 @@
name: TEST006
description: Basic test for if
output:
-test006.c:42: warning: conditional expression is constant
-test006.c:44: warning: conditional expression is constant
-test006.c:47: warning: conditional expression is constant
+test006.c:6: warning: conditional expression is constant
+test006.c:8: warning: conditional expression is constant
+test006.c:11: warning: conditional expression is constant
G1 M c
F1
G2 F1 main
_AT_@ -36,6 +36,8 @@ L3
char c;
+#line 1
+
int
main()
{
diff --git a/cc1/tests/test010.c b/cc1/tests/test010.c
new file mode 100644
index 0000000..0ff2d20
--- /dev/null
+++ b/cc1/tests/test010.c
_AT_@ -0,0 +1,94 @@
+/*
+name: TEST010
+description: Test for continue and break statements
+output:
+test010.c:9: warning: conditional expression is constant
+test010.c:11: warning: conditional expression is constant
+test010.c:31: warning: conditional expression is constant
+F1
+G1 F1 main
+{
+-
+A2 I x
+ A2 #I0 :I
+ j L5
+ d
+L3
+ j L4
+L5
+ j L3 #I1
+ b
+L4
+ j L8
+ d
+L6
+ j L9 A2 #I5 !I
+ j L7
+L9
+ A2 A2 #I1 +I :I
+ j L6
+L8
+ j L6 #I1
+ b
+L7
+
+ j L12
+ d
+L10
+ j L13 A2 #IA !I
+ j L11
+L13
+ A2 A2 #I1 +I :I
+ j L10
+
+L12
+ j L10
+ b
+L11
+ d
+L14
+ j L16 A2 #IF !I
+ j L15
+L16
+ A2 A2 #I1 +I :I
+ j L14
+ j L14 #I1
+ b
+L15
+ yI A2 #IF -I
+}
+*/
+
+#line 1
+
+int
+main()
+{
+ int x;
+
+ x = 0;
+ while(1)
+ break;
+ while(1) {
+ if (x == 5) {
+ break;
+ }
+ x = x + 1;
+ continue;
+ }
+ for (;;) {
+ if (x == 10) {
+ break;
+ }
+ x = x + 1;
+ continue;
+ }
+ do {
+ if (x == 15) {
+ break;
+ }
+ x = x + 1;
+ continue;
+ } while(1);
+ return x - 15;
+}
Received on Sat Aug 15 2015 - 23:27:07 CEST
This archive was generated by hypermail 2.3.0
: Sat Aug 15 2015 - 23:36:27 CEST