tinycc-devel
[Top][All Lists]
Advanced

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

Re: [Tinycc-devel] Dollar Sign in Identifiers Extension


From: Daniel Holden
Subject: Re: [Tinycc-devel] Dollar Sign in Identifiers Extension
Date: Tue, 14 Apr 2015 14:49:40 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

Hi,

Thanks Ramsay and Sergey, sorry for misunderstanding about the mob branch! Working with git makes everything a lot easier - I was building the patch by hand.

I've attached a new patch for the mob branch which should work.

Thanks,

Dan

On 14/04/15 11:06, Ramsay Jones wrote:
On 14/04/15 04:47, Sergey Korshunoff wrote:
Hi!

2015-04-13 15:01 GMT, Daniel Holden <address@hidden>:
I've attached a new patch which tests for dollars in identifiers in C.
I've added a new parsing flag `PARSE_FLAG_ASM` to block the use of
dollar  identifiers when parsing asm. This could probably be combined
with the `PARSE_FLAG_ASM_COMMENTS` flag.
In the mob branch there is a flag PARSE_FLAG_ASM_FILE (in
tcc_add_file_internal) turned on before calling tcc_assmble. What is
needed in tcc_assemble is to keep it when changing parse_flags. Then
your patch must check PARSE_FLAG_ASM_FILE and not a PARSE_FLAG_ASM.

PARSE_FLAG_ASM_FILE is introduced to solve problems of the
preprocessor (different rules of the # parsing)

First version of the your patch is pushed to mob by me (with you as
the autor of the patch in comments). Only addons of the new patch must
be pushed to the mob. Your patch contain a \r chars.  Is this chars
are removed by git?
Ah, sorry Sergey, I hadn't noticed that you had already included an
earlier version of the patch. [Daniel, look on the mob branch for
commit dcb36587 ("-fdollar-in-identifiers switch which enables '$'
in identifiers", 12-04-2015)]

I notice that the mob branch does not contain Daniel's test '56_dollars.c'.
Since I had it laying around, I decided to hack the Makefile:

   $ git diff
   diff --git a/tests/tests2/Makefile b/tests/tests2/Makefile
   index 35ab3c1..4334e75 100644
   --- a/tests/tests2/Makefile
   +++ b/tests/tests2/Makefile
   @@ -76,6 +76,7 @@ TESTS =       \
     54_goto.test \
     55_lshift_type.test \
     56_btype_excess-1.test \
   + 56_dollars.test \
     57_btype_excess-2.test \
     58_function_redefinition.test \
     59_function_array.test \
   $

It should probably be called '76_dollars.c' by now! Now test:

   $ make test
   ...
   Test: 56_btype_excess-1...
   Test: 56_dollars...
   --- 56_dollars.expect        2015-04-13 17:39:08.787672483 +0100
   +++ 56_dollars.output        2015-04-14 10:52:04.232805798 +0100
   @@ -1,14 +1 @@
   -fred=10
   -joe=20
   -henry=30
   -fred2=10
   -joe2=20
   -henry2=30
   -fred10=100
   -joe_10=2
   -local=10
   -a100$=100
   -a$$=1000
   -a$c$b=2121
   -$100=10000
   -$$$=money
   +56_dollars.c:3: error: invalid macro name '$'
   make[2]: *** [56_dollars.test] Error 1
   make[2]: Leaving directory `/home/ramsay/tinycc/tests/tests2'
   make[1]: *** [moretests] Error 2
   make[1]: Leaving directory `/home/ramsay/tinycc/tests'
   make: *** [test] Error 2
   $

HTH

ATB,
Ramsay Jones





_______________________________________________
Tinycc-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/tinycc-devel



--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

Attachment: dollars-in-identifiers-update.patch
Description: Text Data


reply via email to

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