From 2b7ee000cd3dd49283f73a95bb0a09cb2de7039f Mon Sep 17 00:00:00 2001 From: grischka Date: Thu, 15 Dec 2016 17:04:07 +0100 Subject: tests: add .so/.dll creation test Also remove bitfield test from tcctest.c because gcc versions don't agree among each other. --- tests/Makefile | 20 ++++++++++++++++++++ tests/tcctest.c | 9 --------- 2 files changed, 20 insertions(+), 9 deletions(-) (limited to 'tests') diff --git a/tests/Makefile b/tests/Makefile index 50b3a8c..a86e8a2 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -13,6 +13,7 @@ TESTS = \ hello-run \ libtest \ test3 \ + dlltest \ abitest \ vla_test-run \ tests2-dir \ @@ -40,6 +41,9 @@ endif ifeq ($(CONFIG_arm_eabi),yes) TESTS := $(filter-out test3,$(TESTS)) endif +ifeq (,$(filter i386 x86-64,$(ARCH))) + TESTS := $(filter-out dlltest,$(TESTS)) +endif # run local version of tcc with local libraries and includes TCCFLAGS = -B$(TOP) -I$(TOPSRC)/include -I$(TOPSRC) -I$(TOP) @@ -126,6 +130,22 @@ test4: tcctest.c test.ref ./tcctest2 > test2.out @if diff -u test.ref test2.out ; then echo "Static Auto Test OK"; fi +# use tcc to create libtcc.so/.dll and the tcc(.exe) frontend and run them +dlltest: + @echo ------------ $@ ------------ + $(TCC) -DONE_SOURCE $(NATIVE_DEFINES) -DLIBTCC_AS_DLL ../libtcc.c $(LIBS) -shared -o libtcc2$(DLLSUF) + $(TCC) $(NATIVE_DEFINES) ../tcc.c libtcc2$(DLLSUF) $(LIBS) -Wl,-rpath=. -o tcc2$(EXESUF) + ./tcc2$(EXESUF) $(TCCFLAGS) $(RUN_TCC) -run ../examples/ex1.c +ifndef CONFIG_WIN32 + @echo ------------ $@ with PIC ------------ + $(CC) $(CFLAGS) -fPIC -DONE_SOURCE $(NATIVE_DEFINES) -DLIBTCC_AS_DLL -c ../libtcc.c + $(TCC) libtcc.o $(LIBS) -shared -o libtcc2$(DLLSUF) + $(TCC) $(NATIVE_DEFINES) ../tcc.c libtcc2$(DLLSUF) $(LIBS) -Wl,-rpath=. -o tcc2$(EXESUF) + ./tcc2$(EXESUF) $(TCCFLAGS) $(RUN_TCC) -run ../examples/ex1.c +endif + @rm tcc2$(EXESUF) libtcc2$(DLLSUF) + + # memory and bound check auto test BOUNDS_OK = 1 4 8 10 14 BOUNDS_FAIL= 2 5 7 9 11 12 13 15 diff --git a/tests/tcctest.c b/tests/tcctest.c index b0fe8f3..5851fb4 100644 --- a/tests/tcctest.c +++ b/tests/tcctest.c @@ -1634,15 +1634,6 @@ void bitfield_test(void) st2.f3 = a; st2.f2++; printf("%lld %lld %lld\n", st2.f1, st2.f2, st2.f3); - struct sbf3 { - int f1 : 7; - int f2 : 1; - char f3; - int f4 : 8; - int f5 : 1; - int f6 : 16; - } st3; - printf("sizeof(st3) = %d\n", sizeof(st3)); } #ifdef __x86_64__ -- cgit v1.3.1