Commit 525bc95d by Alexandre Oliva Committed by Alexandre Oliva

cpplib.h (enum cpp_token): Added CPP_WCHAR and CPP_WSTRING.

* cpplib.h (enum cpp_token): Added CPP_WCHAR and CPP_WSTRING.
* cpplib.c (cpp_get_token): Produce them.
* cppexp.c (cpp_lex): Handle them.

From-SVN: r32121
parent 1cb8d58a
2000-02-23 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* cpplib.h (enum cpp_token): Added CPP_WCHAR and CPP_WSTRING.
* cpplib.c (cpp_get_token): Produce them.
* cppexp.c (cpp_lex): Handle them.
2000-02-23 Nick Clifton <nickc@cygnus.com> 2000-02-23 Nick Clifton <nickc@cygnus.com>
* config/arm/arm.c (arm_comp_type_attributes): Simply and * config/arm/arm.c (arm_comp_type_attributes): Simply and
......
/* Parse C expressions for CCCP. /* Parse C expressions for CCCP.
Copyright (C) 1987, 92, 94, 95, 97, 98, 1999 Free Software Foundation. Copyright (C) 1987, 92, 94, 95, 97, 98, 1999, 2000 Free Software Foundation.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the under the terms of the GNU General Public License as published by the
...@@ -397,10 +397,13 @@ cpp_lex (pfile, skip_evaluation) ...@@ -397,10 +397,13 @@ cpp_lex (pfile, skip_evaluation)
case CPP_NUMBER: case CPP_NUMBER:
return parse_number (pfile, tok_start, tok_end); return parse_number (pfile, tok_start, tok_end);
case CPP_STRING: case CPP_STRING:
case CPP_WSTRING:
cpp_error (pfile, "string constants are not allowed in #if expressions"); cpp_error (pfile, "string constants are not allowed in #if expressions");
op.op = ERROR; op.op = ERROR;
return op; return op;
case CPP_CHAR: case CPP_CHAR:
case CPP_WCHAR:
return parse_charconst (pfile, tok_start, tok_end); return parse_charconst (pfile, tok_start, tok_end);
case CPP_NAME: case CPP_NAME:
......
...@@ -2447,7 +2447,6 @@ cpp_get_token (pfile) ...@@ -2447,7 +2447,6 @@ cpp_get_token (pfile)
case '\"': case '\"':
case '\'': case '\'':
string:
parse_string (pfile, c); parse_string (pfile, c);
pfile->only_seen_white = 0; pfile->only_seen_white = 0;
return c == '\'' ? CPP_CHAR : CPP_STRING; return c == '\'' ? CPP_CHAR : CPP_STRING;
...@@ -2600,7 +2599,9 @@ cpp_get_token (pfile) ...@@ -2600,7 +2599,9 @@ cpp_get_token (pfile)
{ {
CPP_PUTC (pfile, c); CPP_PUTC (pfile, c);
c = GETC (); c = GETC ();
goto string; parse_string (pfile, c);
pfile->only_seen_white = 0;
return c == '\'' ? CPP_WCHAR : CPP_WSTRING;
} }
goto letter; goto letter;
......
...@@ -43,7 +43,9 @@ enum cpp_token { ...@@ -43,7 +43,9 @@ enum cpp_token {
CPP_NAME, CPP_NAME,
CPP_NUMBER, CPP_NUMBER,
CPP_CHAR, CPP_CHAR,
CPP_WCHAR,
CPP_STRING, CPP_STRING,
CPP_WSTRING,
CPP_DIRECTIVE, CPP_DIRECTIVE,
CPP_LPAREN, /* "(" */ CPP_LPAREN, /* "(" */
CPP_RPAREN, /* ")" */ CPP_RPAREN, /* ")" */
......
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