tccpp.c: parse flag to accept stray \
commit0877ba7cbf275fdcd45e3c33768d258fc75feb5b
authorPhilip <pipcet@gmail.com>
Sat, 2 May 2015 12:58:37 +0000 (2 12:58 +0000)
committerPhilip <pipcet@gmail.com>
Sat, 2 May 2015 12:58:37 +0000 (2 12:58 +0000)
treedc52b5c3b27496aca61f6ffd72b082181c7da1de
parenta3d78b95d7564c92afa09604fde6387a03d3acde
tccpp.c: parse flag to accept stray \

This adds a PARSE_FLAG_ACCEPT_STRAYS parse flag to accept stray
backslashes in the source code, and uses it for pure preprocessing.

For absolutely correct behaviour of # stringification, we need to use
this flag when parsing macro definitions and in macro arguments, as
well; this patch does not yet do so. The test case for that is something
like

    #define STRINGIFY2(x) #x
    #define STRINGIFY(x) STRINGIFY2(x)

    STRINGIFY(\n)

which should produce "\n", not a parse error or "\\n".

See http://lists.nongnu.org/archive/html/tinycc-devel/2015-05/msg00002.html
tcc.h
tccpp.c