1. 06 Jan, 2006 13 commits
    • tree-dfa.c (mark_new_vars_to_rename): Create stmt annotation, if necessary. · f37a6f4f
      2006-01-06  Richard Guenther  <rguenther@suse.de>
      
      	* tree-dfa.c (mark_new_vars_to_rename): Create stmt
      	annotation, if necessary.
      	* tree-ssa-pre.c (create_expression_by_pieces): Remove
      	redundant calls to update_stmt.
      	* tree-ssa-forwprop.c (tidy_after_forward_propagate_addr):
      	Likewise.
      
      From-SVN: r109416
      Richard Guenther committed
    • stl_bvector.h (vector<bool>::erase(iterator, iterator)): Just use _M_erase_at_end. · fd09ac0c
      2006-01-06  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/bits/stl_bvector.h (vector<bool>::erase(iterator,
      	iterator)): Just use _M_erase_at_end.
      
      2006-01-06  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/bits/stl_bvector.h (class vector<bool>): Move all the
      	helpers under protected access mode, consistently with the primary
      	vector template.
      	(vector<bool>::_M_erase_at_end): Add.
      	(erase(iterator, iterator), clear, resize, _M_fill_assign,
      	_M_assign_aux): Use it.
      	* testsuite/23_containers/vector/bool/modifiers/erase/1.cc: New.
      
      2006-01-06  Paolo Carlini  <pcarlini@suse.de>
      
      	Implement Option 3 of DR 431 for vector<bool>.
      	* include/bits/stl_bvector.h (class _Bvector_base): Change to
      	a struct, consistently with the primary vector template.
      	(class vector<bool>): Adjust to protected inheritance, tidy
      	typedefs.
      	(_Bvector_base<>::_M_get_Bit_allocator): Add.
      	(vector<bool>::vector(const vector&)): Use it.
      	(_Bvector_base<>::get_allocator): Tidy.
      	(vector<bool>::swap): Use __alloc_swap.
      	* testsuite/23_containers/vector/bool/modifiers/swap/1.cc: New.
      	* testsuite/23_containers/vector/bool/modifiers/swap/2.cc: New.
      
      From-SVN: r109415
      Paolo Carlini committed
    • re PR libfortran/25598 (gfortran - Fortran runtime error: Invalid argument) · 1b40bdc4
      2006-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/25598
      	* io/file_pos.c (unformatted_backspace): Assure the new file position
      	to seek is not less than zero.
      	(st_backspace): Set unit bytes_left to zero.
      	* io/transfer.c (next_record_r): Fix line lengths, no functional change.
      
      	Fix date on ChangeLog
      
      From-SVN: r109408
      Jerry DeLisle committed
    • testsuite_hooks.h (test_tm(unsigned)): Change to take all the tm members. · a98c14f4
      2006-01-05  Paolo Carlini  <pcarlini@suse.de>
      	
      	* testsuite/testsuite_hooks.h (test_tm(unsigned)): Change to
      	take all the tm members.
      	* testsuite/testsuite_hooks.cc (test_tm): Adjust.
      	* testsuite/22_locale/time_put/put/wchar_t/10.cc: Update.
      	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/10.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/1.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/5.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/9.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
      	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
       	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
       	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
      
      From-SVN: r109407
      Paolo Carlini committed
    • re PR libfortran/25598 (gfortran - Fortran runtime error: Invalid argument) · 2f94c68c
      2005-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/25598
      	* gfortran.dg/backspace_3.f: New test.
      	* gfortran.dg/backspace_4.f: New test.
      
      From-SVN: r109406
      Jerry DeLisle committed
    • re PR libfortran/25598 (gfortran - Fortran runtime error: Invalid argument) · 9696b225
      2006-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/25598
      	* io/file_pos.c (unformatted_backspace): Assure the new file position
      	to seek is not less than zero.
      	(st_backspace): Set unit bytes_left to zero.
      	* io/transfer.c (next_record_r): Fix line lengths, no functional change.
      
      From-SVN: r109405
      Jerry DeLisle committed
    • re PR fortran/24268 (gfortran rejects valid format statement) · 5c1fac10
      2005-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/24268
      	* gfortran.dg/fmt_white.f: Update test.
      
      From-SVN: r109404
      Jerry DeLisle committed
    • Fix date on log entry. · ea9b43e6
      From-SVN: r109403
      Jerry DeLisle committed
    • re PR fortran/24268 (gfortran rejects valid format statement) · df3c4c81
      2006-01-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/24268
      	* io.c (next_char_not_space): New function that returns the next
      	character that is not white space.
      	(format_lex): Use the new function to skip whitespace within
      	a format string.
      
      From-SVN: r109402
      Jerry DeLisle committed
    • natThread.cc (finish_): Don't clear 'group'. · 1058a848
      	* java/lang/natThread.cc (finish_): Don't clear 'group'.
      	* sources.am, Makefile.in: Rebuilt.
      	* java/lang/Runtime.java (exit): Merged with Classpath.
      	(runShutdownHooks): New method from Classpath.
      	* java/io/File.java (deleteOnExit): Use DeleteFileHelper, not
      	FileDeleter.
      	* gnu/gcj/runtime/FileDeleter.java: Removed.
      	* java/lang/natRuntime.cc (runFinalizationForExit): New method.
      	(exitInternal): Don't run finalizers or delete files.
      
      From-SVN: r109400
      Tom Tromey committed
    • Daily bump. · 0c158c88
      From-SVN: r109397
      GCC Administrator committed
    • testsuite_hooks.h: Adjust Copyright dates. · 0d714d14
      2006-01-05  Paolo Carlini  <pcarlini@suse.de>
      
              * testsuite/testsuite_hooks.h: Adjust Copyright dates.
              * testsuite/testsuite_hooks.cc: Likewise.
      
      From-SVN: r109391
      Paolo Carlini committed
    • testsuite_hooks.h (test_tm(unsigned)): New. · 8877477c
      2006-01-05  Paolo Carlini  <pcarlini@suse.de>
      	
      	* testsuite/testsuite_hooks.h (test_tm(unsigned)): New.
      	* testsuite/testsuite_hooks.cc (test_tm(unsigned)): Define.
      	* testsuite/22_locale/time_put/put/wchar_t/10.cc: Use it.
      	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/10.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/1.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/5.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/9.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
      	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
       	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
       	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
      
      From-SVN: r109390
      Paolo Carlini committed
  2. 05 Jan, 2006 15 commits
  3. 04 Jan, 2006 12 commits
    • re PR c++/25632 (ICE with const int copied into two different functions) · 57b37fe3
      	PR c++/25632
      	* init.c (constant_value_1): Unshare use of DECL_INITIAL.  Fix a typo
      	in condition.
      
      From-SVN: r109354
      Zdenek Dvorak committed
    • decNumber.c (__NO_STRING_INLINES): Define to prevent glibc macro definition of… · 7a6d30ce
      decNumber.c (__NO_STRING_INLINES): Define to prevent glibc macro definition of strcpy from generating compilation...
      
      
      	* decNumber.c (__NO_STRING_INLINES): Define to prevent glibc macro
      	definition of strcpy from generating compilation warnings.
      
      
      Co-Authored-By: Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
      
      From-SVN: r109351
      Roger Sayle committed
    • posix-threads.cc (_Jv_InitThreads): #ifdef PTHREAD_STACK_MIN · 1916e588
      2006-01-04  Krister Walfridsson  <cato@df.lth.se>
      
      	* posix-threads.cc (_Jv_InitThreads): #ifdef PTHREAD_STACK_MIN
      
      From-SVN: r109350
      Krister Walfridsson committed
    • typeck2.c: update copyright to 2006 · b7af94d8
      2006-01-04  Chris Lattner  <sabre@gnu.org>
      
              * typeck2.c: update copyright to 2006
              (split_nonconstant_init_1):  Set TREE_CONSTANT to true.
      
      From-SVN: r109348
      Chris Lattner committed
    • another trivial tweak for consistency · a9210574
      From-SVN: r109347
      Chris Lattner committed
    • obvious typo fix · 0eaf8e17
      From-SVN: r109346
      Chris Lattner committed
    • Add myself. · c76c0c83
      From-SVN: r109345
      Chris Lattner committed
    • re PR c++/24782 (wrongly accepted nested private typedef) · 19e65f30
      	PR c++/24782
      	* parser.c (cp_parser_nested_name_specifier_opt): Preserve access
      	checks, even when parsing tentatively.
      	PR c++/24782
      	* g++.dg/parse/access9.C: New test.
      	* g++.dg/tc1/dr52.C: Tweak error markers.
      
      From-SVN: r109342
      Mark Mitchell committed
    • Class.h (_Jv_CopyClassesToSystemLoader): Updated. · 2fb13888
      	* java/lang/Class.h (_Jv_CopyClassesToSystemLoader): Updated.
      	* java/lang/natClassLoader.cc (_Jv_CopyClassesToSystemLoader):
      	Changed argument type.  Use SystemClassLoader.addClass.
      	* gnu/gcj/runtime/SystemClassLoader.java (addClass): New method.
      
      From-SVN: r109340
      Tom Tromey committed
    • m68k.c (m68k_output_mi_thunk): Use jmp, not jsr. · a8c253d0
      2006-01-04  Paul Brook  <paul@codesourcery.com>
      
      	* config/m68k/m68k.c (m68k_output_mi_thunk): Use jmp, not jsr.
      
      From-SVN: r109338
      Paul Brook committed
    • lambda-code.c (can_put_in_inner_loop): Relax restrictions. · dc006c70
      2006-01-04  Daniel Berlin  <dberlin@dberlin.org>
      
      	* lambda-code.c (can_put_in_inner_loop): Relax
      	restrictions.
      	(can_put_after_inner_loop): New function.
      	(can_convert_to_perfect_nest): Use can_put_after_inner_loop as well.
      	(perfect_nestify): Change to make copies and modify uses.
      
      From-SVN: r109337
      Daniel Berlin committed
    • directives.c (struct pragma_entry): Add is_deferred. · bc4071dd
      libcpp/
      	* directives.c (struct pragma_entry): Add is_deferred.  Add ident
      	entry to value union.
      	(end_directive): Don't eat the line if in_deferred_pragma.
      	(run_directive): Remove pragma hacks.
      	(insert_pragma_entry): Remove.
      	(new_pragma_entry): New.
      	(register_pragma_1): Split out of register_pragma.  Only handle
      	the lookup tree and return the new entry.
      	(cpp_register_pragma): Fill in the pragma entry here.
      	(cpp_register_deferred_pragma): New.
      	(register_pragma_internal): New.
      	(_cpp_init_internal_pragmas): Use register_pragma_internal.
      	(do_pragma): Allow pragma expansion after namespace.  For deferred
      	pragmas, don't slurp the line into a string.
      	(destringize_and_run): Save tokens for deferred pragmas.
      	(cpp_handle_deferred_pragma): Remove.
      	* macro.c (builtin_macro): Remove pragma token hack.
      	(_cpp_push_token_context): Rename from push_token_context and export.
      	* internal.h (struct lexer_state): Add pragma_allow_expansion.
      	(_cpp_push_token_context): Declare.
      	* lex.c (_cpp_lex_token): Allow _cpp_handle_directive to return
      	a token.  Update the line number correctly if so.
      	(_cpp_lex_direct): Emit CPP_PRAGMA_EOL tokens.
      	(cpp_token_val_index): Return CPP_TOKEN_FLD_PRAGMA for pragmas.
      	* include/cpplib.h (PRAGMA_EOL): New.
      	(CPP_TOKEN_FLD_PRAGMA): New.
      	(struct cpp_token): Add val.pragma.
      	(struct cpp_options): Remove defer_pragmas.
      	(cpp_handle_deferred_pragma): Remove.
      	(cpp_register_deferred_pragma): Declare.
      
      gcc/
      	* c-lex.c (c_lex_with_flags) <CPP_PRAGMA>: Smuggle pragma id
      	via integer constant.
      	(pragma_lex): Remove.
      	* c-pch.c (c_common_pch_pragma): Accept the name as an argument,
      	rather than parsing it.
      	* c-pragma.c (handle_pragma_weak, handle_pragma_redefine_extname,
      	handle_pragma_extern_prefix): Add %< %> quotes.
      	(registered_pragmas): New.
      	(c_register_pragma_1): New.
      	(c_register_pragma): Use it.
      	(c_register_pragma_with_expansion): Likewise.
      	(c_invoke_pragma_handler): New.
      	(init_pragma): Use cpp_register_deferred_pragma directly for
      	pch_preprocess.
      	* c-pragma.h (enum pragma_kind): New.
      	(pragma_handler): New.
      	(c_invoke_pragma_handler): Declare.
      	* c-common.c (c_parse_error): Pretty print CPP_PRAGMA and
      	CPP_PRAGMA_EOL.
      	* c-common.h (c_common_pch_pragma): Update decl.
      	* Makefile.in (c-parser.o): Update dependencies.
      	(GTFILES): Add c-pragma.h.
      	* c-parser.c (struct c_token): Add pragma_kind.
      	(struct c_parser): Add in_pragma.
      	(c_lex_one_token): Always initialize keyword and pragma_kind.
      	Extract data for CPP_PRAGMA.
      	(c_parser_peek_2nd_token): Deny CPP_PRAGMA_EOL.
      	(c_parser_consume_token): Don't allow CPP_PRAGMA unless errors.
      	Don't allow CPP_PRAGMA_EOL if in_pragma.
      	(c_parser_consume_pragma): New.
      	(c_parser_skip_until_found): Stop on CPP_PRAGMA_EOL.
      	(c_parser_skip_to_end_of_parameter): Likewise.
      	(c_parser_skip_to_end_of_block_or_statement): Likewise.
      	(c_parser_skip_to_pragma_eol): New.
      	(c_parser_external_declaration): Handle CPP_PRAGMA.
      	(c_parser_compound_statement_nostart): Likewise.
      	(c_parser_statement_after_labels): Likewise.
      	(c_parser_pragma): New.
      	(pragma_lex): Likewise.
      	(c_parser_pragma_pch_preprocess): New.
      	(c_parser_new): Merge into ...
      	(c_parse_file): ... here.  Call c_parser_pragma_pch_preprocess.
      
      gcc/cp/
      	* lex.c (handle_pragma_java_exceptions): Fix whitespace.
      	* parser.c (struct cp_token): Add pragma_kind.
      	(eof_token): Update to match.
      	(struct cp_lexer): Add in_pragma; rearrange next for better packing.
      	(cp_parser_initial_pragma): New.
      	(cp_lexer_new_main): Use it.  Don't bother clearing
      	c_lex_return_raw_strings.
      	(cp_lexer_get_preprocessor_token): Always initialize keyword
      	and pragma_kind fields.  Handle CPP_PRAGMA.
      	(cp_lexer_consume_token): Don't allow CPP_PRAGMA_EOL when 
      	in_pragma is set.
      	(cp_lexer_handle_pragma): Remove.  Update callers to cp_parser_pragma.
      	(cp_lexer_print_token) <CPP_PRAGMA>: Don't print as a string.
      	(cp_parser_skip_to_pragma_eol): New.
      	(cp_parser_error): Use it.
      	(cp_parser_skip_to_closing_parenthesis): Stop at CPP_PRAGMA_EOL;
      	rearrange with switch statement.
      	(cp_parser_skip_to_end_of_statement): Likewise.
      	(cp_parser_skip_to_end_of_block_or_statement): Likewise.
      	(cp_parser_skip_to_closing_brace): Likewise.
      	(cp_parser_skip_until_found): Likewise.
      	(cp_parser_statement): Add in_compound argument; update callers.
      	Use it to decide how to handle pragma parsing.
      	(cp_parser_labeled_statement): Add in_compound argument; pass
      	it on to cp_parser_statement.
      	(cp_parser_statement_seq_opt): Stop at CPP_PRAGMA_EOL.
      	(cp_parser_declaration_seq_opt): Likewise.
      	(cp_parser_parameter_declaration): Likewise.
      	(cp_parser_member_specification_opt): Likewise.
      	(cp_parser_function_definition_after_decl): Likewise.
      	(cp_parser_cache_group): Handle CPP_PRAGMA/CPP_PRAGMA_EOL pairs.
      	(cp_parser_pragma): New.
      	(pragma_lex): New.
      
      gcc/testsuite/
      	* g++.dg/parse/pragma2.C: Update expected error lines.
      
      From-SVN: r109336
      Richard Henderson committed