]> git.sur5r.net Git - cc65/commitdiff
makefile for misc, endless.c
authormrdudz <mrdudz@users.noreply.github.com>
Sat, 22 Nov 2014 21:22:30 +0000 (22:22 +0100)
committermrdudz <mrdudz@users.noreply.github.com>
Sat, 22 Nov 2014 21:22:30 +0000 (22:22 +0100)
test/Makefile
test/misc/Makefile [new file with mode: 0644]
test/misc/common.h [new file with mode: 0644]
test/misc/endless.c [new file with mode: 0644]

index 4c03f2cd55741c024dd0023683632687277e5a93..65df4da4c999ea8d56ded73ec7ad5675c6d087de 100644 (file)
@@ -9,8 +9,11 @@ all:
        @$(MAKE) -C val all
        @$(MAKE) -C ref all
        @$(MAKE) -C err all
+       @$(MAKE) -C misc all
 
 clean:
        @$(MAKE) -C val clean
        @$(MAKE) -C ref clean
        @$(MAKE) -C err clean
+       @$(MAKE) -C misc clean
+
diff --git a/test/misc/Makefile b/test/misc/Makefile
new file mode 100644 (file)
index 0000000..02f264c
--- /dev/null
@@ -0,0 +1,50 @@
+
+CC65FLAGS = -t sim6502
+SIM65FLAGS = -x 200000000
+
+CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65)
+SIM65 := $(if $(wildcard ../../bin/sim65*),../../bin/sim65,sim65)
+
+RM := rm -f
+DIFF := diff -q
+
+.PHONY: all
+
+TESTS := $(patsubst %.c,%.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,%.o.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,%.os.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,%.osi.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,%.osir.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,%.oi.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,%.oir.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,%.or.prg,$(wildcard *.c))
+
+all: $(TESTS)
+
+# should compile, but then hangs in an endless loop
+endless%prg: endless.c
+       $(CL65) $(CC65FLAGS) $< -o $@
+       ! $(SIM65) $(SIM65FLAGS) $@
+
+# these need reference data that cant be generated by a host compiled program
+# in a useful way
+limits%prg: limits.c
+       $(CL65) $(CC65FLAGS) $< -o $@
+       $(SIM65) $(SIM65FLAGS) $@ > limits.out
+       $(DIFF) limits.out limits.ref
+
+# the rest are tests that fail currently for one reason or another
+fields%prg: fields.c
+       @echo "FIXME: " $@ "will currently fail"
+       $(CL65) $(CC65FLAGS) $< -o $@
+       -$(SIM65) $(SIM65FLAGS) $@
+sitest%prg: sitest.c
+       @echo "FIXME: " $@ "will currently fail"
+       -$(CL65) $(CC65FLAGS) $< -o $@
+       -$(SIM65) $(SIM65FLAGS) $@
+
+clean:
+       @$(RM) *.o
+       @$(RM) *.prg
+       @$(RM) *.out
+
diff --git a/test/misc/common.h b/test/misc/common.h
new file mode 100644 (file)
index 0000000..dada61a
--- /dev/null
@@ -0,0 +1,22 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define NO_OLD_FUNC_DECL
+#define NO_TYPELESS_INT
+#define NO_TYPELESS_INT_PTR
+#define MAIN_RETURNS_INT
+#define NO_IMPLICIT_FUNC_PROTOTYPES
+#define NO_FLOATS
+#define NO_WCHAR
+#define NO_EMPTY_FUNC_ARGS
+#define NO_SLOPPY_STRUCT_INIT
+#define NO_FUNCS_TAKE_STRUCTS
+#define NO_FUNCS_RETURN_STRUCTS
+#define CAST_STRUCT_PTR
+#define NO_TYPELESS_STRUCT_PTR
+#define NO_IMPLICIT_FUNCPTR_CONV
+#define SIZEOF_INT_16BIT
+#define SIZEOF_LONG_32BIT
+#define UNSIGNED_CHARS
+#define UNSIGNED_BITFIELDS
diff --git a/test/misc/endless.c b/test/misc/endless.c
new file mode 100644 (file)
index 0000000..7924d79
--- /dev/null
@@ -0,0 +1,13 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+
+int main(void)
+{
+    printf("entering endless loop\n");
+    for(;;) {
+        ;
+    }
+    printf("error: should not come here\n");
+    return EXIT_FAILURE;
+}
\ No newline at end of file