[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] GAS symbols

From: Vladimir Vissoultchev
Subject: Re: [Tinycc-devel] GAS symbols
Date: Wed, 30 Mar 2016 02:11:16 +0300


Unfortunately the offending fix of mine causes 'y...' to be treated as a
single identifier instead of y followed by TOK_DOTS which is gcc extension
to designate 'y' to become __VA_ARGS__ replacement. Nasty!

If going forward with the commit the plan is in tccpp.c around line 1337
(nice line:-)) to check if an identifier is ending with '...' and set
is_vaargs instead of current check for TOK_DOTS on next token. That or
switching PARSE_FLAG_ASM_FILE off for preprocessor directives in .S files.

Will have to write a failing test too.


-----Original Message-----
From: address@hidden
[mailto:address@hidden On Behalf Of
Sergey Korshunoff
Sent: Tuesday, March 29, 2016 8:55 PM
To: address@hidden
Subject: Re: [Tinycc-devel] GAS symbols


Patch  "Identifiers can start and/or contain '.' in PARSE_FLAG_ASM_FILE"
breaks preprocessing on *.S
A test program (from a linux-2.4.26)

#define SRC(y...)                   \
        9999: y;                        \
        .section __ex_table, "a";       \
        .long 9999b, 6001f      ;       \
SRC(1:  movw (%esi), %bx        )
// 029-test.S:7: error: macro 'SRC' used with too many args //
//    Identifiers can start and/or contain '.' in PARSE_FLAG_ASM_FILE
// commit_good=17395ea5070bb05681f93ce7a8019c8c863a607b

This test compules OK if changes commut_good..commit_bad are reverted.

Tinycc-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]