diff options
| author | Michael Matz <matz@suse.de> | 2017-07-09 04:30:36 +0200 |
|---|---|---|
| committer | Michael Matz <matz@suse.de> | 2017-07-09 04:38:56 +0200 |
| commit | d8fdd380f39aa413886c61c2e3624ba3b4582dc0 (patch) | |
| tree | 8f17b9c9e34ae77aafd5ce37fee68f50a6523dcb /tests/pp/20.expect | |
| parent | 16d3dbf2d087c92810d8d8354822a5345978e32c (diff) | |
| download | tinycc-d8fdd380f39aa413886c61c2e3624ba3b4582dc0.tar.gz tinycc-d8fdd380f39aa413886c61c2e3624ba3b4582dc0.tar.bz2 | |
tccpp: Fix corner case
See added testcase 19.c from a bug report. The problem is reading outside
the arguments buffers, even though we aren't allowed to. The single
can_read_stream variable is not enough, sometimes we need to be able
to pop into outer contexts but not into arbitrarily outside contexts.
The trick is to terminate argument tokens with a EOF (and not just with
0 that makes us pop contexts), and deal with that in the few places
we have to,
This enables some cleanups of the can_read_stream variable use.
Diffstat (limited to 'tests/pp/20.expect')
| -rw-r--r-- | tests/pp/20.expect | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/pp/20.expect b/tests/pp/20.expect new file mode 100644 index 0000000..d19405d --- /dev/null +++ b/tests/pp/20.expect @@ -0,0 +1,6 @@ +X1 printk(KERN_WARNING "pipapo",bla); +X2 printk(KERN_WARNING "bla",foo); +X2 twoopq +X3 otwopq +X4 optwoq +X5 opqtwo |
