mirror of
https://github.com/mirror/tinycc.git
synced 2024-12-28 04:00:06 +08:00
da0d43903b
tccpp.c: - revert "Preprocessor fix + new testcase" Fix was not a fix and nobody could understand the test. This reverts6379f2ee76
- better fix and add new test (pp/18.c) tccgen.c: - remove global variables 'in_sizeof', 'constant_p' - rework comma expression (gexpr()) - merge func/data 'alias_target' codes (See08c777053c
) - move call to do_Static_assert() - better error: "expression expected before '%s'" - fix "statement after label" - remove unnecessary second parameter to block() - remove unnecessary call to decl() - revert changes to old C89 test file See7f0a28f6ca
tccelf.c: - rework "...make undefined global symbol STT_NOTYPE" (Seef44060f8fc
) - move tccelf_add_crtbegin() from libtcc.c tcctest: - unfix K&R fix (keep old look of K&R functions) tccrun.c: - exit(0) returns 0 libtcc.c: - move #defines for -dumpmachine - more explicit error "file not found" (as opposed to error while loading file) tccpe.c, x86_64-gen.c, i386-asm.c, tccasm.c: - use R_X86_64_PLT32 for functions on x86_64-win32 tccdefs.h - empty #defines for _Nonnull, __has_builtin(), etc. configure: - Simpler "macOS .dylib ... VERSION letters." (See6b967b1285
) Makefile: - macOS version also - add cross searchpaths for packages build.yml: - disable codesign on macos-11 (doesn't seem to work)
31 lines
901 B
C
31 lines
901 B
C
#define M_RETI_ARG27(x,y,z,aa, ...) aa
|
|
#define M_RET_ARG27(...) M_RETI_ARG27(__VA_ARGS__)
|
|
#define M_COMMA_P(...) M_RET_ARG27(__VA_ARGS__, 1, 1, 0, useless)
|
|
#define M_EMPTYI_DETECT(...) 0, 1,
|
|
#define M_EMPTYI_P_C1(...) M_COMMA_P(M_EMPTYI_DETECT __VA_ARGS__ () )
|
|
#define EX
|
|
#define empty(x)
|
|
#define fnlike(x) yeah x
|
|
/* If the following macro is called with empty arg (X183), the use
|
|
of 'x' between fnlike and '(' doesn't hinder the recognition of this
|
|
being a further fnlike macro invocation. */
|
|
#define usefnlike(x) fnlike x (x)
|
|
X181 M_EMPTYI_P_C1()
|
|
X182 M_EMPTYI_P_C1(x)
|
|
X183 usefnlike()
|
|
|
|
#define ABC(x) ABC : x
|
|
#define A(a,b,c) a ## b ## c
|
|
#define B(a,b,c) A(a,b,c)
|
|
#define C(a,b,c) a b c
|
|
B(
|
|
C(A,C(,,),),
|
|
C(B(,,),B,B(,,)),
|
|
C(B(,,),B(,,),C)
|
|
)/* */(a b c)
|
|
|
|
#define TEST(x) TEST : x
|
|
#define K(a,b) a ## b
|
|
#define L(a,b) K( TE a , b ST )
|
|
L(,)(t e s t)
|