diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/c/Makefile | 10 | ||||
-rw-r--r-- | test/regression/Makefile | 27 | ||||
-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.c | 2 | ||||
-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 |