aboutsummaryrefslogtreecommitdiff
path: root/tests/Makefile
diff options
context:
space:
mode:
authorgrischka <grischka>2015-05-09 14:29:39 +0200
committergrischka <grischka>2015-05-09 14:29:39 +0200
commit30df3189b177c65d65094bed3a066a2722fe2dc0 (patch)
tree5cc01304899af2f09b051cdb5cf980ceb8f6b9c1 /tests/Makefile
parent70a6c4601e471054edbe2fd984e37e2ca320db14 (diff)
downloadtinycc-30df3189b177c65d65094bed3a066a2722fe2dc0.tar.gz
tinycc-30df3189b177c65d65094bed3a066a2722fe2dc0.tar.bz2
tccpp: fix issues, add tests
* fix some macro expansion issues * add some pp tests in tests/pp * improved tcc -E output for better diff'ability * remove -dD feature (quirky code, exotic feature, didn't work well) Based partially on ideas / researches from PipCet Some issues remain with VA_ARGS macros (if used in a rather tricky way). Also, to keep it simple, the pp doesn't automtically add any extra spaces to separate tokens which otherwise would form wrong tokens if re-read from tcc -E output (such as '+' '=') GCC does that, other compilers don't. * cleanups - #line 01 "file" / # 01 "file" processing - #pragma comment(lib,"foo") - tcc -E: forward some pragmas to output (pack, comment(lib)) - fix macro parameter list parsing mess from a3fc54345949535524d01319e1ca6378b7c2c201 a715d7143d9d17da17e67fec6af1c01409a71a31 (some coffee might help, next time ;) - introduce TOK_PPSTR - to have character constants as written in the file (similar to TOK_PPNUM) - allow '\' appear in macros - new functions begin/end_macro to: - fix switching macro levels during expansion - allow unget_tok to unget more than one tok - slight speedup by using bitflags in isidnum_table Also: - x86_64.c : fix decl after statements - i386-gen,c : fix a vstack leak with VLA on windows - configure/Makefile : build on windows (MSYS) was broken - tcc_warning: fflush stderr to keep output order (win32)
Diffstat (limited to 'tests/Makefile')
-rw-r--r--tests/Makefile25
1 files changed, 10 insertions, 15 deletions
diff --git a/tests/Makefile b/tests/Makefile
index 98ccb1e..270eaa7 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -19,7 +19,7 @@ TESTS = \
test3 \
abitest \
vla_test-run \
- moretests
+ tests2-dir pp-dir
BTESTS = test1b test3b btest
@@ -36,7 +36,7 @@ ifneq ($(ARCH),i386)
TESTS := $(filter-out $(BTESTS),$(TESTS))
endif
ifdef CONFIG_WIN32
- TESTS := w32-prep $(filter-out $(BTESTS),$(TESTS))
+ TESTS := $(filter-out $(BTESTS),$(TESTS))
endif
ifeq ($(TARGETOS),Darwin)
TESTS := $(filter-out hello-exe test3 $(BTESTS),$(TESTS))
@@ -60,9 +60,9 @@ ifeq ($(TARGETOS),Darwin)
endif
# run local version of tcc with local libraries and includes
-TCCFLAGS = -B$(TOP) -I$(TOP) -I$(top_srcdir) -I$(top_srcdir)/include
+TCCFLAGS = -B$(TOP) -I$(TOP) -I$(top_srcdir) -I$(top_srcdir)/include -L$(TOP)
ifdef CONFIG_WIN32
- TCCFLAGS = -B$(top_srcdir)/win32 -I$(top_srcdir) -I$(top_srcdir)/include -I$(TOP) -L$(TOP)
+ TCCFLAGS = -B$(top_srcdir)/win32 -I$(top_srcdir) -I$(top_srcdir)/include -L$(TOP)
endif
XTCCFLAGS = -B$(TOP) -B$(top_srcdir)/win32 -I$(TOP) -I$(top_srcdir) -I$(top_srcdir)/include
@@ -97,17 +97,14 @@ hello-run: ../examples/ex1.c
libtest: libtcc_test$(EXESUF) $(LIBTCC1)
@echo ------------ $@ ------------
- ./libtcc_test$(EXESUF) lib_path=..
+ ./libtcc_test$(EXESUF) $(TCCFLAGS)
libtcc_test$(EXESUF): libtcc_test.c $(top_builddir)/$(LIBTCC)
$(CC) -o $@ $^ $(CPPFLAGS) $(CFLAGS) $(NATIVE_DEFINES) $(LIBS) $(LINK_LIBTCC) $(LDFLAGS) -I$(top_srcdir)
-moretests:
+%-dir:
@echo ------------ $@ ------------
- $(MAKE) -C tests2
-
-w32-prep:
- cp ../libtcc1.a ../lib
+ $(MAKE) -k -C $*
# test.ref - generate using cc
test.ref: tcctest.c
@@ -223,9 +220,8 @@ endif
abitest: $(ABITESTS)
@echo ------------ $@ ------------
- ./abitest-cc$(EXESUF) lib_path=.. include="$(top_srcdir)/include"
- if [ "$(CONFIG_arm_eabi)" != "yes" ]; then \
- ./abitest-tcc$(EXESUF) lib_path=.. include="$(top_srcdir)/include"; fi
+ ./abitest-cc$(EXESUF) $(TCCFLAGS)
+ if [ "$(CONFIG_arm_eabi)" != "yes" ]; then ./abitest-tcc$(EXESUF) $(TCCFLAGS); fi
vla_test$(EXESUF): vla_test.c
$(TCC) -o $@ $^ $(CPPFLAGS) $(CFLAGS)
@@ -253,5 +249,4 @@ clean:
$(MAKE) -C tests2 $@
rm -vf *~ *.o *.a *.bin *.i *.ref *.out *.out? *.out?b *.cc \
*-cc *-tcc *.exe \
- hello libtcc_test vla_test tcctest[1234] ex? tcc_g tcclib.h \
- ../lib/libtcc1.a
+ hello libtcc_test vla_test tcctest[1234] ex? tcc_g