Commit Graph

62130 Commits

Author SHA1 Message Date
Per Bothner
67a741463c directives.c (cpp_handle_deferred_pragma): Save, clear and restore cb.line_change.
* directives.c (cpp_handle_deferred_pragma):  Save, clear and restore
	cb.line_change.  Otherwise do_pragma will call the line_change
	call-back with a meaningless line number.

From-SVN: r88320
2004-09-29 18:19:46 -07:00
GCC Administrator
fa74d329ec Daily bump.
From-SVN: r88316
2004-09-30 00:16:12 +00:00
Fariborz Jahanian
2587f86519 FIxed an IMA bug showed up in parse and gzip.
OKed by Richard Henderson.

From-SVN: r88312
2004-09-30 00:09:42 +00:00
Daniel Berlin
1b096a0a0a tree.h (INDIRECT_REF_P): New macro.
2004-09-29  Daniel Berlin  <dberlin@dberlin.org>

	* tree.h (INDIRECT_REF_P): New macro.
	* alias.c (get_alias_set): Use it
	(nonoverlapping_memrefs_p): Ditto.
	* emit-rtl.c (mem_expr_equal_p): Ditto.
	(set_mem_attributes_minus_bitpos): Ditto.
	(is_gimple_addressable): Ditto.
	(get_base_address): Ditto.
	* tree-ssa-alias.c (find_ptr_derefernece): Ditto.
	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
	* tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
	* tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
	(add_address_candidates): Ditto.
	(rewrite_address_base): Ditto.

From-SVN: r88309
2004-09-29 23:08:32 +00:00
Ben Elliston
2a7cd6864b tree-flow.h (struct bb_ann_d): Remove num_preds member.
* tree-flow.h (struct bb_ann_d): Remove num_preds member.
	* tree-into-ssa.c (rewrite_into_ssa): Don't set it.
	(rewrite_ssa_into_ssa): Likewise.
	* tree-phinodes.c (create_phi_node): Access the number of
	predecessor edges using EDGE_COUNT() and not num_preds.

Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
Co-Authored-By: Steven Bosscher <stevenb@suse.de>

From-SVN: r88308
2004-09-30 07:23:35 +10:00
Paolo Carlini
983de0da66 std_sstream.h (basic_stringbuf(ios_base::openmode)): Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
2004-09-29  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
	Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
	(str()): Slightly tweak, protect from pptr() == 0.
	(_M_update_egptr()): Likewise.
	* include/bits/sstream.tcc (ssekoff, seekpos): In order to check
	for an empty buffer use __beg instead of _M_string.capacity().
	* testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
	* testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.

	* testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
	* testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
	* testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.

2004-09-29  Paolo Carlini  <pcarlini@suse.de>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_io.h (class constraint_buf): New, extended
	and templatized version of constraint_filebuf; add typedefs for
	streambuf/stringbuf/filebuf and wchar_t counterparts.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r88307
