shithub: scc

Download patch

ref: 59dde871c2899f620c5a56e89b5940b863648210
parent: f23faf185f95e3d2858ab63f757bd62c1e0849b3
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Wed Mar 30 10:44:33 EDT 2022

tests/cc: Fix compose functionality

Compose.sh is a shell script that generates the source code
needed to execute all the tests in only one binary. This is
needed in platforms where it is not possible to execute
shell scripts and Makefiles.

--- a/tests/cc/execute/.gitignore
+++ b/tests/cc/execute/.gitignore
@@ -1,1 +1,4 @@
 test.log
+tests.h
+tmp_*.c
+a.out
--- a/tests/cc/execute/0115-null-comparision.c
+++ /dev/null
@@ -1,5 +1,0 @@
-int
-main()
-{
-	return "abc" == (void *)0;
-}
--- /dev/null
+++ b/tests/cc/execute/0115-null_comparision.c
@@ -1,0 +1,5 @@
+int
+main()
+{
+	return "abc" == (void *)0;
+}
--- a/tests/cc/execute/0133-ftn-ptr.c
+++ /dev/null
@@ -1,17 +1,0 @@
-int
-foo(void)
-{
-	return 0;
-}
-
-int
-bar(void)
-{
-	return 24;
-}
-
-int
-main(void)
-{
-	return (1 ? foo : bar)();
-}
--- /dev/null
+++ b/tests/cc/execute/0133-ftn_ptr.c
@@ -1,0 +1,17 @@
+int
+foo(void)
+{
+	return 0;
+}
+
+int
+bar(void)
+{
+	return 24;
+}
+
+int
+main(void)
+{
+	return (1 ? foo : bar)();
+}
--- a/tests/cc/execute/0137-int-cast.c
+++ /dev/null
@@ -1,138 +1,0 @@
-int a;
-unsigned b;
-char c;
-signed char d;
-unsigned char e;
-long f;
-unsigned long g;
-long long h;
-unsigned long long i;
-short j;
-unsigned short k;
-
-int
-main(void)
-{
-	a = b;
-	a = c;
-	a = d;
-	a = e;
-	a = f;
-	a = g;
-	a = h;
-	a = i;
-	a = j;
-	a = k;
-
-	b = a;
-	b = c;
-	b = d;
-	b = e;
-	b = f;
-	b = g;
-	b = h;
-	b = i;
-	b = j;
-	b = k;
-
-	c = a;
-	c = b;
-	c = d;
-	c = e;
-	c = f;
-	c = g;
-	c = h;
-	c = i;
-	c = j;
-	c = k;
-
-	d = a;
-	d = b;
-	d = c;
-	d = e;
-	d = f;
-	d = g;
-	d = h;
-	d = i;
-	d = j;
-	d = k;
-
-	e = a;
-	e = b;
-	e = c;
-	e = d;
-	e = f;
-	e = g;
-	e = h;
-	e = i;
-	e = j;
-	e = k;
-
-	f = a;
-	f = b;
-	f = c;
-	f = d;
-	f = e;
-	f = g;
-	f = h;
-	f = i;
-	f = j;
-	f = k;
-
-	g = a;
-	g = b;
-	g = c;
-	g = d;
-	g = e;
-	g = f;
-	g = h;
-	g = i;
-	g = j;
-	g = k;
-
-	h = a;
-	h = b;
-	h = c;
-	h = d;
-	h = e;
-	h = f;
-	h = g;
-	h = i;
-	h = j;
-	h = k;
-
-	i = a;
-	i = b;
-	i = c;
-	i = d;
-	i = e;
-	i = f;
-	i = g;
-	i = h;
-	i = j;
-	i = k;
-
-	j = a;
-	j = b;
-	j = c;
-	j = d;
-	j = e;
-	j = f;
-	j = g;
-	j = h;
-	j = i;
-	j = k;
-
-	k = a;
-	k = b;
-	k = c;
-	k = d;
-	k = e;
-	k = f;
-	k = g;
-	k = h;
-	k = j;
-	k = i;
-
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0137-int_cast.c
@@ -1,0 +1,138 @@
+int a;
+unsigned b;
+char c;
+signed char d;
+unsigned char e;
+long f;
+unsigned long g;
+long long h;
+unsigned long long i;
+short j;
+unsigned short k;
+
+int
+main(void)
+{
+	a = b;
+	a = c;
+	a = d;
+	a = e;
+	a = f;
+	a = g;
+	a = h;
+	a = i;
+	a = j;
+	a = k;
+
+	b = a;
+	b = c;
+	b = d;
+	b = e;
+	b = f;
+	b = g;
+	b = h;
+	b = i;
+	b = j;
+	b = k;
+
+	c = a;
+	c = b;
+	c = d;
+	c = e;
+	c = f;
+	c = g;
+	c = h;
+	c = i;
+	c = j;
+	c = k;
+
+	d = a;
+	d = b;
+	d = c;
+	d = e;
+	d = f;
+	d = g;
+	d = h;
+	d = i;
+	d = j;
+	d = k;
+
+	e = a;
+	e = b;
+	e = c;
+	e = d;
+	e = f;
+	e = g;
+	e = h;
+	e = i;
+	e = j;
+	e = k;
+
+	f = a;
+	f = b;
+	f = c;
+	f = d;
+	f = e;
+	f = g;
+	f = h;
+	f = i;
+	f = j;
+	f = k;
+
+	g = a;
+	g = b;
+	g = c;
+	g = d;
+	g = e;
+	g = f;
+	g = h;
+	g = i;
+	g = j;
+	g = k;
+
+	h = a;
+	h = b;
+	h = c;
+	h = d;
+	h = e;
+	h = f;
+	h = g;
+	h = i;
+	h = j;
+	h = k;
+
+	i = a;
+	i = b;
+	i = c;
+	i = d;
+	i = e;
+	i = f;
+	i = g;
+	i = h;
+	i = j;
+	i = k;
+
+	j = a;
+	j = b;
+	j = c;
+	j = d;
+	j = e;
+	j = f;
+	j = g;
+	j = h;
+	j = i;
+	j = k;
+
+	k = a;
+	k = b;
+	k = c;
+	k = d;
+	k = e;
+	k = f;
+	k = g;
+	k = h;
+	k = j;
+	k = i;
+
+	return 0;
+}
--- a/tests/cc/execute/0139-ptr-ary.c
+++ /dev/null
@@ -1,22 +1,0 @@
-int
-main()
-{
-	char arr[2][4], (*p)[4], *q;
-	int v[4];
-
-	p = arr;
-	q = &arr[1][3];
-	arr[1][3] = 2;
-	v[0] = 2;
-
-	if (arr[1][3] != 2)
-		return 1;
-	if (p[1][3] != 2)
-		return 2;
-	if (*q != 2)
-		return 3;
-	if (*v != 2)
-		return 4;
-
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0139-ptr_ary.c
@@ -1,0 +1,22 @@
+int
+main()
+{
+	char arr[2][4], (*p)[4], *q;
+	int v[4];
+
+	p = arr;
+	q = &arr[1][3];
+	arr[1][3] = 2;
+	v[0] = 2;
+
+	if (arr[1][3] != 2)
+		return 1;
+	if (p[1][3] != 2)
+		return 2;
+	if (*q != 2)
+		return 3;
+	if (*v != 2)
+		return 4;
+
+	return 0;
+}
--- a/tests/cc/execute/0140-int-fold.c
+++ /dev/null
@@ -1,27 +1,0 @@
-int
-main(void)
-{
-	int i;
-
-	i = 1 + 2;
-	i = 2 - 1;
-	i = 3 * 6;
-	i = 10 / 5;
-	i = 10 % 5;
-	i = i % 0;
-	i = i % 0;
-	i = 1 << 3;
-	i = 8 >> 2;
-	i = 12 & 4;
-	i = 8 | 4;
-	i = 12 ^ 4;
-	i = -(3);
-	i = ~12;
-	i = 1 < 3;
-	i = 2 > 3;
-	i = 2 >= 3;
-	i = 2 <= 3;
-	i = 1 == 0;
-
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0140-int_fold.c
@@ -1,0 +1,27 @@
+int
+main(void)
+{
+	int i;
+
+	i = 1 + 2;
+	i = 2 - 1;
+	i = 3 * 6;
+	i = 10 / 5;
+	i = 10 % 5;
+	i = i % 0;
+	i = i % 0;
+	i = 1 << 3;
+	i = 8 >> 2;
+	i = 12 & 4;
+	i = 8 | 4;
+	i = 12 ^ 4;
+	i = -(3);
+	i = ~12;
+	i = 1 < 3;
+	i = 2 > 3;
+	i = 2 >= 3;
+	i = 2 <= 3;
+	i = 1 == 0;
+
+	return 0;
+}
--- a/tests/cc/execute/0141-int-iden.c
+++ /dev/null
@@ -1,45 +1,0 @@
-int
-main(void)
-{
-	int i;
-
-	i = i || 0;
-	i = i || 4;
-	i = 4 || i;
-	i = 0 || i;
-	i = i && 0;
-	i = i && 4;
-	i = 4 && i;
-	i = 0 && i;
-	i = i << 0;
-	i = 0 << i;
-	i = i >> 0;
-	i = 0 >> i;
-	i = i + 0;
-	i = 0 + i;
-	i = i - 0;
-	i = 0 - i;
-	i = i | 0;
-	i = 0 | i;
-	i = i ^ 0;
-	i = 0 ^ i;
-	i = i * 0;
-	i = 0 * i;
-	i = i * 1;
-	i = 1 * i;
-	i = i / 1;
-
-	if (i)
-		i = 1 / i;
-
-	i = i & ~0;
-	i = ~0 & i;
-	i = i % 1;
-
-	if (0)
-		i = i / 0;
-	if (0)
-		i = i % 0;
-
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0141-int_iden.c
@@ -1,0 +1,45 @@
+int
+main(void)
+{
+	int i;
+
+	i = i || 0;
+	i = i || 4;
+	i = 4 || i;
+	i = 0 || i;
+	i = i && 0;
+	i = i && 4;
+	i = 4 && i;
+	i = 0 && i;
+	i = i << 0;
+	i = 0 << i;
+	i = i >> 0;
+	i = 0 >> i;
+	i = i + 0;
+	i = 0 + i;
+	i = i - 0;
+	i = 0 - i;
+	i = i | 0;
+	i = 0 | i;
+	i = i ^ 0;
+	i = 0 ^ i;
+	i = i * 0;
+	i = 0 * i;
+	i = i * 1;
+	i = 1 * i;
+	i = i / 1;
+
+	if (i)
+		i = 1 / i;
+
+	i = i & ~0;
+	i = ~0 & i;
+	i = i % 1;
+
+	if (0)
+		i = i / 0;
+	if (0)
+		i = i % 0;
+
+	return 0;
+}
--- a/tests/cc/execute/0142-char-const.c
+++ /dev/null
@@ -1,40 +1,0 @@
-int
-main(void)
-{
-	unsigned char uc;
-	signed char sc;
-
-	uc = -1;
-	if ((uc & 0xFF) != 0xFF)
-		return 1;
-
-	uc = '\x23';
-	if (uc != 35)
-		return 2;
-
-	uc = 1u;
-	if (uc != (1025 & 0xFF))
-		return 1;
-
-	uc = 'A';
-	if (uc != 0x41)
-		return 3;
-
-	sc = -1;
-	if ((sc & 0xFF) != 0xFF)
-		return 4;
-
-	sc = '\x23';
-	if (sc != 35)
-		return 5;
-
-	sc = 1u;
-	if (sc != (1025 & 0xFF))
-		return 6;
-
-	sc = 'A';
-	if (sc != 0x41)
-		return 7;
-
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0142-char_const.c
@@ -1,0 +1,40 @@
+int
+main(void)
+{
+	unsigned char uc;
+	signed char sc;
+
+	uc = -1;
+	if ((uc & 0xFF) != 0xFF)
+		return 1;
+
+	uc = '\x23';
+	if (uc != 35)
+		return 2;
+
+	uc = 1u;
+	if (uc != (1025 & 0xFF))
+		return 1;
+
+	uc = 'A';
+	if (uc != 0x41)
+		return 3;
+
+	sc = -1;
+	if ((sc & 0xFF) != 0xFF)
+		return 4;
+
+	sc = '\x23';
+	if (sc != 35)
+		return 5;
+
+	sc = 1u;
+	if (sc != (1025 & 0xFF))
+		return 6;
+
+	sc = 'A';
+	if (sc != 0x41)
+		return 7;
+
+	return 0;
+}
--- a/tests/cc/execute/0143-int-const.c
+++ /dev/null
@@ -1,24 +1,0 @@
-main(void)
-{
-	int i;
-	unsigned u;
-
-	i = 1;
-	i = -1;
-	i = -1l;
-	i = -1u;
-	i = -1ll;
-	i = 32766 + 1 & 3;
-	i = (int) 32768 < 0;
-	i = -1u < 0;
-
-	u = 1;
-	u = -1;
-	u = -1l;
-	u = -1u;
-	u = -1ll;
-	u = (unsigned) 32768 < 0;
-	u = 32766 + 1 & 3;
-	u = -1u < 0;
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0143-int_const.c
@@ -1,0 +1,24 @@
+main(void)
+{
+	int i;
+	unsigned u;
+
+	i = 1;
+	i = -1;
+	i = -1l;
+	i = -1u;
+	i = -1ll;
+	i = 32766 + 1 & 3;
+	i = (int) 32768 < 0;
+	i = -1u < 0;
+
+	u = 1;
+	u = -1;
+	u = -1l;
+	u = -1u;
+	u = -1ll;
+	u = (unsigned) 32768 < 0;
+	u = 32766 + 1 & 3;
+	u = -1u < 0;
+	return 0;
+}
--- a/tests/cc/execute/0144-long-const.c
+++ /dev/null
@@ -1,25 +1,0 @@
-int
-main(void)
-{
-	long i;
-	unsigned long u;
-
-	i = 1;
-	i = -1;
-	i = -1l;
-	i = -1u;
-	i = -1ll;
-	i = (1ll << 32) - 1 & 3;
-	i = (long) ((1ll << 32) - 1) < 0;
-	i = -1u < 0;
-
-	u = 1;
-	u = -1;
-	u = -1l;
-	u = -1u;
-	u = -1ll;
-	u = (1ll << 32) - 1 & 3;
-	u = (long) ((1ll << 32) - 1) < 0;
-	u = -1u < 0;
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0144-long_const.c
@@ -1,0 +1,25 @@
+int
+main(void)
+{
+	long i;
+	unsigned long u;
+
+	i = 1;
+	i = -1;
+	i = -1l;
+	i = -1u;
+	i = -1ll;
+	i = (1ll << 32) - 1 & 3;
+	i = (long) ((1ll << 32) - 1) < 0;
+	i = -1u < 0;
+
+	u = 1;
+	u = -1;
+	u = -1l;
+	u = -1u;
+	u = -1ll;
+	u = (1ll << 32) - 1 & 3;
+	u = (long) ((1ll << 32) - 1) < 0;
+	u = -1u < 0;
+	return 0;
+}
--- a/tests/cc/execute/0145-llong-const.c
+++ /dev/null
@@ -1,23 +1,0 @@
-int
-main(void)
-{
-	long long i;
-	unsigned long long u;
-
-	i = 1;
-	i = -1;
-	i = -1l;
-	i = -1u;
-	i = -1ll;
-	i = -1ll & 3;
-	i = -1ll < 0;
-
-	u = 1;
-	u = -1;
-	u = -1l;
-	u = -1u;
-	u = -1ll;
-	u = -1llu & 3;
-	u = -1llu < 0;
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0145-llong_const.c
@@ -1,0 +1,23 @@
+int
+main(void)
+{
+	long long i;
+	unsigned long long u;
+
+	i = 1;
+	i = -1;
+	i = -1l;
+	i = -1u;
+	i = -1ll;
+	i = -1ll & 3;
+	i = -1ll < 0;
+
+	u = 1;
+	u = -1;
+	u = -1l;
+	u = -1u;
+	u = -1ll;
+	u = -1llu & 3;
+	u = -1llu < 0;
+	return 0;
+}
--- a/tests/cc/execute/0147-intern-cpp.c
+++ /dev/null
@@ -1,19 +1,0 @@
-#define x(y)  (y)
-
-int
-main(void)
-{
-	int y;
-	char *p;
-
-	p = __FILE__;
-	y = __LINE__;
-	p = __DATE__;
-	y = __STDC__;
-	p = __TIME__;
-	y = __STDC_HOSTED__;
-	y = __SCC__;
-	y = x(1);
-
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0147-intern_cpp.c
@@ -1,0 +1,19 @@
+#define x(y)  (y)
+
+int
+main(void)
+{
+	int y;
+	char *p;
+
+	p = __FILE__;
+	y = __LINE__;
+	p = __DATE__;
+	y = __STDC__;
+	p = __TIME__;
+	y = __STDC_HOSTED__;
+	y = __SCC__;
+	y = x(1);
+
+	return 0;
+}
--- a/tests/cc/execute/0148-cpp-string.c
+++ /dev/null
@@ -1,10 +1,0 @@
-#define x(y) #y
-
-int
-main(void)
-{
-	char *p;
-	p = x(hello)  " is better than bye";
-
-	return (*p == 'h') ? 0 : 1;
-}
--- /dev/null
+++ b/tests/cc/execute/0148-cpp_string.c
@@ -1,0 +1,10 @@
+#define x(y) #y
+
+int
+main(void)
+{
+	char *p;
+	p = x(hello)  " is better than bye";
+
+	return (*p == 'h') ? 0 : 1;
+}
--- a/tests/cc/execute/0153-cpp-string.c
+++ /dev/null
@@ -1,13 +1,0 @@
-#define M1(x,y) "This is a string $ or # or ## " #x y
-#define STR "This is a string $ or # or ## and it is ok!"
-
-int
-main(void)
-{
-        char *s, *t = M1(and, " it is ok!");
-
-	for (s = STR; *s && *s == *t; ++s)
-		++t;
-
-        return *s;
-}
--- /dev/null
+++ b/tests/cc/execute/0153-cpp_string.c
@@ -1,0 +1,13 @@
+#define M1(x,y) "This is a string $ or # or ## " #x y
+#define STR "This is a string $ or # or ## and it is ok!"
+
+int
+main(void)
+{
+        char *s, *t = M1(and, " it is ok!");
+
+	for (s = STR; *s && *s == *t; ++s)
+		++t;
+
+        return *s;
+}
--- a/tests/cc/execute/0154-if-defined.c
+++ /dev/null
@@ -1,15 +1,0 @@
-#if defined(FOO)
-int a;
-#elif !defined(FOO) && defined(BAR)
-int b;
-#elif !defined(FOO) && !defined(BAR)
-int c;
-#else
-int d;
-#endif
-
-int
-main(void)
-{
-	return c;
-}
--- /dev/null
+++ b/tests/cc/execute/0154-if_defined.c
@@ -1,0 +1,15 @@
+#if defined(FOO)
+int a;
+#elif !defined(FOO) && defined(BAR)
+int b;
+#elif !defined(FOO) && !defined(BAR)
+int c;
+#else
+int d;
+#endif
+
+int
+main(void)
+{
+	return c;
+}
--- a/tests/cc/execute/0155-struct-compl.c
+++ /dev/null
@@ -1,16 +1,0 @@
-extern struct X x;
-int foo();
-
-int main()
-{
-	extern struct X x;
-	return &x != 0;
-}
-
-struct X {int v;};
-
-int foo()
-{
-	x.v = 0;
-	return x.v;
-}
--- /dev/null
+++ b/tests/cc/execute/0155-struct_compl.c
@@ -1,0 +1,16 @@
+extern struct X x;
+int foo();
+
+int main()
+{
+	extern struct X x;
+	return &x != 0;
+}
+
+struct X {int v;};
+
+int foo()
+{
+	x.v = 0;
+	return x.v;
+}
--- a/tests/cc/execute/0160-cpp-if.c
+++ /dev/null
@@ -1,17 +1,0 @@
-#if 0 != (0 && (0/0))
-   #error 0 != (0 && (0/0))
-#endif
-
-#if 1 != (-1 || (0/0))
-   #error 1 != (-1 || (0/0))
-#endif
-
-#if 3 != (-1 ? 3 : (0/0))
-   #error 3 != (-1 ? 3 : (0/0))
-#endif
-
-int
-main()
-{
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0160-cpp_if.c
@@ -1,0 +1,17 @@
+#if 0 != (0 && (0/0))
+   #error 0 != (0 && (0/0))
+#endif
+
+#if 1 != (-1 || (0/0))
+   #error 1 != (-1 || (0/0))
+#endif
+
+#if 3 != (-1 ? 3 : (0/0))
+   #error 3 != (-1 ? 3 : (0/0))
+#endif
+
+int
+main()
+{
+	return 0;
+}
--- a/tests/cc/execute/0184-esc-macro.c
+++ /dev/null
@@ -1,9 +1,0 @@
-#define VALUE "ab\"c"
-
-int
-main(void)
-{
-	const char *value = VALUE;
-
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0184-esc_macro.c
@@ -1,0 +1,9 @@
+#define VALUE "ab\"c"
+
+int
+main(void)
+{
+	const char *value = VALUE;
+
+	return 0;
+}
--- a/tests/cc/execute/0185-esc-macro2.c
+++ /dev/null
@@ -1,9 +1,0 @@
-#define EXPECT_VALUE         "{[\"-0123456789tfn"
-
-int
-main()
-{
-	char *p = EXPECT_VALUE;
-
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0185-esc_macro2.c
@@ -1,0 +1,9 @@
+#define EXPECT_VALUE         "{[\"-0123456789tfn"
+
+int
+main()
+{
+	char *p = EXPECT_VALUE;
+
+	return 0;
+}
--- a/tests/cc/execute/0186-dec-ary.c
+++ /dev/null
@@ -1,23 +1,0 @@
-struct node {
-	int index;
-};
-
-struct node nodes[2];
-
-int
-main(void)
-{
-	int d = 1, c;
-
-	d = 1;
-	c = nodes[--d].index++;
-	if (d != 0 || nodes[0].index != 1)
-		return 1;
-
-	d = -1;
-	c = nodes[++d].index--;
-	if (d != 0 || nodes[0].index != 0)
-		return 2;
-
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0186-dec_ary.c
@@ -1,0 +1,23 @@
+struct node {
+	int index;
+};
+
+struct node nodes[2];
+
+int
+main(void)
+{
+	int d = 1, c;
+
+	d = 1;
+	c = nodes[--d].index++;
+	if (d != 0 || nodes[0].index != 1)
+		return 1;
+
+	d = -1;
+	c = nodes[++d].index--;
+	if (d != 0 || nodes[0].index != 0)
+		return 2;
+
+	return 0;
+}
--- a/tests/cc/execute/0187-zero-struct.c
+++ /dev/null
@@ -1,24 +1,0 @@
-struct json_node {
-	int type;
-	char *name;
-};
-
-int
-main(void)
-{
-	struct json_node nodes[16] = { { 0 } };
-	char sentinel[] = {
-		0x98, 0x98, 0x98, 0x98,
-		0x98, 0x98, 0x98, 0x98,
-		0x98, 0x98, 0x98, 0x98,
-		0x98, 0x98, 0x98, 0x98,
-	};
-	int i;
-
-	for (i = 0; i < 16; i++) {
-		if (nodes[i].name || nodes[i].type)
-			return i+1;
-	}
-
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0187-zero_struct.c
@@ -1,0 +1,24 @@
+struct json_node {
+	int type;
+	char *name;
+};
+
+int
+main(void)
+{
+	struct json_node nodes[16] = { { 0 } };
+	char sentinel[] = {
+		0x98, 0x98, 0x98, 0x98,
+		0x98, 0x98, 0x98, 0x98,
+		0x98, 0x98, 0x98, 0x98,
+		0x98, 0x98, 0x98, 0x98,
+	};
+	int i;
+
+	for (i = 0; i < 16; i++) {
+		if (nodes[i].name || nodes[i].type)
+			return i+1;
+	}
+
+	return 0;
+}
--- a/tests/cc/execute/0188-multi-string.c
+++ /dev/null
@@ -1,17 +1,0 @@
-#define STR(x) #x
-#define RES "This is a string!"
-
-int
-main()
-{
-	char str1[] = STR(This is a string!);
-	char str2[] = RES;
-	int i;
-
-	for (i = 0; str1[i]; i++) {
-		if (str1[i] != str2[i])
-			break;
-	}
-
-	return str1[i] - str2[i];
-}
--- /dev/null
+++ b/tests/cc/execute/0188-multi_string.c
@@ -1,0 +1,17 @@
+#define STR(x) #x
+#define RES "This is a string!"
+
+int
+main()
+{
+	char str1[] = STR(This is a string!);
+	char str2[] = RES;
+	int i;
+
+	for (i = 0; str1[i]; i++) {
+		if (str1[i] != str2[i])
+			break;
+	}
+
+	return str1[i] - str2[i];
+}
--- a/tests/cc/execute/0190-enum-ary.c
+++ /dev/null
@@ -1,11 +1,0 @@
-enum { Bla = 0, Bla2 = 1 };
-
-struct node {
-	char name[Bla2];
-};
-
-int
-main(void)
-{
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0190-enum_ary.c
@@ -1,0 +1,11 @@
+enum { Bla = 0, Bla2 = 1 };
+
+struct node {
+	char name[Bla2];
+};
+
+int
+main(void)
+{
+	return 0;
+}
--- a/tests/cc/execute/0191-ary-addr.c
+++ /dev/null
@@ -1,14 +1,0 @@
-static const char *bla[] = { "a", "b" };
-
-void
-fn(const void *v)
-{
-}
-
-int
-main(void)
-{
-	fn(&bla);
-
-	return 0;
-}
--- /dev/null
+++ b/tests/cc/execute/0191-ary_addr.c
@@ -1,0 +1,14 @@
+static const char *bla[] = { "a", "b" };
+
+void
+fn(const void *v)
+{
+}
+
+int
+main(void)
+{
+	fn(&bla);
+
+	return 0;
+}
--- a/tests/cc/execute/Makefile
+++ b/tests/cc/execute/Makefile
@@ -10,4 +10,4 @@
 	@CC=$(CC) ./chktest.sh scc-tests.lst
 
 clean:
-	rm -f a.out *.s *.s *.as *.o *.ir *.qbe *core* test.log
+	rm -f a.out *.s *.s *.as *.o *.ir *.qbe *core* test.log tests.h tmp_*.c
--- a/tests/cc/execute/scc-tests.lst
+++ b/tests/cc/execute/scc-tests.lst
@@ -105,7 +105,7 @@
 0112-cond.c
 0113-externredecl.c
 0114-shortassig.c [TODO]
-0115-null-comparision.c
+0115-null_comparision.c
 0116-floatcmp.c [TODO]
 0117-pointarith.c
 0118-voidmain.c
@@ -123,34 +123,34 @@
 0130-mulpars.c
 0131-hello.c
 0132-forward.c
-0133-ftn-ptr.c
+0133-ftn_ptr.c
 0134-arith.c
 0135-unary.c
 0136-if.c
-0137-int-cast.c [TODO]
+0137-int_cast.c [TODO]
 0138-namespace.c
-0139-ptr-ary.c
-0140-int-fold.c
-0141-int-iden.c
-0142-char-const.c
-0143-int-const.c
-0144-long-const.c
-0145-llong-const.c
+0139-ptr_ary.c
+0140-int_fold.c
+0141-int_iden.c
+0142-char_const.c
+0143-int_const.c
+0144-long_const.c
+0145-llong_const.c
 0146-ifdef.c
-0147-intern-cpp.c
-0148-cpp-string.c
+0147-intern_cpp.c
+0148-cpp_string.c
 0149-define.c
 0150-define.c
 0151-vararg.c [TODO]
 0152-cat.c [TODO]
-0153-cpp-string.c
-0154-if-defined.c
-0155-struct-compl.c [TODO]
+0153-cpp_string.c
+0154-if_defined.c
+0155-struct_compl.c [TODO]
 0156-duff2.c
 0157-list.c
 0158-ternary.c
 0159-typedef.c
-0160-cpp-if.c
+0160-cpp_if.c
 0161-struct.c [TODO]
 0162-array.c
 0163-array.c
@@ -174,14 +174,14 @@
 0181-stringize.c [TODO]
 0182-voidcast.c
 0183-negenum.c
-0184-esc-macro.c
-0185-esc-macro2.c
-0186-dec-ary.c
-0187-zero-struct.c
-0188-multi-string.c [TODO]
+0184-esc_macro.c
+0185-esc_macro2.c
+0186-dec_ary.c
+0187-zero_struct.c
+0188-multi_string.c [TODO]
 0189-cpp.c [TODO]
-0190-enum-ary.c
-0191-ary-addr.c
+0190-enum_ary.c
+0191-ary_addr.c
 0192-ptrcmp.c
 0193-incomplete.c
 0194-vararg.c