Fix implicit extern "C" breakage introduced by tokenization patch.
authorMatt Austern <austern@gcc.gnu.org>
Mon, 27 Sep 2004 22:24:35 +0000 (22:24 +0000)
committerMatt Austern <austern@gcc.gnu.org>
Mon, 27 Sep 2004 22:24:35 +0000 (22:24 +0000)
commit7d381002de0ac552616dcc77fec78e769dffa592
treeeaabda6d357ad0b18ff320a27dd73bc59f30f80b
parent49f41d064339dd31bedd24ed1311fc8bd6c720e7
Fix implicit extern "C" breakage introduced by tokenization patch.

* cp/parser.c (struct cp_token): new one-bit field , implicit_extern_c
(cp_lexer_get_preprocessor_token): Set implicit_extern_c for
tokens that come from headers that are implicitly extern "C".
(struct cp_parser): new one-bit field, implicit_extern_c.
(cp_parser_new): Set parser's implicit_extern_c to false.
(cp_parser_translation_unit): Pop lang context if we were in a
header that was implicitly extern "C".
(cp_parser_declaration_seq_opt): Push/pop lang context as
required by the token's and parser's implicit_extern_c.

From-SVN: r88203
gcc/cp/ChangeLog
gcc/cp/parser.c