2004-09-29 21:14:43 +00:00
Joseph Myers
302a2cc5c6 re PR c/7425 (deprecated attribute doesn't merge with multiple declarations)
PR c/7425
	* c-decl.c (merge_decls): Merge TREE_DEPRECATED.

cp:
	* decl.c (duplicate_decls): Merge TREE_DEPRECATED.

testsuite:
	* gcc.dg/deprecated-3.c, g++.dg/warn/deprecated-2.C: New tests.

From-SVN: r88303
2004-09-29 21:27:26 +01:00
Jason Merrill
08272b8528 revert accidental checkin
From-SVN: r88302
2004-09-29 16:18:49 -04:00
Tom Tromey
26aed92305 re PR libgcj/17715 (.properties files missing from libgcj-4.0.0.jar)
PR libgcj/17715:
	* Makefile.in: Rebuilt.
	* Makefile.am (libgcj-@gcc_version@.jar): Include properties
	files.
	(all_property_files): New macro.

From-SVN: r88300
2004-09-29 19:51:17 +00:00
Eric Christopher
3e6688a77f fold-const.c (tree_swap_operands_p): Remove duplicated code.
2004-09-29  Eric Christopher  <echristo@redhat.com>

	* fold-const.c (tree_swap_operands_p): Remove duplicated code.

From-SVN: r88299
2004-09-29 19:47:32 +00:00
Hans-Peter Nilsson
8820e4bed8 cris.md (moverside, movemside): With MEM, make sure the address is (plus reg mem).
* config/cris/cris.md (moverside, movemside): With MEM, make sure
	the address is (plus reg mem).

From-SVN: r88298
2004-09-29 19:46:18 +00:00
Tom Tromey
c8dc36d6bc Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Re-sorted.
	(libgcj.la): Moved to old location near lib-gnu-awt-xlib.la.

From-SVN: r88294
2004-09-29 18:31:54 +00:00
Jason Merrill
5cefa0d95b re PR tree-optimization/17697 (ICE: Statement marked for throw, but doesn't - verify_stmts failed)
PR tree-optimization/17697
        * decl.c (duplicate_decls): Copy TREE_NOTHROW from newdecl to olddecl.

From-SVN: r88293
2004-09-29 14:16:34 -04:00
David Edelsohn
d962e7adc0 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
From-SVN: r88290
2004-09-29 11:19:56 -04:00
Andrew Haley
eab3f38f80 re PR java/17007 (Inconsistent builtin attributes set by Java front end)
2004-09-29  Andrew Haley  <aph@redhat.com>

        PR java/17007
        * parse.y (patch_binop): Don't mess with the TREE_SIDE_EFFECTS of the
        result of TRUNC_MOD_EXPR.
        (patch_unaryop): Likewise for CONVERT_EXPR, which may throw.
        * decl.c (java_init_decl_processing): Mark
        soft_lookupinterfacemethod_node and soft_instanceof_node pure.

From-SVN: r88289
2004-09-29 14:13:17 +00:00
Nathan Sidwell
c4b3f0eb21 tree.c (make_node_stat): Fix uninitialized warning.
* tree.c (make_node_stat): Fix uninitialized warning.  Replace
	cascaded if ... else if with a switch.

From-SVN: r88288
2004-09-29 13:07:50 +00:00
Richard Sandiford
dca3f2e962 Regenerate.
From-SVN: r88285
2004-09-29 11:42:03 +00:00
Michael Roth
9082a7500a configure.in (--without-headers): Add missing double quotes.
* configure.in (--without-headers): Add missing double quotes.
	* configure: Regenerate.

From-SVN: r88284
2004-09-29 11:41:17 +00:00
Aaron W. LaFramboise
b4f6904019 * read-rtl.c (apply_macro_to_string): Replace index with strchr.
From-SVN: r88283
2004-09-29 11:23:11 +00:00
Jakub Jelinek
58c8adc127 tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD.
* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
	and TI_VA_LIST_FPR_COUNTER_FIELD.
	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
	* tree-pass.h (pass_stdarg): Add.
	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
	* tree-stdarg.c: New file.
	* Makefile.in (OBJS-common): Add tree-stdarg.o.
	(tree-stdarg.o): Add dependencies.
	* function.h (struct function): Add va_list_gpr_size and
	va_list_fpr_size fields.
	* function.c (allocate_struct_function): Initialize them.

	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
	va_list_{g,f}pr_counter_field.
	(ix86_setup_incoming_varargs): Don't do anything if reg_save
	area will not be used.  Only save registers that tree-stdarg.c
	detected they need saving.
	(ix86_va_start): Don't set up fields that won't be used.

	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
	va_list_{g,f}pr_counter_field.
	(setup_incoming_varargs): Don't do anything if reg_save
	area will not be used.  Only save registers that tree-stdarg.c
	detected they need saving.
	(rs6000_va_start): Don't set up fields that won't be used.

	* gcc.c-torture/execute/stdarg-1.c: New test.
	* gcc.c-torture/execute/stdarg-2.c: New test.
	* gcc.c-torture/execute/stdarg-3.c: New test.
	* gcc.dg/tree-ssa/stdarg-1.c: New test.
	* gcc.dg/tree-ssa/stdarg-2.c: New test.
	* gcc.dg/tree-ssa/stdarg-3.c: New test.
	* gcc.dg/tree-ssa/stdarg-4.c: New test.
	* gcc.dg/tree-ssa/stdarg-5.c: New test.

From-SVN: r88279
2004-09-29 11:47:56 +02:00
Jakub Jelinek
0d5b215ca1 builtins.def (BUILT_IN_FPUTC, [...]): Remove nothrow attribute.
* builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
	BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
	BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
	BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
	* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
	ATTR_NONNULL_1_4): New.

From-SVN: r88278
2004-09-29 11:06:49 +02:00
Jakub Jelinek
a7d6ba2411 re PR tree-optimization/17697 (ICE: Statement marked for throw, but doesn't - verify_stmts failed)
PR tree-optimization/17697
	* tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
	cfg if needed.

	* g++.dg/opt/pr17697-1.C: New test.
	* g++.dg/opt/pr17697-2.C: New test.
	* g++.dg/opt/pr17697-3.C: New test.

From-SVN: r88277
2004-09-29 11:04:21 +02:00
Per Bothner
ac973acecf Oops - fix typo in ChangeLog.
From-SVN: r88272
2004-09-28 23:44:51 -07:00
Per Bothner
50fd1c970f profile.c (brnahc_prob): Pass correct value to output_location, even when USE_MAPPED_LOCATION.
* profile.c (brnahc_prob):  Pass correct value to output_location,
	even when USE_MAPPED_LOCATION.  Fixes bug from 09-11.

From-SVN: r88271
2004-09-28 23:42:31 -07:00
Jason Merrill
550f100c57 re PR middle-end/17525 (ICE in emit_move_insn (non-BLKmode arg))
PR middle-end/17525
        * class.c (build_base_field): Set TYPE_MODE.

From-SVN: r88270
2004-09-29 02:23:49 -04:00
Richard Henderson
aa24864c23 re PR tree-optimization/15089 (local register variable with a specified register is bad)
PR 15089
        * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
        * tree-flow.h (may_propagate_copy_into_asm): Declare.
        * tree-ssa-ccp.c (replace_uses_in): Use it.
        * tree-ssa-dom.c (cprop_operand): Likewise.

From-SVN: r88269
2004-09-28 19:50:47 -07:00
Jeff Law
e376fe5842 tree-ssa-threadupdate.c (create_block_for_threading): Request that no outgoing edges be left in the duplicate block.
* tree-ssa-threadupdate.c (create_block_for_threading):  Request
	that no outgoing edges be left in the duplicate block.  Do no
	update information on outgoing edges or PHI nodes in target
	blocks here.
	(remove_ctrl_stmt_and_useless_edges): Renamed from
	remove_last_stmt_and_useless_edges.  Handle case where the
	block is empty or has no control statements.  Do not update edge
	flags here.
	(thread_block): Create a template block rather than copying the
	original block every time.  Create outgoing edges from the
	duplicate blocks and update PHIs at the target of the outgoing
	edges here.  Fix edge flags for the original block if necessary.
	* cfghooks (duplicate_block): No longer assert that the original
	block has incoming edges.

From-SVN: r88267
2004-09-28 20:15:00 -06:00
Hans-Peter Nilsson
805c33df13 extend.texi (Extended Asm): Add blurb about using Explicit Reg Vars to enforce register allocation with...
* doc/extend.texi (Extended Asm): Add blurb about using Explicit
	Reg Vars to enforce register allocation with general constraints.
	(Explicit Reg Vars): Clarify relation to asm statements.
	(Local Reg Vars): Similar.

From-SVN: r88265
2004-09-29 01:42:09 +00:00
Ulrich Weigand
dcda848050 sched-rgn.c (haifa_edge, [...]): Remove.
* sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
	TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
	build_control_flow, new_edge): Remove.
	(schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
	(bitlst, bitlst_table_last, bitlst_table): Remove.
	(bblst): Store basic_block pointer instead of block index.
	(bblst_table): Likewise.
	(edgelst): Store edge pointer instead of edge index.
	(edgelst_table, edgelst_last): New variables.
	(extract_bitlst): Rename to ...
	(extract_edgelst): ... this.  Return edge pointers, not indices.
	(split_edges): Update call.
	(rgn_edges): Store edge pointers instead of indices.
	(edge_to_bit): Remove.
	(EDGE_TO_BIT): Store per-region edge index in edge->aux.
	(SET_EDGE_TO_BIT): New macro.
	(is_cfg_nonregular): Check for simple cases of unreachable blocks.
	(find_rgns): Remove edge_list parameter.  Traverse standard CFG
	data structures instead of haifa_edge et al.  Use edge pointers
	instead of edge indices everywhere.
	(compute_dom_prob_ps): Use standard CFG data structures.  Account
	for exit edges.
	(compute_trg_info): Likewise.
	(propagate_deps): Likewise.
	(debug_candidate): Account for bblst data structure change.
	(check_live_1, update_live_1, is_pfree): Likewise.
	(IS_REACHABLE): Use standard CFG data structures.
	(init_ready_list): Update bblst_table/edgelst_table allocation.
	(schedule_region): Update alloc/cleanup code to data structure
	changes.  Use edge->aux to store per-region edge index.
	(init_regions): No longer call build_control_flow.  Do not
	create edge list any more.

From-SVN: r88264
2004-09-29 01:28:22 +00:00
GCC Administrator
f7deb4e9f6 Daily bump.
From-SVN: r88262
2004-09-29 00:16:16 +00:00
Ulrich Weigand
2f39b6caf6 cse.c (cse_insn): Avoid creating direct non-local jumps.
* cse.c (cse_insn): Avoid creating direct non-local jumps.
	* combine.c (can_combine_p): Likewise.
	* local-alloc. (update_equiv_regs): Likewise.

From-SVN: r88258
2004-09-28 23:29:02 +00:00
Richard Henderson
b0b324b07f re PR tree-optimization/17531 ([ivopts] ICE compiling gzip deflate.c)
PR 17531
        * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
        Don't check VOIDmode here.  Force PLUS operands to common type.
        (expand_expr_addr_expr): Do VOIDmode check earlier.  Force use of
        Pmode if given a non pointer type.

        PR 17531
        * optabs.c (expand_binop): Force constants to the correct mode.

From-SVN: r88257
2004-09-28 15:55:04 -07:00
Roger Sayle
078208ebef re PR driver/17537 (g++ not passing -lstdc++ to linker when -l is only supplied)
PR driver/17537
	* g++spec.c (lang_specific_driver): Unrecognized libraries, other
	than -lc and -lm, may require linking against libstc++.

From-SVN: r88256
2004-09-28 22:43:11 +00:00
Tom Tromey
252d78843b * jni.cc (_Jv_JNI_RegisterNatives): Formatting fixlets.
From-SVN: r88255
2004-09-28 21:55:26 +00:00
Ulrich Weigand
ea77e73803 s390.c (s390_adjust_cost): Remove.
* config/s390/s390.c (s390_adjust_cost): Remove.
	(TARGET_SCHED_ADJUST_COST): Do not redefine.
	(s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
	* config/s390/s390.md ("main_pool"): Use "larl" type
	attribute if TARGET_CPU_ZARCH.

From-SVN: r88254
2004-09-28 21:39:28 +00:00
Jakub Jelinek
9924d7d8d8 ia64.c (ia64_expand_prologue): Declare ei variable.
* config/ia64/ia64.c (ia64_expand_prologue): Declare ei
	variable.

From-SVN: r88253
2004-09-28 23:17:53 +02:00
Diego Novillo
81842e1b15 tree-ssa-loop.c (pass_record_bounds): Do not assign a name to the pass.
* tree-ssa-loop.c (pass_record_bounds): Do not assign a
	name to the pass.

From-SVN: r88252
2004-09-28 16:39:46 -04:00
Tom Tromey
bd1c8428dd re PR libgcj/17222 (libjava fails to build due to command line length during link)
PR libgcj/17222:
	* Makefile.am (libgcj.la): Restored.
	* Makefile.in: Rebuilt.

From-SVN: r88251
2004-09-28 20:37:40 +00:00
Steven Bosscher
21ef99b8ca common.opt (flag_gcse_sm): Disable by default.
* common.opt (flag_gcse_sm): Disable by default.
	(flag_gcse_las): Likewise.
	(flag_web): Likewise.  Create from this file.
	* flags.h: Remove flag_web declaration.
	* toplev.c (flag_web): Likewise.
	(process_options): Never set flag_web.

From-SVN: r88250
2004-09-28 20:34:17 +00:00
Steven Bosscher
78492bf5ac Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
* Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
	* tree-ssa-propagate.c: Include vec.h.
	(interesting_ssa_edges, varying_ssa_edges): Make these VECs
	instead of varrays.
	(cfg_blocks_add): Assert the block is not already in the worklist.
	Update uses of interesting_ssa_edges and varying_ssa_edges.
	(process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
	ssa_propagate): Likewise.

From-SVN: r88249
2004-09-28 20:31:16 +00:00
Joseph Myers
ef7878226a re PR c/16409 (ICE in size_binop, at fold-const.c)
PR c/16409
	* c-decl.c (start_decl): Check for initializing incomplete array
	of VLAs.
	(build_compound_literal): Check for TYPE being error_mark_node.
	* c-parse.in (primary): Check for VLA compound literals.

testsuite:
	* gcc.dg/vla-init-2.c, gcc.dg/vla-init-3.c, gcc.dg/vla-init-4.c,
	gcc.dg/vla-init-5.c: New tests.

From-SVN: r88248
2004-09-28 20:35:26 +01:00
Tom Tromey
346c5b01de re PR java/15710 (ICE: tree check: expected class 'E', have 'c' (integer_cst) in make_class_data)
PR java/15710:
	* class.c (add_miranda_methods): Load superinterface if not
	already loaded.

From-SVN: r88243
2004-09-28 18:27:25 +00:00
Diego Novillo
c3b8e9aa7f tree-ssa-live.c (calculate_live_on_entry): Fix warnings with --disable-checking.
* tree-ssa-live.c (calculate_live_on_entry): Fix warnings
	with --disable-checking.

From-SVN: r88241
2004-09-28 14:14:33 -04:00
Devang Patel
56bac5af0f * tree-pretty-print.c (dump_generic_node): Print vector types.
From-SVN: r88240
2004-09-28 10:52:59 -07:00
Andrew Haley
1679340f35 re PR java/17586 (kawa build fails with ICE)
2004-09-28  Andrew Haley  <aph@redhat.com>

	PR java/17586
	* jcf-parse.c (load_class): Don't try to read a class that we've
	already read.

From-SVN: r88239
2004-09-28 17:40:56 +00:00
Nick Clifton
cc15e98f65 sh.h (INIT_CUMULATIVE_ARGS): Replace with an invocation of the function sh_init_cumulative_args.
sh.h (INIT_CUMULATIVE_ARGS): Replace with an invocation of the function
  sh_init_cumulative_args.
  (INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
  (INIT_CUMULATIVE_INCOMING_ARGS): Delete.
sh-protos.h: Prototype sh_init_cumulative_args.
sh.c (sh_init_cumulative_args): New function based on the contents of the old
  INIT_CUMULATIVE_ARGS macro but with a heuristic added to determine the setting
  of force_mem when a library function is being called.

From-SVN: r88238
2004-09-28 17:37:35 +00:00
Diego Novillo
ee1f0fb06c tree-ssa-loop-im.c (single_reachable_address): Skip constant arguments.
* tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
	Skip constant arguments.

From-SVN: r88237
2004-09-28 13:29:32 -04:00
Andrew Haley
46d82a27ee jcf-parse.c (load_class): Back out previous broken patch.
2004-09-28  Andrew Haley  <aph@redhat.com>

	* jcf-parse.c (load_class): Back out previous broken patch.

From-SVN: r88234
2004-09-28 14:58:31 +00:00
Andrew Haley
03ec093d04 re PR java/17586 (kawa build fails with ICE)
2004-09-28  Andrew Haley  <aph@redhat.com>

	PR java/17586
	* jcf-parse.c (load_class): Don't try to read a class that we've
	already read.
	Check that we really did read the right class.

From-SVN: r88233
2004-09-28 13:57:05 +00:00
Diego Novillo
38e05395ac tree-ssa-alias.c (create_name_tags): If PTR points to a volatile type, mark the tag volatile.
* tree-ssa-alias.c (create_name_tags): If PTR points to a
	volatile type, mark the tag volatile.
	(get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
	volatile.

From-SVN: r88232
2004-09-28 09:45:05 -04:00