aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-01-05MAINTAINERS (Write after approval): Add myself.Bernhard Reutner-Fischer1-0/+1
2006-01-05 Bernhard Fischer <rep.nop@aon.at> * MAINTAINERS (Write after approval): Add myself. From-SVN: r109377
2006-01-05tree-flow.h (struct fieldoff): Decompose field to type, size and decl.Richard Guenther4-20/+37
2006-01-05 Richard Guenther <rguenther@suse.de> * tree-flow.h (struct fieldoff): Decompose field to type, size and decl. * tree-ssa-alias.c (create_sft): Take type as parameter. (create_overlap_variables_for): Store type, size and decl in the fieldoff structure. * tree-ssa-structalias.c (fieldoff_compare): Adjust users of struct fieldoff. (push_fields_onto_fieldstack): Likewise. (create_variable_info_for): Likewise. Use offset for the SFT name if the decl is not available. From-SVN: r109376
2006-01-05Makefile.in: Use -MMD instead of -MD.Paolo Bonzini2-1/+5
2006-02-05 Paolo Bonzini <bonzini@gnu.org> * Makefile.in: Use -MMD instead of -MD. From-SVN: r109373
2006-01-05thunk3.C, thunk4.C: Revert unnecessary fix for 64-bit fix.Hans-Peter Nilsson3-2/+7
* g++.dg/abi/thunk3.C, g++.dg/abi/thunk4.C: Revert unnecessary fix for 64-bit fix. From-SVN: r109371
2006-01-05fixed missing changelog entry for r109153Kenneth Zadeck1-0/+13
From-SVN: r109370
2006-01-05re PR fortran/23675 (ICE in gfc_finish_var_decl (string manipulation))Erik Edelmann6-5/+214
2006-01-05 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/23675 * expr.c (gfc_expr_set_symbols_referenced): New function. * gfortran.h: Add a function prototype for it. * resolve.c (resolve_function): Use it for use associated character functions lengths. * expr.c, gfortran.h, resolve.c: Updated copyright years. testsuite/ 2006-01-05 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/23675 gfortran.dg/char_result_11.f90: New. From-SVN: r109368
2006-01-05Daily bump.GCC Administrator1-1/+1
From-SVN: r109365
2006-01-04re PR c++/25632 (ICE with const int copied into two different functions)Zdenek Dvorak2-2/+8
PR c++/25632 * init.c (constant_value_1): Unshare use of DECL_INITIAL. Fix a typo in condition. From-SVN: r109354
2006-01-04decNumber.c (__NO_STRING_INLINES): Define to prevent glibc macro definition ↵Roger Sayle2-0/+10
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
2006-01-04posix-threads.cc (_Jv_InitThreads): #ifdef PTHREAD_STACK_MINKrister Walfridsson2-0/+6
2006-01-04 Krister Walfridsson <cato@df.lth.se> * posix-threads.cc (_Jv_InitThreads): #ifdef PTHREAD_STACK_MIN From-SVN: r109350
2006-01-04typeck2.c: update copyright to 2006Chris Lattner2-1/+9
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
2006-01-04another trivial tweak for consistencyChris Lattner1-0/+1
From-SVN: r109347
2006-01-04obvious typo fixChris Lattner1-1/+1
From-SVN: r109346
2006-01-04Add myself.Chris Lattner2-0/+4
From-SVN: r109345
2006-01-04re PR c++/24782 (wrongly accepted nested private typedef)Mark Mitchell5-13/+34
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
2006-01-04Class.h (_Jv_CopyClassesToSystemLoader): Updated.Tom Tromey4-7/+49
* 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
2006-01-04m68k.c (m68k_output_mi_thunk): Use jmp, not jsr.Paul Brook2-2/+6
2006-01-04 Paul Brook <paul@codesourcery.com> * config/m68k/m68k.c (m68k_output_mi_thunk): Use jmp, not jsr. From-SVN: r109338
2006-01-04lambda-code.c (can_put_in_inner_loop): Relax restrictions.Daniel Berlin2-28/+67
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
2006-01-04directives.c (struct pragma_entry): Add is_deferred.Richard Henderson20-495/+989
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
2006-01-04re PR ada/24994 (raised STORAGE_ERROR : stack overflow or erroneous memory ↵Jeff Law2-1/+10
access) PR ada/24994 * tree-cfg.c (bsi_replace): Remove the original statement from the EH throw statement table. From-SVN: r109335
2006-01-04decl.c (finish_constructor_body): create simple compound stmt instead of a ↵Dirk Mueller2-25/+5
if(1) { } construct. 2002-01-04 Dirk Mueller <dmueller@suse.com> * decl.c (finish_constructor_body): create simple compound stmt instead of a if(1) { } construct. From-SVN: r109331
2006-01-04Fix "node B dominates node B" to "node B dominates node A"Daniel Berlin1-1/+1
From-SVN: r109330
2006-01-04re PR middle-end/24252 (Missing "warning: control reaches end of non-void ↵Paolo Bonzini6-811/+570
function" in static function) 2006-01-04 Paolo Bonzini <bonzini@gnu.org> PR bootstrap/24252 * Makefile.def (flags_to_pass): Add STAGE1_CFLAGS and STAGE1_LANGUAGES. * Makefile.tpl (OBJDUMP): New. (EXTRA_HOST_FLAGS): Add it. (EXTRA_GCC_FLAGS): Remove flags already specified in flags_to_pass. * Makefile.tpl (stage[+id+]-start, stage[+id+]-end): Do not try to use symbolic links between directories. Avoid race conditions or make them harmless. * configure.in: Do not try to use symbolic links between directories. * Makefile.def (LEAN): Pass. * Makefile.tpl (LEAN): Define. (stage[+id+]-start): Accept that the previous directory does not exist, if the bootstrap is lean. (stage[+id+]-bubble): Invoke lean bootstrap commands after stage[+id+]-start. Use a makefile variable and an `if' instead of a configure substitution. ([+compare-target+]): Likewise. ([+bootstrap-target+]-lean): New. * configure.in: Remove lean bootstrap support from here. * Makefile.in: Regenerate. * configure: Regenerate. From-SVN: r109325
2006-01-04sso_string_base.h (__sso_string_base<>::_M_dataplus): Use _CharT_alloc_type ↵Paolo Carlini42-52/+3619
as base class. 2006-01-04 Paolo Carlini <pcarlini@suse.de> * include/ext/sso_string_base.h (__sso_string_base<>::_M_dataplus): Use _CharT_alloc_type as base class. (_M_get_allocator, _M_swap, _M_create, _M_destroy): Adjust. * include/ext/vstring.h (get_allocator): Tidy. 2006-01-04 Paolo Carlini <pcarlini@suse.de> Implement Option 3 of DR 431 for all the containers. * include/bits/allocator.h (struct __alloc_swap): Add, swaps allocators, optimized to nothing in case they are empty. * include/bits/stl_deque.h (deque<>::swap): Use it. * include/bits/stl_list.h (list<>::swap): Likewise. * include/bits/stl_tree.h (_Rb_tree<>::swap): Likewise. * include/bits/stl_vector.h (vector<>::swap): Likewise. * include/tr1/hashtable (hashtable<>::swap): Likewise. * include/ext/rc_string_base.h (__rc_string_base<>::_M_swap): Likewise. * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap): Likewise. * include/ext/vstring_util.h (__vstring_utility<>::_Alloc_hider): Clean-up (now vstring uses the generic __alloc_swap facility). * include/tr1/unordered_map: Adjust includes. * include/tr1/unordered_set: Likewise. * docs/html/ext/howto.html: Add an entry for DR 431. * testsuite/23_containers/deque/modifiers/swap.cc: Move to... * testsuite/23_containers/deque/modifiers/swap/1.cc: ... here. * testsuite/23_containers/deque/modifiers/swap/2.cc: New. * testsuite/23_containers/deque/modifiers/swap/3.cc: New. * testsuite/23_containers/list/modifiers/swap.cc: Move to... * testsuite/23_containers/list/modifiers/swap/1.cc: ... here. * testsuite/23_containers/list/modifiers/swap/2.cc: New. * testsuite/23_containers/list/modifiers/swap/3.cc: New. * testsuite/23_containers/vector/modifiers/swap.cc: Move to... * testsuite/23_containers/vector/modifiers/swap/1.cc: ... here. * testsuite/23_containers/vector/modifiers/swap/2.cc: New. * testsuite/23_containers/vector/modifiers/swap/3.cc: New. * testsuite/23_containers/set/modifiers/swap.cc: Move to... * testsuite/23_containers/set/modifiers/swap/1.cc: ... here. * testsuite/23_containers/set/modifiers/swap/2.cc: New. * testsuite/23_containers/set/modifiers/swap/3.cc: New. * testsuite/23_containers/map/modifiers/swap.cc: Move to... * testsuite/23_containers/map/modifiers/swap/1.cc: ... here. * testsuite/23_containers/map/modifiers/swap/2.cc: New. * testsuite/23_containers/map/modifiers/swap/3.cc: New. * testsuite/23_containers/multiset/modifiers/swap.cc: Move to... * testsuite/23_containers/multiset/modifiers/swap/1.cc: ... here. * testsuite/23_containers/multiset/modifiers/swap/2.cc: New. * testsuite/23_containers/multiset/modifiers/swap/3.cc: New. * testsuite/23_containers/multimap/modifiers/swap.cc: Move to... * testsuite/23_containers/multimap/modifiers/swap/1.cc: ... here. * testsuite/23_containers/multimap/modifiers/swap/2.cc: New. * testsuite/23_containers/multimap/modifiers/swap/3.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_set/1.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_set/2.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_map/1.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_map/2.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/1.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/2.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/1.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/2.cc: New. From-SVN: r109324
2006-01-04sso_string_base.h (__sso_string_base<>::_M_dataplus): Use _CharT_alloc_type ↵Paolo Carlini1-2/+65
as base class. 2006-01-04 Paolo Carlini <pcarlini@suse.de> * include/ext/sso_string_base.h (__sso_string_base<>::_M_dataplus): Use _CharT_alloc_type as base class. (_M_get_allocator, _M_swap, _M_create, _M_destroy): Adjust. * include/ext/vstring.h (get_allocator): Tidy. 2006-01-04 Paolo Carlini <pcarlini@suse.de> Implement Option 3 of DR 431 for all the containers. * include/bits/allocator.h (struct __alloc_swap): Add, swaps allocators, optimized to nothing in case they are empty. * include/bits/stl_deque.h (deque<>::swap): Use it. * include/bits/stl_list.h (list<>::swap): Likewise. * include/bits/stl_tree.h (_Rb_tree<>::swap): Likewise. * include/bits/stl_vector.h (vector<>::swap): Likewise. * include/tr1/hashtable (hashtable<>::swap): Likewise. * include/ext/rc_string_base.h (__rc_string_base<>::_M_swap): Likewise. * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap): Likewise. * include/ext/vstring_util.h (__vstring_utility<>::_Alloc_hider): Clean-up (now vstring uses the generic __alloc_swap facility). * include/tr1/unordered_map: Adjust includes. * include/tr1/unordered_set: Likewise. * docs/html/ext/howto.html: Add an entry for DR 431. * testsuite/23_containers/deque/modifiers/swap.cc: Move to... * testsuite/23_containers/deque/modifiers/swap/1.cc: ... here. * testsuite/23_containers/deque/modifiers/swap/2.cc: New. * testsuite/23_containers/deque/modifiers/swap/3.cc: New. * testsuite/23_containers/list/modifiers/swap.cc: Move to... * testsuite/23_containers/list/modifiers/swap/1.cc: ... here. * testsuite/23_containers/list/modifiers/swap/2.cc: New. * testsuite/23_containers/list/modifiers/swap/3.cc: New. * testsuite/23_containers/vector/modifiers/swap.cc: Move to... * testsuite/23_containers/vector/modifiers/swap/1.cc: ... here. * testsuite/23_containers/vector/modifiers/swap/2.cc: New. * testsuite/23_containers/vector/modifiers/swap/3.cc: New. * testsuite/23_containers/set/modifiers/swap.cc: Move to... * testsuite/23_containers/set/modifiers/swap/1.cc: ... here. * testsuite/23_containers/set/modifiers/swap/2.cc: New. * testsuite/23_containers/set/modifiers/swap/3.cc: New. * testsuite/23_containers/map/modifiers/swap.cc: Move to... * testsuite/23_containers/map/modifiers/swap/1.cc: ... here. * testsuite/23_containers/map/modifiers/swap/2.cc: New. * testsuite/23_containers/map/modifiers/swap/3.cc: New. * testsuite/23_containers/multiset/modifiers/swap.cc: Move to... * testsuite/23_containers/multiset/modifiers/swap/1.cc: ... here. * testsuite/23_containers/multiset/modifiers/swap/2.cc: New. * testsuite/23_containers/multiset/modifiers/swap/3.cc: New. * testsuite/23_containers/multimap/modifiers/swap.cc: Move to... * testsuite/23_containers/multimap/modifiers/swap/1.cc: ... here. * testsuite/23_containers/multimap/modifiers/swap/2.cc: New. * testsuite/23_containers/multimap/modifiers/swap/3.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_set/1.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_set/2.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_map/1.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_map/2.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/1.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/2.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/1.cc: New. * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/2.cc: New. From-SVN: r109323
2006-01-04pmm_malloc.h (posix_memalign): If __cplusplus, make the prototype extern "C" ↵Jakub Jelinek4-1/+22
and add throw (). * config/i386/pmm_malloc.h (posix_memalign): If __cplusplus, make the prototype extern "C" and add throw (). * g++.dg/other/i386-2.C: New test. From-SVN: r109318
2006-01-04re PR target/25554 (unrecognizable insn on x86_64 with -O2 -ftracer ( ↵Jakub Jelinek4-294/+320
-fno-tree-dominator-opts on the mainline)) PR target/25554 * config/i386/i386.md (testqi_ext_3): Ensure len is positive and pos non-negative and pos + len <= 32. (testqi_ext_3_rex64): Ensure len is positive and pos non-negative, drop pos + len < HOST_BITS_PER_WIDE_INT test. (testqi_ext_3* splitter): Handle pos + len == HOST_BITS_PER_WIDE_INT. * gcc.c-torture/compile/20051228-1.c: New test. From-SVN: r109317
2006-01-04re PR c/25559 (Internal compiler error when specifying vector_size(2) of int)Jakub Jelinek4-0/+31
PR c/25559 * c-common.c (handle_vector_size_attribute): Reject zero vector size as well as sizes not multiple of component size. * gcc.dg/pr25559.c: New test. From-SVN: r109316
2006-01-04re PR debug/25562 (cannot debug VLA local)Jakub Jelinek3-3/+41
PR debug/25562 * function.c (instantiate_expr): New function. (instantiate_decls_1, instantiate_decls): If DECL_HAS_VALUE_EXPR_P, walk its DECL_VALUE_EXPR with instantiate_expr. * dwarf2out.c (loc_descriptor_from_tree_1): Don't add DW_OP_deref{,_size} if address isn't going to be added. From-SVN: r109315
2006-01-04fp-bit.h: Use top-of-file comment from libgcc2.c.Ben Elliston3-43/+46
* config/fp-bit.h: Use top-of-file comment from libgcc2.c. * config/fp-bit.c: Likewise. From-SVN: r109309
2006-01-04dominance.c: Add comment about why we use DFS numbering of dominance tree.Daniel Berlin2-0/+79
2006-01-03 Daniel Berlin <dberlin@dberlin.org> * dominance.c: Add comment about why we use DFS numbering of dominance tree. From-SVN: r109308
2006-01-04re PR c++/25492 (friend class nested in derived class problem)Mark Mitchell6-1/+67
PR c++/25492 * name-lookup.c (push_class_level_binding): When a derived class provides a type binding, eliminate any type binding from a base class. PR c++/25625 * repo.c (repo_emit_p): Always instantiate static data members initialized by constant expressions, so that there values are available. PR c++/25492 * g++.dg/lookup/friend9.C: New test. PR c++/25625 * g++.dg/template/repo5.C: New test. From-SVN: r109307
2006-01-04Daily bump.GCC Administrator1-1/+1
From-SVN: r109301
2006-01-03PR libgcj/9715, PR libgcj/19132:David Daney12-186/+420
* java/nio/charset/Charset.java (charsetForName): Try default provider first. (availableCharsets): Re-merged. (providers2): Likewise. (defaultCharset): Likewise. * sources.am, Makefile.in: Rebuilt. * gnu/java/nio/charset/Provider.java: Removed. * java/io/OutputStreamWriter.java (OutputStreamWriter(OutputStream,Charset)): New constructor. (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise. * java/io/InputStreamReader.java (InputStreamReader(InputStream,CharsetDecoder)): New constructor. (InputStreamReader(InputStream,Charset)): Likewise. * gnu/gcj/convert/BytesToUnicode.java (getDecoder): Try a BytesToCharsetAdaptor. * gnu/gcj/convert/UnicodeToBytes.java (getEncoder): Try a CharsetToBytesAdaptor. * gnu/gcj/convert/CharsetToBytesAdaptor.java: New file. * gnu/gcj/convert/BytesToCharsetAdaptor.java: New file. * mauve-libgcj: Remove getEncoding exclusion. Co-Authored-By: Tom Tromey <tromey@redhat.com> From-SVN: r109294
2006-01-04* MAINTAINERS (libdecnumber): Add myself.Ben Elliston2-0/+5
From-SVN: r109293
2006-01-03re PR fortran/25101 ([4.1] Zero stride allowed in FORALL:s)Steven G. Kargl4-11/+40
2006-01-03 Steven G. Kargl <kargls@comcast.net> PR fortran/25101 * resolve.c (resolve_forall_iterators): Check for scalar variables; Check stride is nonzero. * gfortran.dg/forall_2.f90: New test. From-SVN: r109288
2006-01-03Correct last commitHans-Peter Nilsson3-4/+4
From-SVN: r109287
2006-01-03thunk3.C, thunk4.C: Gate on dg-require-weak.Hans-Peter Nilsson3-2/+11
* g++.dg/abi/thunk3.C, g++.dg/abi/thunk4.C: Gate on dg-require-weak. Adjust regexp to handle leading-underscore targets, NO_DOT_IN_LABEL targets and space as well as TAB after .weak. From-SVN: r109286
2006-01-03varasm.c (assemble_variable): Handle thread-local COMMON data.Jakub Jelinek3-2/+30
* varasm.c (assemble_variable): Handle thread-local COMMON data. * defaults.h (ASM_OUTPUT_TLS_COMMON): Define. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r109282
2006-01-03re PR rtl-optimization/25578 (gfortran version 4.2.0 20051227 - 144 new ↵Paolo Bonzini4-3/+31
testsuite failures since 2005121) gcc: 2006-01-03 Paolo Bonzini <bonzini@gnu.org> PR rtl-optimization/25578 * combine.c (combine_simplify_rtx, force_to_mode): Don't pass a parameter to simplify_shift_const if changing ASHIFTRT to LSHIFTRT. gcc/testsuite: 2006-01-03 Paolo Bonzini <bonzini@gnu.org> PR rtl-optimization/25578 * gcc.c-torture/execute/20060102-1.c: New testcase. From-SVN: r109281
2006-01-03stl_list.h (_List_base<>::_M_get_Node_allocator): Add.Paolo Carlini8-33/+200
2006-01-03 Paolo Carlini <pcarlini@suse.de> * include/bits/stl_list.h (_List_base<>::_M_get_Node_allocator): Add. (_M_get_Tp_allocator, get_allocator): Tidy. (list<>::list(const list&), insert(iterator, size_type, const value_type&), insert(iterator, _InputIterator, _InputIterator)): Use _M_get_Node_allocator. * include/bits/stl_tree.h (_Rb_tree<>::_M_get_Node_allocator()): Add. (_Rb_tree(const _Rb_tree<>&): Use it. * include/bits/stl_deque.h (_Deque_base<>::_M_get_map_allocator, get_allocator): Tidy. * include/bits/stl_vector.h (_Vector_base<>::get_allocator): Tidy. * testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/set/operators/1_neg.cc: Likewise. * testsuite/testsuite_allocator.h (uneq_allocator<>::swap): Fix. * testsuite/testsuite_allocator.h (class uneq_allocator): A simple non-empty testing allocator which can be endowed of a "personality" at construction time. From-SVN: r109280
2006-01-03builtins.c (get_builtin_sync_mem): New function.Adrian Straetling2-32/+36
2006-01-03 Adrian Straetling <straetling@de.ibm.com> * gcc/builtins.c (get_builtin_sync_mem): New function. (expand_builtin_sync_operation, expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set, expand_builtin_lock_release): Call get_builtin_sync_mem to generate mem rtx. From-SVN: r109279
2006-01-031.cc: Initialize vars.Paolo Carlini5-12/+19
2006-01-03 Paolo Carlini <pcarlini@suse.de> * testsuite/27_io/basic_stringstream/str/char/1.cc: Initialize vars. * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise, tidy. * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise. From-SVN: r109275
2006-01-03re PR c/25183 (internal compiler error triggered by overflow in constant ↵Richard Guenther4-3/+38
expression) 2006-01-03 Richard Guenther <rguenther@suse.de> PR c/25183 * stmt.c (add_case_node): Make sure to clear overflow flags from ranges. * gcc.dg/torture/pr25183.c: New testcase. From-SVN: r109272
2006-01-03backport: sync.md: New file.Jakub Jelinek13-2/+356
Merge from gomp-branch. * config/sparc/sync.md: New file. * config/sparc/sparc.md (UNSPECV_MEMBAR, UNSPECV_CAS, UNSPECV_SWAP, UNSPECV_LDSTUB): New constants. * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): New function. * config/sparc/predicates.md (memory_reg_operand): New predicate. * config/sparc/sparc-protos.h (sparc_expand_compare_and_swap_12): New prototype. * gcc.dg/ia64-sync-1.c: On sparc*-*-*, pass -mcpu=v9. * gcc.dg/ia64-sync-2.c: Likewise. * gcc.dg/ia64-sync-3.c: Likewise. * gcc.dg/ia64-sync-4.c: Likewise. * gcc.dg/sync-2.c: Likewise. * lib/target-supports.exp (sync_char_short, sync_int_long): Indicate that sparc64-*-* and sparcv9-*-* supports sync builtins. From-SVN: r109271
2006-01-03re PR c++/25635 (Bogus cruft in error message for invalid operator declaration)Mark Mitchell13-55/+145
PR c++/25635 * class.c (add_method): Set TYPE_HAS_CONVERSION for classes with a conversion operator. * decl.c (grokdeclarator): Do not set TYPE_HAS_CONVERSION here. PR c++/25638 * class.c (add_method): Never associate more than one destructor with a single class. PR c++/25637 * cp-tree.h (do_friend): Adjust prototype. * decl.c (grokfndecl): Make funcdef_flag a bool, not an int. (grokdeclarator): Likewise. Refine check for invalid declarations/definitions of member functions outside of their own class. * friend.c (do_friend): Make funcdef_flag a bool, not an int. PR c++/25633 * parser.c (cp_parser_mem_initializer_list): Check result of cp_parser_mem_initializer against error_mark_node, not NULL_TREE. (cp_parser_mem_initializer): Return error_mark_node for failure. PR c++/25634 * parser.c (cp_parser_template_parameter_list): Call begin_template_parm_list and end_template_parm_list here. (cp_parser_type_parameter): Not here. (cp_parser_template_declaration_after_export): Or here. (cp_parser_elaborated_type_specifier): Call cp_parser_check_template_parameters. * tree.c (build_target_expr_with_type): Use force_target_expr. PR c++/25635 * g++.dg/parse/operator6.C: New test. PR c++/25637 * g++.dg/parse/error29.C: New test. PR c++/25638 * g++.dg/parse/dtor6.C: New test. PR c++/25633 * g++.dg/parse/ctor3.C: New test. PR c++/25634 * g++.dg/template/class3.C: New test. From-SVN: r109270
2006-01-03combine.c (reg_subword_p): New predicate to test whether the destination of ↵Roger Sayle2-50/+145
a set refers to a... * combine.c (reg_subword_p): New predicate to test whether the destination of a set refers to a subword/piece of a register. (try_combine): Generalize the code to merge the setting of a pseudo to a constant followed by a set of a subword of that register to a constant. From-SVN: r109267
2006-01-03tree-ssa-propagate.c (cfg_blocks): Change the type to VEC(basic_block,heap) *.Kazu Hirata2-11/+23
* tree-ssa-propagate.c (cfg_blocks): Change the type to VEC(basic_block,heap) *. (cfg_blocks_add, cfg_blocks_get, ssa_prop_init, ssa_prop_fini): Adjust the uses of cfg_blocks. From-SVN: r109266
2006-01-03basic-block.h (control_flow_graph): Change the type of x_label_to_block_map ↵Kazu Hirata3-9/+30
to VEC(basic_block,gc) *. * basic-block.h (control_flow_graph): Change the type of x_label_to_block_map to VEC(basic_block,gc) *. * tree-cfg.c (init_empty_tree_cfg, label_to_block_fn, set_bb_for_stmt): Adjust the uses of x_label_to_block_map. From-SVN: r109265
2006-01-03re PR rtl-optimization/25130 (miscompilation in GCSE)Steven Bosscher4-11/+40
* fold-const.c (operand_equal_p): Accept a NULL operand 0 for COMPONENT_REFs. * emit-rtl.c (mem_attrs_htab_eq): Use iterative_hash_expr for hashing trees instead of a pointer hash. (mem_attrs_htab_eq): Do a deep compare instead of a pointer compare for MEM_EXPR. PR rtl-optimization/25130 * cse.c (exp_equiv_p): Compare MEM_ATTRS instead of MEM_ALIAS_SET when comparing MEMs for GCSE From-SVN: r109264