Also remove bitfield test from tcctest.c because gcc versions don't agree among each other.
Showing the changes to tests (2 of 3 files). Show all
Unified · Split
| @@ -13,6 +13,7 @@ TESTS = \ · 12 unmodified lines | ||
| 13 | 13 | hello-run \ |
| 14 | 14 | libtest \ |
| 15 | 15 | test3 \ |
| 16 | + dlltest \ | |
| 16 | 17 | abitest \ |
| 17 | 18 | vla_test-run \ |
| 18 | 19 | tests2-dir \ |
| @@ -40,6 +41,9 @@ endif · 21 unmodified lines | ||
| 40 | 41 | ifeq ($(CONFIG_arm_eabi),yes) |
| 41 | 42 | TESTS := $(filter-out test3,$(TESTS)) |
| 42 | 43 | endif |
| 44 | +ifeq (,$(filter i386 x86-64,$(ARCH))) | |
| 45 | + TESTS := $(filter-out dlltest,$(TESTS)) | |
| 46 | +endif | |
| 43 | 47 | |
| 44 | 48 | # run local version of tcc with local libraries and includes |
| 45 | 49 | TCCFLAGS = -B$(TOP) -I$(TOPSRC)/include -I$(TOPSRC) -I$(TOP) |
| @@ -126,6 +130,22 @@ test4: tcctest.c test.ref · 80 unmodified lines | ||
| 126 | 130 | ./tcctest2 > test2.out |
| 127 | 131 | @if diff -u test.ref test2.out ; then echo "Static Auto Test OK"; fi |
| 128 | 132 | |
| 133 | +# use tcc to create libtcc.so/.dll and the tcc(.exe) frontend and run them | |
| 134 | +dlltest: | |
| 135 | + @echo ------------ $@ ------------ | |
| 136 | + $(TCC) -DONE_SOURCE $(NATIVE_DEFINES) -DLIBTCC_AS_DLL ../libtcc.c $(LIBS) -shared -o libtcc2$(DLLSUF) | |
| 137 | + $(TCC) $(NATIVE_DEFINES) ../tcc.c libtcc2$(DLLSUF) $(LIBS) -Wl,-rpath=. -o tcc2$(EXESUF) | |
| 138 | + ./tcc2$(EXESUF) $(TCCFLAGS) $(RUN_TCC) -run ../examples/ex1.c | |
| 139 | +ifndef CONFIG_WIN32 | |
| 140 | + @echo ------------ $@ with PIC ------------ | |
| 141 | + $(CC) $(CFLAGS) -fPIC -DONE_SOURCE $(NATIVE_DEFINES) -DLIBTCC_AS_DLL -c ../libtcc.c | |
| 142 | + $(TCC) libtcc.o $(LIBS) -shared -o libtcc2$(DLLSUF) | |
| 143 | + $(TCC) $(NATIVE_DEFINES) ../tcc.c libtcc2$(DLLSUF) $(LIBS) -Wl,-rpath=. -o tcc2$(EXESUF) | |
| 144 | + ./tcc2$(EXESUF) $(TCCFLAGS) $(RUN_TCC) -run ../examples/ex1.c | |
| 145 | +endif | |
| 146 | + @rm tcc2$(EXESUF) libtcc2$(DLLSUF) | |
| 147 | + | |
| 148 | + | |
| 129 | 149 | # memory and bound check auto test |
| 130 | 150 | BOUNDS_OK = 1 4 8 10 14 |
| 131 | 151 | BOUNDS_FAIL= 2 5 7 9 11 12 13 15 |
| @@ -1634,15 +1634,6 @@ void bitfield_test(void) · 1633 unmodified lines | ||
| 1634 | 1634 | st2.f3 = a; |
| 1635 | 1635 | st2.f2++; |
| 1636 | 1636 | printf("%lld %lld %lld\n", st2.f1, st2.f2, st2.f3); |
| 1637 | − struct sbf3 { | |
| 1638 | − int f1 : 7; | |
| 1639 | − int f2 : 1; | |
| 1640 | − char f3; | |
| 1641 | − int f4 : 8; | |
| 1642 | − int f5 : 1; | |
| 1643 | − int f6 : 16; | |
| 1644 | − } st3; | |
| 1645 | − printf("sizeof(st3) = %d\n", sizeof(st3)); | |
| 1646 | 1637 | } |
| 1647 | 1638 | |
| 1648 | 1639 | #ifdef __x86_64__ |