- Fix silly thinkos in that caused parsing problems in romcc.

git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1770 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Eric Biederman 2004-11-09 00:35:39 +00:00
parent 7dd185c885
commit a649a411d7
1 changed files with 6 additions and 20 deletions

View File

@ -3,7 +3,7 @@
#undef RELEASE_DATE #undef RELEASE_DATE
#undef VERSION #undef VERSION
#define VERSION_MAJOR "0" #define VERSION_MAJOR "0"
#define VERSION_MINOR "65" #define VERSION_MINOR "66"
#define RELEASE_DATE "8 November 2004" #define RELEASE_DATE "8 November 2004"
#define VERSION VERSION_MAJOR "." VERSION_MINOR #define VERSION VERSION_MAJOR "." VERSION_MINOR
@ -3994,10 +3994,6 @@ static void raw_next_token(struct compile_state *state,
if (tok == TOK_UNKNOWN) { if (tok == TOK_UNKNOWN) {
error(state, 0, "unterminated comment"); error(state, 0, "unterminated comment");
} }
if (state->token_base && (line != file->line)) {
error(state, 0,
"multiline comment in preprocessor directive");
}
file->report_line += line - file->line; file->report_line += line - file->line;
file->line = line; file->line = line;
file->line_start = line_start; file->line_start = line_start;
@ -4033,13 +4029,8 @@ static void raw_next_token(struct compile_state *state,
error(state, 0, "unterminated string constant"); error(state, 0, "unterminated string constant");
} }
if (line != file->line) { if (line != file->line) {
if (state->token_base) {
/* Preprocessor directives cannot span lines */
error(state, 0, "multiline string constant");
} else {
warning(state, 0, "multiline string constant"); warning(state, 0, "multiline string constant");
} }
}
file->report_line += line - file->line; file->report_line += line - file->line;
file->line = line; file->line = line;
file->line_start = line_start; file->line_start = line_start;
@ -4078,13 +4069,8 @@ static void raw_next_token(struct compile_state *state,
error(state, 0, "unterminated character constant"); error(state, 0, "unterminated character constant");
} }
if (line != file->line) { if (line != file->line) {
if (state->token_base) {
/* Preprocessor directives cannot span lines */
error(state, 0, "multiline character constant");
} else {
warning(state, 0, "multiline character constant"); warning(state, 0, "multiline character constant");
} }
}
file->report_line += line - file->line; file->report_line += line - file->line;
file->line = line; file->line = line;
file->line_start = line_start; file->line_start = line_start;
@ -4831,12 +4817,12 @@ static void token(struct compile_state *state, struct token *tk)
cpp_token(state, tk); cpp_token(state, tk);
} }
} }
/* Eat tokens disabled by the preprocessor */ /* Eat tokens disabled by the preprocessor (Unless we are parsing a preprocessor directive */
else if (if_eat(state)) { else if (if_eat(state) && (state->token_base == 0)) {
cpp_token(state, tk); cpp_token(state, tk);
rescan = 1; rescan = 1;
} }
/* When not in macro context hide EOL */ /* Make certain EOL only shows up in preprocessor directives */
else if ((tk->tok == TOK_EOL) && (state->token_base == 0)) { else if ((tk->tok == TOK_EOL) && (state->token_base == 0)) {
cpp_token(state, tk); cpp_token(state, tk);
rescan = 1; rescan = 1;