summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/c/Makefile10
-rw-r--r--test/regression/Makefile27
-rw-r--r--test/regression/Results/floats (renamed from test/c/Results/floats)0
-rw-r--r--test/regression/Results/floats-basics (renamed from test/c/Results/floats-basics)0
-rw-r--r--test/regression/bool.c2
-rw-r--r--test/regression/floats-basics.c (renamed from test/c/floats-basics.c)0
-rw-r--r--test/regression/floats.c (renamed from test/c/floats.c)0
7 files changed, 18 insertions, 21 deletions
diff --git a/test/c/Makefile b/test/c/Makefile
index a11ab69..d3f0d16 100644
--- a/test/c/Makefile
+++ b/test/c/Makefile
@@ -13,9 +13,7 @@ TIME=xtime -o /dev/null -mintime 1.0 # Xavier's hack
PROGS=fib integr qsort fft sha1 aes almabench lists \
binarytrees fannkuch knucleotide mandelbrot nbody \
nsieve nsievebits spectral vmach \
- bisect chomp perlin siphash24 floats floats-basics
-
-PROGS_INTERP=floats floats-basics
+ bisect chomp perlin siphash24
all: $(PROGS:%=%.compcert)
@@ -39,12 +37,6 @@ test:
else echo "$$i: FAILED"; \
fi; \
done
- @for i in $(PROGS_INTERP); do \
- if $(CCOMP) -interp -quiet $$i.c | cmp -s - Results/$$i; \
- then echo "$$i (interpreted): passed"; \
- else echo "$$i (interpreted): FAILED"; \
- fi; \
- done
test_gcc:
@for i in $(PROGS); do \
diff --git a/test/regression/Makefile b/test/regression/Makefile
index 7791794..454bcef 100644
--- a/test/regression/Makefile
+++ b/test/regression/Makefile
@@ -5,16 +5,22 @@ CCOMPFLAGS=-stdlib ../../runtime -dparse -dc -dclight -dasm -fall
LIBS=$(LIBMATH)
-# Can run and have reference output in Results
+# Can run, both in compiled mode and in interpreter mode,
+# and have reference output in Results
-TESTS=attribs1 bitfields1 bitfields2 bitfields3 bitfields4 \
- bitfields5 bitfields6 bitfields7 bitfields8 \
+TESTS=int32 int64 floats floats-basics \
expr1 expr6 funptr2 initializers volatile1 volatile2 volatile3 \
funct3 expr5 struct7 struct8 struct11 casts1 casts2 char1 \
- sizeof1 sizeof2 packedstruct1 packedstruct2 \
- instrsel bool compar switch int32 int64
+ sizeof1 sizeof2
+
+# Can run, but only in compiled mode, and have reference output in Results
+
+TESTS_COMP=attribs1 bitfields1 bitfields2 bitfields3 bitfields4 \
+ bitfields5 bitfields6 bitfields7 bitfields8 \
+ packedstruct1 packedstruct2 \
# Other tests: should compile to .s without errors (but expect warnings)
+
EXTRAS=annot1 commaprec expr2 expr3 expr4 extern1 funct2 funptr1 init1 \
init2 init3 init4 pragmas ptrs1 ptrs2 struct1 struct2 struct3 \
struct4 struct5 struct6 struct9 struct10 types1 seqops
@@ -22,9 +28,9 @@ EXTRAS=annot1 commaprec expr2 expr3 expr4 extern1 funct2 funptr1 init1 \
# Test known to fail
FAILURES=funct1 varargs1
-all: $(TESTS:%=%.compcert) $(EXTRAS:%=%.s)
+all: $(TESTS:%=%.compcert) $(TESTS_COMP:%=%.compcert) $(EXTRAS:%=%.s)
-all_s: $(TESTS:%=%.s) $(EXTRAS:%=%.s)
+all_s: $(TESTS:%=%.s) $(TESTS_COMP:%=%.s) $(EXTRAS:%=%.s)
%.compcert: %.c $(CCOMP)
$(CCOMP) $(CCOMPFLAGS) -o $*.compcert $*.c $(LIBS)
@@ -37,14 +43,12 @@ clean:
rm -f *.parsed.c *.compcert.c *.light.c *.s *.o *~
test:
- @for i in $(TESTS); do \
+ @for i in $(TESTS) $(TESTS_COMP); do \
if ./$$i.compcert | cmp -s - Results/$$i; \
then echo "$$i: passed"; \
else echo "$$i: FAILED"; \
fi; \
- done
-
-interp:
+ done;
@for i in $(TESTS); do \
if $(CCOMP) -fall -interp -quiet $$i.c > _cinterp.log; then \
if cmp -s _cinterp.log Results/$$i; \
@@ -54,6 +58,7 @@ interp:
else \
echo "$$i: interpreter undefined behavior"; \
fi; \
+ rm -f _cinterp.log; \
done
bench:
diff --git a/test/c/Results/floats b/test/regression/Results/floats
index e5e16af..e5e16af 100644
--- a/test/c/Results/floats
+++ b/test/regression/Results/floats
diff --git a/test/c/Results/floats-basics b/test/regression/Results/floats-basics
index e5e16af..e5e16af 100644
--- a/test/c/Results/floats-basics
+++ b/test/regression/Results/floats-basics
diff --git a/test/regression/bool.c b/test/regression/bool.c
index d2b3857..4f8ed80 100644
--- a/test/regression/bool.c
+++ b/test/regression/bool.c
@@ -9,7 +9,7 @@ int main()
_Bool a, b, c, d, e, f, g, h, i;
a = x;
b = x >= 100;
- c = &x;
+ c = (_Bool) &x;
d = a && b;
e = a || b;
f = a & b;
diff --git a/test/c/floats-basics.c b/test/regression/floats-basics.c
index 0a4c69d..0a4c69d 100644
--- a/test/c/floats-basics.c
+++ b/test/regression/floats-basics.c
diff --git a/test/c/floats.c b/test/regression/floats.c
index a3514fb..a3514fb 100644
--- a/test/c/floats.c
+++ b/test/regression/floats.c