diff options
| author | seyko <seyko2@gmail.com> | 2016-04-05 10:43:50 +0300 |
|---|---|---|
| committer | seyko <seyko2@gmail.com> | 2016-04-05 10:43:50 +0300 |
| commit | d3e85e80fd192d3fb19fa207bd6ce158a012b45a (patch) | |
| tree | b45515d25016bb0f836f31995472741243d18ab8 /tests | |
| parent | 21665f433890e2038626f0b3123b189a62a67dc9 (diff) | |
| download | tinycc-d3e85e80fd192d3fb19fa207bd6ce158a012b45a.tar.gz tinycc-d3e85e80fd192d3fb19fa207bd6ce158a012b45a.tar.bz2 | |
Identifiers can start and/or contain '.' in *.S
modified version of the old one which don't allow '.'
in #define Identifiers. This allow correctly preprocess
the following code in *.S
#define SRC(y...) \
9999: y; \
.section __ex_table, "a"; \
.long 9999b, 6001f ; \
// .previous
SRC(1: movw (%esi), %bx)
6001:
A test included.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/Makefile | 6 | ||||
| -rw-r--r-- | tests/pp/12.S | 8 | ||||
| -rw-r--r-- | tests/pp/12.expect | 2 | ||||
| -rw-r--r-- | tests/pp/Makefile | 12 |
4 files changed, 26 insertions, 2 deletions
diff --git a/tests/Makefile b/tests/Makefile index 04390c7..f556cc5 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -73,7 +73,11 @@ DISAS = objdump -d # libtcc test ifdef LIBTCC1 - LIBTCC1:=$(TOP)/$(LIBTCC1) + ifdef CONFIG_WIN32 + LIBTCC1:=$(TOP)/win32/libtcc/libtcc.a + else + LIBTCC1:=$(TOP)/$(LIBTCC1) + endif endif all test : $(TESTS) diff --git a/tests/pp/12.S b/tests/pp/12.S new file mode 100644 index 0000000..597ccb4 --- /dev/null +++ b/tests/pp/12.S @@ -0,0 +1,8 @@ +#define SRC(y...) \ + 9999: y; \ + .section __ex_table, "a"; \ + .long 9999b, 6001f ; \ + // .previous + + SRC(1: movw (%esi), %bx) +6001: diff --git a/tests/pp/12.expect b/tests/pp/12.expect new file mode 100644 index 0000000..17a861c --- /dev/null +++ b/tests/pp/12.expect @@ -0,0 +1,2 @@ + 9999: 1: movw (%esi), %bx; .section __ex_table, "a"; .long 9999b, 6001f ; +6001: diff --git a/tests/pp/Makefile b/tests/pp/Makefile index cb8bfea..d55699c 100644 --- a/tests/pp/Makefile +++ b/tests/pp/Makefile @@ -7,6 +7,7 @@ include $(TOP)/Makefile TCC = $(TOP)/tcc TESTS = $(patsubst %.c,%.test,$(wildcard *.c)) +TESTS += $(patsubst %.S,%.test,$(wildcard *.S)) ifdef CONFIG_WIN32 TCC = $(top_srcdir)/win32/tcc @@ -20,10 +21,19 @@ all test : $(TESTS) diff -Nu -b -B -I "^#" $(EXTRA_DIFF_OPTS) $*.expect $*.output \ && rm -f $*.output +%.test: %.S %.expect + @echo PPTest $* ... + @$(TCC) -E -P $< >$*.output 2>&1 ; \ + diff -Nu -b -B -I "^#" $(EXTRA_DIFF_OPTS) $*.expect $*.output \ + && rm -f $*.output + # automatically generate .expect files with gcc: -%.expect : +%.expect: %.c gcc -E -P $*.c >$*.expect 2>&1 +%.expect: %.S + gcc -E -P $*.S >$*.expect 2>&1 + # tell make not to delete .PRECIOUS: %.expect |
