--- ../tcc-0.9.26/tccpp.c 2013-02-15 14:24:00.000000000 +0000 +++ tccpp.c 2015-04-10 17:22:06.741823069 +0100 @@ -2178,7 +2178,10 @@ } } break; - + + /* treat $ as id when using gnu ext */ + case '$': if (!gnu_ext) goto parse_simple; + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': @@ -2477,8 +2480,8 @@ case ':': case '?': case '~': - case '$': /* only used in assembler */ - case '@': /* dito */ + case '@': /* only used in assembler */ + parse_simple: tok = c; p++; break; @@ -3049,7 +3052,8 @@ /* init isid table */ for(i=CH_EOF;i<256;i++) - isidnum_table[i-CH_EOF] = isid(i) || isnum(i); + isidnum_table[i-CH_EOF] = ( + isid(i) || isnum(i) || (gnu_ext ? i == '$' : 0)); /* add all tokens */ table_ident = NULL; --- ../tcc-0.9.26/tcc-doc.texi 2013-02-15 14:24:00.000000000 +0000 +++ tcc-doc.texi 2015-04-10 16:53:14.697761387 +0100 @@ -590,6 +590,8 @@ @item @code{#pragma pack} is supported for win32 compatibility. address@hidden The dollar sign @code{$} is allowed in identifiers. + @end itemize @section TinyCC extensions