Commit d1d9a6bd by Neil Booth Committed by Neil Booth

cppexp.c (parse_assertion): Supply extra argument to _cpp_init_toklist.

	* cppexp.c (parse_assertion): Supply extra argument to
	_cpp_init_toklist.
	* cpplib.c (do_assert, do_unassert): Similarly.
	* cpphash.h (_cpp_init_toklist) Update.
	(_cpp_expand_token_space): New.
	(DUMMY_TOKEN, NO_DUMMY_TOKEN): New.
	* cpplex.c (_cpp_init_toklist): New argument.
	(parse_string2): New argument multiline_ok.
	(spell_token): Take a const cpp_token *.
	(INIT_NAME): Replace with INIT_TOKEN_NAME.  Update tokens_used.
	(SPELL_ macros): Replace with enum.
	(expand_token_space): Replace with _cpp_expand_token_space.
	Take COUNT argument.
	(IS_DIRECTIVE): Update.
	(_cpp_lex_line): Update token structure before parsing number.
	Don't assume start at beginning of token list.
	(save_comment): Use INIT_TOKEN_NAME.

From-SVN: r34214
parent f45c9d95
2000-05-28 Neil Booth <NeilB@earthling.net>
* cppexp.c (parse_assertion): Supply extra argument to
_cpp_init_toklist.
* cpplib.c (do_assert, do_unassert): Similarly.
* cpphash.h (_cpp_init_toklist) Update.
(_cpp_expand_token_space): New.
(DUMMY_TOKEN, NO_DUMMY_TOKEN): New.
* cpplex.c (_cpp_init_toklist): New argument.
(parse_string2): New argument multiline_ok.
(spell_token): Take a const cpp_token *.
(INIT_NAME): Replace with INIT_TOKEN_NAME. Update tokens_used.
(SPELL_ macros): Replace with enum.
(expand_token_space): Replace with _cpp_expand_token_space.
Take COUNT argument.
(IS_DIRECTIVE): Update.
(_cpp_lex_line): Update token structure before parsing number.
Don't assume start at beginning of token list.
(save_comment): Use INIT_TOKEN_NAME.
2000-05-27 Zack Weinberg <zack@wolery.cumb.org> 2000-05-27 Zack Weinberg <zack@wolery.cumb.org>
* configure.in (stage1_warn_cflags): Add -Wstrict-prototypes * configure.in (stage1_warn_cflags): Add -Wstrict-prototypes
...@@ -423,7 +423,7 @@ parse_assertion (pfile) ...@@ -423,7 +423,7 @@ parse_assertion (pfile)
if (_cpp_get_directive_token (pfile) != CPP_OPEN_PAREN) if (_cpp_get_directive_token (pfile) != CPP_OPEN_PAREN)
CPP_ICE ("impossible token, expecting ( in parse_assertion"); CPP_ICE ("impossible token, expecting ( in parse_assertion");
_cpp_init_toklist (&query); _cpp_init_toklist (&query, NO_DUMMY_TOKEN);
specific = 1; specific = 1;
if (_cpp_scan_until (pfile, &query, CPP_CLOSE_PAREN) != CPP_CLOSE_PAREN) if (_cpp_scan_until (pfile, &query, CPP_CLOSE_PAREN) != CPP_CLOSE_PAREN)
SYNTAX_ERROR ("missing close paren on assertion answer"); SYNTAX_ERROR ("missing close paren on assertion answer");
......
...@@ -218,6 +218,10 @@ extern unsigned char _cpp_IStable[256]; ...@@ -218,6 +218,10 @@ extern unsigned char _cpp_IStable[256];
#define ADJACENT_TO_MARK(PFILE) \ #define ADJACENT_TO_MARK(PFILE) \
(CPP_BUFFER(PFILE)->cur - CPP_BUFFER(PFILE)->mark == 1) (CPP_BUFFER(PFILE)->cur - CPP_BUFFER(PFILE)->mark == 1)
/* Flags for _cpp_init_toklist. */
#define DUMMY_TOKEN 0
#define NO_DUMMY_TOKEN 1
/* In cpphash.c */ /* In cpphash.c */
extern unsigned int _cpp_calc_hash PARAMS ((const U_CHAR *, size_t)); extern unsigned int _cpp_calc_hash PARAMS ((const U_CHAR *, size_t));
extern HASHNODE *_cpp_lookup PARAMS ((cpp_reader *, extern HASHNODE *_cpp_lookup PARAMS ((cpp_reader *,
...@@ -260,7 +264,7 @@ extern enum cpp_ttype _cpp_get_define_token ...@@ -260,7 +264,7 @@ extern enum cpp_ttype _cpp_get_define_token
PARAMS ((cpp_reader *)); PARAMS ((cpp_reader *));
extern enum cpp_ttype _cpp_scan_until PARAMS ((cpp_reader *, cpp_toklist *, extern enum cpp_ttype _cpp_scan_until PARAMS ((cpp_reader *, cpp_toklist *,
enum cpp_ttype)); enum cpp_ttype));
extern void _cpp_init_toklist PARAMS ((cpp_toklist *)); extern void _cpp_init_toklist PARAMS ((cpp_toklist *, int));
extern void _cpp_clear_toklist PARAMS ((cpp_toklist *)); extern void _cpp_clear_toklist PARAMS ((cpp_toklist *));
extern void _cpp_free_toklist PARAMS ((cpp_toklist *)); extern void _cpp_free_toklist PARAMS ((cpp_toklist *));
extern void _cpp_slice_toklist PARAMS ((cpp_toklist *, extern void _cpp_slice_toklist PARAMS ((cpp_toklist *,
...@@ -271,7 +275,7 @@ extern int _cpp_equiv_tokens PARAMS ((const cpp_token *, ...@@ -271,7 +275,7 @@ extern int _cpp_equiv_tokens PARAMS ((const cpp_token *,
const cpp_token *)); const cpp_token *));
extern int _cpp_equiv_toklists PARAMS ((const cpp_toklist *, extern int _cpp_equiv_toklists PARAMS ((const cpp_toklist *,
const cpp_toklist *)); const cpp_toklist *));
extern void _cpp_expand_token_space PARAMS ((cpp_toklist *, unsigned int));
/* In cpplib.c */ /* In cpplib.c */
extern int _cpp_handle_directive PARAMS ((cpp_reader *)); extern int _cpp_handle_directive PARAMS ((cpp_reader *));
......
...@@ -1550,7 +1550,7 @@ do_assert (pfile) ...@@ -1550,7 +1550,7 @@ do_assert (pfile)
ERROR ("missing token-sequence in #assert"); ERROR ("missing token-sequence in #assert");
pred = (struct predicate *) xmalloc (sizeof (struct predicate)); pred = (struct predicate *) xmalloc (sizeof (struct predicate));
_cpp_init_toklist (&pred->answer); _cpp_init_toklist (&pred->answer, NO_DUMMY_TOKEN);
if (_cpp_scan_until (pfile, &pred->answer, CPP_CLOSE_PAREN) if (_cpp_scan_until (pfile, &pred->answer, CPP_CLOSE_PAREN)
!= CPP_CLOSE_PAREN) != CPP_CLOSE_PAREN)
...@@ -1626,7 +1626,7 @@ do_unassert (pfile) ...@@ -1626,7 +1626,7 @@ do_unassert (pfile)
if (type == CPP_OPEN_PAREN) if (type == CPP_OPEN_PAREN)
{ {
specific = 1; specific = 1;
_cpp_init_toklist (&ans); _cpp_init_toklist (&ans, NO_DUMMY_TOKEN);
if (_cpp_scan_until (pfile, &ans, CPP_CLOSE_PAREN) if (_cpp_scan_until (pfile, &ans, CPP_CLOSE_PAREN)
!= CPP_CLOSE_PAREN) != CPP_CLOSE_PAREN)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment