1. 30 Jan, 2004 17 commits
    • sparc-protos.h: Remove the prototype for sparc_builtin_saveregs. · 3e2cc1d1
      	* config/sparc/sparc-protos.h: Remove the prototype for
      	sparc_builtin_saveregs.
      	* config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
      	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
      	(TARGET_PROMOTE_PROTOTYPES): Likewise.
      	(TARGET_STRUCT_VALUE_RTX): Likewise.
      	(TARGET_RETURN_IN_MEMORY): Likewise.
      	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
      	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
      	(sparc_builtin_saveregs): Make it static.
      	(sparc_promote_prototypes): New.
      	(sparc_struct_value_rtx): Likewise.
      	(sparc_return_in_memory): Likewise.
      	* config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove.
      	(PROMOTE_FUNCTION_RETURN): Likewise.
      	(RETURN_IN_MEMORY): Likewise.
      	(STRUCT_VALUE): Likewise.
      	(STRUCT_VALUE_INCOMING): Likewise.
      	(EXPAND_BUILTIN_SAVEREGS): Likewise.
      	(STRICT_ARGUMENT_NAMING): Likewise.
      	(PROMOTE_PROTOTYPES): Likewise.
      
      	* config/sparc/sparc.h (PROMOTE_MODE): Use word_mode.
      
      Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>
      
      From-SVN: r76961
      Kazu Hirata committed
    • re PR c/12818 (-fwritable strings triggers bad code generation) · 5e9295fa
      	PR c/12818
      	* varasm.c (const_hash_1) <STRING_CST>: Use the
      	address to compute the hash value if flag_writable_strings.
      	(compare_constant) <STRING_CST>: Compare the addresses
      	if flag_writable_strings.
      	(build_constant_desc): Do not copy the expression for a
      	STRING_CST if flag_writable_strings.
      
      From-SVN: r76958
      Eric Botcazou committed
    • * gnu/java/net/PlainSocketImpl.java · 7dcc98e2
      	(inChannelOperation): New field.
      	(isInChannelOperation): New accessor.
      	(setInChannelOperation): New modifier.
      	* gnu/java/nio/ServerSocketChannelImpl.java
      	(accept): Set and reset our server socket's PlainSocketImpl's
      	"in channel operation" indicator before and after delegating
      	the accept to our server socket.
      	* gnu/java/nio/SocketChannelImpl.java
      	(connect): Set and reset our socket's PlainSocketImpl's "in channel
      	operation" indicator before and after delegating the operation to
      	our socket.
      	(read): Likewise.
      	(write): Likewise.
      	* java/net/ServerSocket.java (implAccept): Don't throw an
      	IllegalBlockingModeException if we have a non-blocking
      	channel which initiated this accept operation.
      	* java/net/Socket.java (connect): Don't throw an
      	IllegalBlockingModeException if we have a non-blocking
      	channel which initiated this connect operation.
      	* java/nio/channels/spi/AbstractSelectableChannel.java
      	(configureBlocking): Only call implConfigureBlocking() if
      	the desired blocking mode is different from our current one.
      
      From-SVN: r76956
      Mohan Embar committed
    • basic_string.tcc (_Rep::_S_create): Never allocate a string bigger than max_size()... · d1615643
      2004-01-30  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/bits/basic_string.tcc (_Rep::_S_create):
      	Never allocate a string bigger than max_size(); always keep
      	__capacity and __size in sync to avoid memory leaks at
      	deallocation time.
      
      From-SVN: r76955
      Paolo Carlini committed
    • alloc-pool.c: Include hashtab.h · 1e0f41c9
      
      	* alloc-pool.c: Include hashtab.h
      	(alloc_pool_descriptor): New structure
      	(alloc_pool_hash): New global variable.
      	(hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
      	(create_alloc_pool): Update statistics.
      	(free_alloc_pool): Likewise.
      	(pool_alloc): Likewise.
      	(output_info): New structure
      	(print_statistics, dump_alloc_pool_statistics): New function.
      	* alloc-pool.h (alloc_pool_def): Turn name to be constant.
      	(dump_alloc_pool_statistics): Declare.
      	* toplev.c (finalize):  Dump statistics.
      
      From-SVN: r76951
      Jan Hubicka committed
    • reload.c (secondary_memlocs_elim_used): New static variable. · 048b0d2e
      
      	* reload.c (secondary_memlocs_elim_used): New static variable.
      	(get_secondary_mem): Update it.
      	(find_reloads): Use it.
      
      From-SVN: r76950
      Jan Hubicka committed
    • reload.c (secondary_memlocs_elim_used): New static variable. · 1f2eae8d
      
      	* reload.c (secondary_memlocs_elim_used): New static variable.
      	(get_secondary_mem): Update it.
      	(find_reloads): Use it.
      
      [[Split portion of a mixed commit.]]
      
      From-SVN: r76949.2
      Jan Hubicka committed
    • * toplev.c: Fix broken checkin of 2003-12-30, again. · 80a08664
      From-SVN: r76948
      Steven Bosscher committed
    • basic_string.tcc (_S_construct(_InIterator, _InIterator, const _Alloc&,… · 690495b0
      basic_string.tcc (_S_construct(_InIterator, _InIterator, const _Alloc&, input_iterator_tag)): Simplify the double loop, streamline.
      
      2004-01-30  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/bits/basic_string.tcc (_S_construct(_InIterator,
      	_InIterator, const _Alloc&, input_iterator_tag)): Simplify
      	the double loop, streamline.
      
      	* include/bits/basic_string.tcc: Very minor tweaks.
      
      From-SVN: r76937
      Paolo Carlini committed
    • configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for s390*-*-* targets by… · 57116d8d
      configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for s390*-*-* targets by specifying a 'nop' insn.
      
      	* configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
      	s390*-*-* targets by specifying a 'nop' insn.
      	* configure: Regenerate.
      
      From-SVN: r76934
      Ulrich Weigand committed
    • check_performance: Only compile with $THREAD_FLAG when test is marked to require it. · f64f4406
      	* scripts/check_performance: Only compile with $THREAD_FLAG
      	when test is marked to require it.  Allow multiple
      	compilations/executions of marked tests.
      	* testsuite/testsuite_performance.h (report_performance):
      	Report dynamic thread support status.
      	(report_header): Likewise.
      	* testsuite/performance/allocator.cc: Stabilize iteration
      	count.  Support more allocators.  Mark each allocator test to
      	run and report independently.
      	* testsuite/performance/allocator_map_thread.cc: Likewise.
      	* testsuite/performance/allocator_thread.cc: Likewise.
      
      From-SVN: r76932
      Loren J. Rittle committed
    • re PR target/11475 (reload ICE with bitfields) · 5fddd9fe
      	PR target/11475
      	* config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
      
      From-SVN: r76928
      Eric Botcazou committed
    • BufferedReader.java (sbuf): New field. · ae30b3b2
      	* java/io/BufferedReader.java (sbuf): New field.
      	(readLine): Use String.valueOf instead of new String() as per
      	Per Bothner's suggestion. Use instance sbuf field instead of a
      	local StringBuffer instance.
      	* java/io/InputStreamReader.java (read(char[],int,int)): Pass the
      	caller's buffer to refill().
      	(read(void)): Pass our internal work buffer to refill if our
      	input queue is empty.
      	(refill): Changed return type to int. Use the specified buffer
      	instead of our work buffer as per Bryce McKinlay's suggestion.
      	Return the number of characters read or -1 for EOF.
      
      From-SVN: r76927
      Mohan Embar committed
    • re PR c++/13865 ([tree-ssa] dtor runs prematurely for loop-scoped variable) · eadccbea
              PR c++/13865
              * c-simplify.c (gimplify_for_stmt): Reorganize to fix cleanups.
      
      [[Split portion of a mixed commit.]]
      
      From-SVN: r76923.2
      Jason Merrill committed
    • c_locale.h: Change ::malloc() to new char[]. · 917a9fd4
      
      2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
      
      	* config/local/generic/c_locale.h: Change ::malloc() to new char[].
        	* config/local/gnu/c_locale.h: Change ::malloc() to new char[].
        	* include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
      	std::get_temporary_buffer() instead of duplicating its code.
      	Update to C++STYLE conventions.
        	* include/std/std_memory.h (get_temporary_buffer): Use ::operator
      	new() instead of std::malloc().
      	(return_temporary_buffer): Use ::operator delete() instead of
      	std::free().
      
      From-SVN: r76922
      Stephen M. Webb committed
    • expr.c (build_field_ref): Move variable definition up. · ae8f0c17
      2004-01-28  Andrew Pinski  <pinskia@physics.uc.edu>
      
              * expr.c (build_field_ref): Move variable
              definition up.
      
      From-SVN: r76919
      Andrew Pinski committed
    • Daily bump. · 3c282ead
      From-SVN: r76904
      GCC Administrator committed
  2. 29 Jan, 2004 23 commits
    • Index: libjava/ChangeLog · 5176577d
      from  Scott Gilbertson  <scottg@mantatest.com>
      
      	* gnu/awt/xlib/XCanvasPeer.java (handleEvent): Implemented.
      
      From-SVN: r76899
      Scott Gilbertson committed
    • * objc.dg/call-super-2.m: Include stddef.h for size_t. · 20f5dc60
      From-SVN: r76895
      Geoffrey Keating committed
    • allocator.h: Temporary switch to new_allocator as the default to unjam bootstraps. · 6efc84f4
      
      2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/bits/allocator.h: Temporary switch to new_allocator as
      	the default to unjam bootstraps.
      
      From-SVN: r76894
      Benjamin Kosnik committed
    • Makefile.am: Added gnu/awt/xlib/XFontPeer.java. · bffff257
      	* Makefile.am: Added gnu/awt/xlib/XFontPeer.java.
      	* Makefile.in: Re-generated.
      	* gnu/awt/xlib/XFontPeer.java: New file.
      	* gnu/awt/xlib/XGraphics.java (setFont): Test for null font.
      	(setClip): Commented out debug printout.
      	* gnu/awt/xlib/XToolkit.java: Change superclass to ClasspathToolkit.
      	(getFontPeer): Return XFontPeer.
      	(getLocalGraphicsEnvironment): New method.
      	(getClasspathFontPeer): New method.
      	(createFont): New method.
      
      From-SVN: r76891
      Scott Gilbertson committed
    • emit-rtl.c (change_address): Use XEXP (memref, 0) instead of addr when creating MEM copy. · 64fc7c00
      	* emit-rtl.c (change_address): Use XEXP (memref, 0) instead
      	of addr when creating MEM copy.
      
      From-SVN: r76888
      Jakub Jelinek committed
    • Fix Ada breakage. · ed672aa8
      * dwarf2out.c (gen_field_die): Do not equate decl number to die.
      
      From-SVN: r76887
      Devang Patel committed
    • re PR inline-asm/6162 (i386 asm reloader ice in reload_cse_simplify_operands) · 7e3aa041
      	PR inline-asm/6162
      	* reload.c (find_reloads): Only support one pair of commutative
      	operands.
      
      From-SVN: r76886
      Ian Lance Taylor committed
    • ClasspathFontPeer.java (getTransform): Never return null. · ef989927
      	* gnu/java/awt/peer/ClasspathFontPeer.java (getTransform): Never
      	return null.
      
      From-SVN: r76874
      Scott Gilbertson committed
    • re PR java/13824 (gcj SEGV with simple .java program) · 06f12aa0
      
      	PR java/13824
      	* tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
      	as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
      	recursion.
      
      From-SVN: r76872
      Roger Sayle committed
    • re PR c++/13883 (Assembler messages: symbol is already defined) · 4a5e0ed9
      	PR c++/13883
      	* mangle.c (write_encoding): Correct encoding of member template
      	constructors.
      
      	PR c++/13883
      	* g++.dg/template/ctor3.C: New test.
      
      From-SVN: r76868
      Mark Mitchell committed
    • tc1: New directory. · 8cfb1942
      	* g++.dg/tc1: New directory.
      	* g++.dg/tc1/dr108.C, g++.dg/tc1/dr128.C, g++.dg/tc1/dr147.C,
      	g++.dg/tc1/dr179.C, g++.dg/tc1/dr1.C, g++.dg/tc1/dr213.C,
      	g++.dg/tc1/dr74.C, g++.dg/tc1/dr90.C, g++.dg/tc1/dr127.C,
      	g++.dg/tc1/dr137.C, g++.dg/tc1/dr164.C, g++.dg/tc1/dr185.C,
      	g++.dg/tc1/dr20.C, g++.dg/tc1/dr52.C, g++.dg/tc1/dr85.C: New tests.
      
      From-SVN: r76867
      Giovanni Bajo committed
    • frv.c: Don't mention deprecated macros in comments. · b88cf82e
      	* config/frv/frv.c: Don't mention deprecated macros in
      	comments.  Remove some target-independent comments about
      	target macros.
      	* config/frv/frv.h: Likewise.
      
      From-SVN: r76864
      Kazu Hirata committed
    • 2004-01-29 Kim Ho <kho@redhat.com> · 5efa7640
              * gnu/java/awt/peer/gtk/GtkFramePeer.java
              (gtkLayoutSetVisible): New method
              (setMenuBar): Hide layout before setting MenuBar
              and reshow it after.
              * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
              (gtkLayoutSetVisible): Hide or show the Gtk Layout.
      
      From-SVN: r76861
      Kim Ho committed
    • expr.c (build_field_ref): Widen field offset. · 6d23f07f
      2004-01-28  Andrew Haley  <aph@redhat.com>
      
              * expr.c (build_field_ref): Widen field offset.
      
      From-SVN: r76860
      Andrew Haley committed
    • cfghooks.c (split_block): Set probability and count of the new edge. · 3ae4a5b1
      	* cfghooks.c (split_block): Set probability and count of the
      	new edge.
      
      From-SVN: r76858
      Zdenek Dvorak committed
    • dwarf2out.c (struct die_struct): Added field decl_id. · 636c7bc4
      	* dwarf2out.c (struct die_struct): Added field decl_id.
      	(decl_die_table): Changed to hash table.
      	(decl_die_table_allocated): Deleted.
      	(decl_die_table_in_use): Deleted.
      	(DECL_DIE_TABLE_INCREMENT): Deleted.
      	(decl_die_table_hash): New function.
      	(decl_die_table_eq): New function.
      	(lookup_decl_die): Lookup in a hash table.
      	(equate_decl_number_to_die): Insert into a hash table.
      	(dwarf2out_init): Init hash table decl_die_table.
      
      From-SVN: r76853
      Josef Zlomek committed
    • re PR rtl-optimization/13424 (gcc.dg/20031202-1.c is miscompiled) · 4e44c1ef
      	PR optimization/13424
      	* expr.c (store_constructor): Revert 2003-12-03 change.
      
      	* emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
      	expected before returning early.  Avoid sharing RTL if they
      	need to be changed.
      
      	* config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
      	handling so that memory attributes are preserved.  Don't call
      	ix86_set_move_mem_attrs.
      	(ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
      	(ix86_expand_clrstr): Rename src argument to
      	dst.  Rework rep_stos and strset handling so that memory attributes
      	are preserved.
      	(ix86_expand_strlen): Pass src argument to
      	ix86_expand_strlensi_unroll_1.  Rework strlenqi_1 handling so that
      	memory attributes are preserved.
      	(ix86_expand_strlensi_unroll_1): Add src argument.  Use
      	change_address instead of gen_rtx_MEM.
      	* config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
      	expanders.
      	(strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
      	strmovqi, strmovqi_rex64): Remove.
      	(rep_mov*, strmov*): Prefix insn names with *.
      	(strset, strset_singleop, rep_stos): New expanders.
      	(strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
      	strsetqi, strsetqi_rex64): Remove.
      	(rep_stos*, strset*): Prefix insn names with *.
      	(rep_stosqi_rex64): Likewise.  Fix mode of dirflag reg from DImode
      	to SImode.
      	(cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
      	are preserved.
      	(cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
      	Prefix insn names with *.
      	(cmpstrqi_nz_1, cmpstrqi_1): New expanders.
      	(strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
      	(strlenqi_1): New expander.
      	* config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
      
      From-SVN: r76852
      Jakub Jelinek committed
    • Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency. · f470c378
      	* Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.
      	* basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb,
      	verify_flow_info): Declaration removed.
      	* cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c.
      	(debug_bb, debug_bb_n): Add argument to dump_bb call.
      	* cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge,
      	try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block
      	instead of delete_block.
      	* cfghooks.c: Include timevar.h and toplev.h.
      	(cfg_hooks): Define here.
      	(verify_flow_info, dump_bb): Moved from cfg.c.
      	(redirect_edge_and_branch, redirect_edge_and_branch_force,
      	split_block, split_block_after_labels, move_block_after,
      	delete_basic_block, split_edge, create_basic_block,
      	create_empty_bb, can_merge_blocks_p, merge_blocks,
      	make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
      	New functions.
      	* cfghooks.h (struct cfg_hooks): Added fields name,
      	make_forwarder_block, tidy_fallthru_edge and
      	move_block_after. Changed type of verify_flow_info, dump_bb,
      	split_block fields. Renamed cfgh_split_edge and delete_block
      	fields.
      	(redirect_edge_and_branch, redirect_edge_and_branch_force,
      	split_block, delete_block, split_edge, create_basic_block,
      	can_merge_blocks_p, merge_blocks): Macros removed.
      	(cfg_hooks): Do not export.
      	(verify_flow_info, dump_bb, redirect_edge_and_branch,
      	redirect_edge_and_branch_force, split_block, split_block_after_labels,
      	move_block_after, delete_basic_block, split_edge, create_basic_block,
      	create_empty_bb, can_merge_blocks_p, merge_blocks,
      	make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
      	Declare.
      	(cfg_layout_rtl_cfg_hooks): Declare.
      	* cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch):
      	New functions.
      	(canonicalize_loop_headers): Use new semantics of make_forwarder_block.
      	(redirect_edge_with_latch_update): Removed.
      	(make_forwarder_block): Moved to cfghooks.c, semantics changed.
      	* cfgloopmanip.c (remove_bbs): Do not update dominators here.
      	* cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb,
      	rtl_delete_block, rtl_split_block, rtl_merge_blocks,
      	tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block,
      	cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to
      	cfghooks.c.
      	(rtl_create_basic_block): Coding style fix.
      	(rtl_tidy_fallthru_edge, rtl_move_block_after,
      	rtl_make_forwarder_block): New functions.
      	(update_cfg_after_block_merging): Removed.
      	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries.
      	* flow.c (verify_wide_reg, verify_local_live_at_start): Add argument
      	to dump_bb.
      	* ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1,
      	find_if_case_2): Don't update dominators.
      	* timevar.def (TV_CFG_VERIFY): New.
      	* loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info.
      	* cfglayout.c (copy_bbs): Don't call add_to_dominance_info.
      	* cfgloopmanip.c (split_loop_bb): Don't update dominators.
      	(remove_bbs): Don't call remove_bbs.
      	(create_preheader): Use make_forwarder_block.
      	(mfb_keep_just, mfb_update_loops): New static functions.
      
      From-SVN: r76851
      Zdenek Dvorak committed
    • avr.h: Remove target-independent comments about target macros. · 3cea4788
      	* config/avr/avr.h: Remove target-independent comments about
      	target macros.
      
      From-SVN: r76850
      Kazu Hirata committed
    • timevar.c (timevar_print): Mention when checking is enabled. · 75e853f2
      2004-01-28  Daniel Berlin  <dberlin@dberlin.org>
      
      	* timevar.c (timevar_print): Mention when checking is enabled.
      
      From-SVN: r76848
      Daniel Berlin committed
    • error11.C: New test. · b1521c3a
      	* g++.dg/parse/error11.C: New test.
      	* g++.dg/parse/error12.C: Likewise.
      
      From-SVN: r76846
      Giovanni Bajo committed
    • parser.c (cp_parser_template_id): Parse tentatively `[:' after a template name… · f4abade9
      parser.c (cp_parser_template_id): Parse tentatively `[:' after a template name as it was `<::' (digraph typo).
      
      	* parser.c (cp_parser_template_id): Parse tentatively `[:' after a
      	template name as it was `<::' (digraph typo).
      	(cp_parser_nth_token_starts_template_argument_list_p): New function.
      	(cp_parser_id_expression): Use it.
      	(cp_parser_nested_name_specifier_opt): Likewise.
      	(cp_parser_template_name): Likewise.
      	(cp_parser_class_name): Likewise.
      	(cp_lexer_get_preprocessor_token): Use c_lex_with_flags.
      
      From-SVN: r76845
      Giovanni Bajo committed