From: Paul Eggert Date: Thu, 14 Nov 2002 22:53:47 +0000 (+0000) Subject: (Torturing the Scanner): Surround the backslash-newline tests with X-Git-Tag: BISON-1_875~258 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/dda7a53e4d98add4c5ab9ba2cbc6a2bbf40e896c (Torturing the Scanner): Surround the backslash-newline tests with "#if 0", to make it less likely that we'll run into compiler bugs. Bring back solitary \ inside comment, but add a closing comment to work around HP C bug. Don't test backslash-newline in C character constant. This should fix the input.at bug reported by Nelson H. F. Beebe in . --- diff --git a/tests/input.at b/tests/input.at index d0a61ba2..78308d0c 100644 --- a/tests/input.at +++ b/tests/input.at @@ -97,18 +97,33 @@ AT_DATA_GRAMMAR([input.y], /* This is seen in GCC: a %{ and %} in middle of a comment. */ const char *foo = "So %{ and %} can be here too."; -#ifdef __STDC__ +#if 0 +/* These examples test Bison while not stressing C compilers too much. + Many C compilers mishandle backslash-newlines, so this part of the + test is inside "#if 0". The comment and string are written so that + the "#endif" will be seen regardless of the C compiler bugs that we + know about, namely: + + HP C (as of late 2002) mishandles *\[newline]\[newline]/ within a + comment. + + The Apple Darwin compiler (as of late 2002) mishandles + \\[newline]' within a character constant. + + */ + /\ -* A comment with backslash-newlines in it. %{ %} *\ +* A comment with backslash-newlines in it. %} *\ +\ / +/* { Close the above comment, if the C compiler mishandled it. */ char str[] = "\\ " A string with backslash-newlines in it %{ %} \\ +\ ""; -char apostrophe = '\\ -'\ -'; +char apostrophe = '\''; #endif #include