mirror of
https://github.com/mirror/tinycc.git
synced 2025-01-01 04:20:09 +08:00
SYMBOL_NAME_LABEL(X) X##:
In the linux kernel sources: #ifdef __STDC__ #define SYMBOL_NAME_LABEL(X) X##: #else #define SYMBOL_NAME_LABEL(X) X/**/: #endif tcc is a STDC compiler and must handle 'X##:' case.
This commit is contained in:
parent
121e95d115
commit
c52e1a9af5
4
tccpp.c
4
tccpp.c
@ -3086,7 +3086,9 @@ static inline int *macro_twosharps(const int *ptr0)
|
|||||||
/* given 'a##b', remove nosubsts preceding 'b' */
|
/* given 'a##b', remove nosubsts preceding 'b' */
|
||||||
while ((t1 = *++ptr) == TOK_NOSUBST)
|
while ((t1 = *++ptr) == TOK_NOSUBST)
|
||||||
;
|
;
|
||||||
if (t1 && t1 != TOK_TWOSHARPS) {
|
if (t1 && t1 != TOK_TWOSHARPS
|
||||||
|
&& t1 != ':') /* 'a##:' don't build a new token */
|
||||||
|
{
|
||||||
TOK_GET(&t1, &ptr, &cv1);
|
TOK_GET(&t1, &ptr, &cv1);
|
||||||
if (t != TOK_PLCHLDR || t1 != TOK_PLCHLDR) {
|
if (t != TOK_PLCHLDR || t1 != TOK_PLCHLDR) {
|
||||||
paste_tokens(t, &cval, t1, &cv1);
|
paste_tokens(t, &cval, t1, &cv1);
|
||||||
|
Loading…
Reference in New Issue
Block a user