+1999-12-13 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * lex.c (saving_parse_to_obstack): New global.
+ (reinit_parse_for_block): Use.
+ (reinit_parse_for_expr): Use.
+ (check_newline): Use.
+
1999-12-13 Mark Mitchell <mark@codesourcery.com>
* optimize.c (initialize_inlined_parameters): Take FN to which the
struct obstack inline_text_obstack;
char *inline_text_firstobj;
+/* Nonzero if parse output is being saved to an obstack for later parsing. */
+static int saving_parse_to_obstack = 0;
+
#if USE_CPPLIB
#include "cpplib.h"
extern cpp_reader parse_in;
{
int this_lineno = lineno;
+ saving_parse_to_obstack = 1;
c = skip_white_space (c);
+ saving_parse_to_obstack = 0;
/* Don't lose our cool if there are lots of comments. */
if (lineno == this_lineno + 1)
{
int this_lineno = lineno;
+ saving_parse_to_obstack = 1;
c = skip_white_space (c);
+ saving_parse_to_obstack = 0;
/* Don't lose our cool if there are lots of comments. */
if (lineno == this_lineno + 1)
(2) I don't know how well that would work in the presense
of filenames that contain wide characters. */
- if (saw_line)
+ if (saw_line || saving_parse_to_obstack)
{
/* Don't treat \ as special if we are processing #line 1 "...".
- If you want it to be treated specially, use # 1 "...". */
+ If you want it to be treated specially, use # 1 "...". Also
+ ignore these if saving to an obstack for later parsing. */
ignore_escape_flag = 1;
}