OSDN Git Service

PR c++/26660
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Jun 2006 04:55:32 +0000 (04:55 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Jun 2006 04:55:32 +0000 (04:55 +0000)
* parser.c (cp_parser_initial_pragma): Read one more token for
caller after reading PCH file in.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114298 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/parser.c

index eaa96a5..0d91aed 100644 (file)
@@ -1,3 +1,9 @@
+2006-06-01  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR c++/26660
+       * parser.c (cp_parser_initial_pragma): Read one more token for
+       caller after reading PCH file in.
+
 2006-05-31  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/27801
index 98d4c5e..0628b22 100644 (file)
@@ -19006,12 +19006,14 @@ cp_parser_initial_pragma (cp_token *first_token)
   while (first_token->type != CPP_PRAGMA_EOL && first_token->type != CPP_EOF)
     cp_lexer_get_preprocessor_token (NULL, first_token);
 
-  /* Read one more token to return to our caller.  */
-  cp_lexer_get_preprocessor_token (NULL, first_token);
-
   /* Now actually load the PCH file.  */
   if (name)
     c_common_pch_pragma (parse_in, TREE_STRING_POINTER (name));
+
+  /* Read one more token to return to our caller.  We have to do this
+     after reading the PCH file in, since its pointers have to be
+     live.  */
+  cp_lexer_get_preprocessor_token (NULL, first_token);
 }
 
 /* Normal parsing of a pragma token.  Here we can (and must) use the