1. 11 May, 2005 7 commits
  2. 10 May, 2005 33 commits
    • read-rtl.c (struct macro_traverse_data): Define. · f30990b2
      	* read-rtl.c (struct macro_traverse_data): Define.
      	(map_attr_string): New static function, broken out of
      	apply_macro_to_string.
      	(mode_attr_index, apply_mode_maps): New static functions.
      	(apply_macro_to_string): Call map_attr_string.
      	(apply_macro_to_rtx): Add mode_maps and infile parameters.  Change
      	all callers.
      	(apply_macro_traverse): Expect data to point to a struct
      	macro_traverse_data.
      	(read_rtx): Add mode_maps local variable.  Use mode_traverse_data
      	to pass data through htab_traverse.
      	(read_rtx_1): Add mode_maps parameter.  Change all callers.
      	Handle mode names which are attribute strings.
      	* doc/md.texi (Substitutions): Rename from String Substitutions.
      	Change references.  Document using attributes as modes.
      
      From-SVN: r99548
      Ian Lance Taylor committed
    • tree-cfg.c (tree_duplicate_sese_region): Update profile. · 5deaef19
      	* tree-cfg.c (tree_duplicate_sese_region): Update profile.
      	* tree-optimize.c (init_tree_optimization_passes) Swap
      	pass_ch and pass_profile.
      	* tree-ssa-loop-ch.c (copy_loop_headers): Do not update profile
      	here.  Remove rewrite_into_loop_closed_ssa call.
      
      From-SVN: r99547
      Zdenek Dvorak committed
    • * gfortran.dg/return_1.f90: Fix dg annotation. · e0bba093
      From-SVN: r99546
      Tobias Schlüter committed
    • Fix previous buggy checkin to invoke.texi. · a226fc2b
      From-SVN: r99545
      Tobias Schlüter committed
    • re PR fortran/20178 (COMPLEX function returns incompatible with g77) · 973ff4c0
      gcc/fortran/
      	PR fortran/20178
      	* gfortran.h (gfc_option): Add flag_f2c.
      	* invoke.texi: Document '-ff2c' command line option.  Adapt
      	documentation for '-fno-second-underscore' and '-fno-underscoring'.
      	* lang.opt (ff2c): New entry.
      	* options.c (gfc-init_options): Set default calling convention
      	to -fno-f2c.  Mark -fsecond-underscore unset.
      	(gfc_post_options): Set -fsecond-underscore if not explicitly set
      	by user.
      	(handle_options): Set gfc_option.flag_f2c according to requested
      	calling	convention.
      	* trans-decl.c (gfc_get_extern_function_decl): Use special f2c
      	intrinsics where necessary.
      	(gfc_trans_deferred_vars): Change todo error to	assertion.
      	* trans-expr.c (gfc_conv_variable): Dereference access
      	to hidden result argument.
      	(gfc_conv_function_call): Add hidden result argument to argument
      	list if f2c calling conventions requested.  Slightly restructure
      	tests.  Convert result of default REAL function to requested type
      	if f2c calling conventions are used.  Dereference COMPLEX result
      	if f2c cc are used.
      	* trans-types.c (gfc_sym_type):  Return double for default REAL
      	function if f2c cc are used.
      	(gfc_return_by_reference): Slightly restructure logic.  Return
      	COMPLEX by reference depending on calling conventions.
      	(gfc_get_function_type): Correctly make hidden result argument a
      	pass-by-reference argument for COMPLEX.  Remove old code which does
      	this for derived types.
      libgfortran/
      	PR fortran/20178
      	* Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
      	to dependencies.
      	* Makefile.in: Regenerate.
      	* intrinsics/f2c_specific.F90: New file.
      gcc/testsuite/
      	PR fortran/20178
      	* gfortran.dg/f2c_1.f90, gfortran.dg/f2c_2.f90,
      	gfortran.dg/f2c_3.f90: New tests.
      
      From-SVN: r99544
      Tobias Schlüter committed
    • s390.c: (s390_const_double_ok_for_constraint_p): New function. · d096725d
      2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
      
      	* config/s390/s390.c: (s390_const_double_ok_for_constraint_p): New
      	function.
      	(legitimate_reload_constant_p): Add check for const double zero.
      	* config/s390/s390.md: Add comment for constraint letter 'G'.
      	("*movdf_64", "*movdf_31", "movsf"): Add constraint and proper
      	attributes for new case.
      	* config/s390/s390.h: (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Define it as
      	s390_const_double_ok_for_constraint_p.
      	* config/s390/s390-protos.h (s390_const_double_ok_for_constraint_p):
      	Add prototype.
      
      From-SVN: r99541
      Adrian Straetling committed
    • re PR tree-optimization/21170 (Comments still mention rewrite_ssa_into_ssa.) · 31117a5c
      	PR tree-optimization/21170
      	* tree-ssa-dom.c, tree-ssa-threadupdate.c: Replace
      	rewrite_ssa_into_ssa in comments with update_ssa.
      
      From-SVN: r99540
      Kazu Hirata committed
    • tree-ssa-loop-im.c: Include hashtab.h. · 01fd257a
      	* tree-ssa-loop-im.c: Include hashtab.h.
      	(struct mem_ref_loc): New.
      	(struct mem_ref): Describe the set of references with the same
      	shape.
      	(max_stmt_uid, get_stmt_uid, record_mem_ref, free_mem_refs,
      	maybe_queue_var, fem_single_reachable_address,
      	for_each_memref, single_reachable_address,
      	is_call_clobbered_ref, determine_lsm_reg): Removed.
      	(record_mem_ref_loc, free_mem_ref_locs, determine_lsm_ref,
      	hoist_memory_reference, memref_hash, memref_eq, memref_del,
      	gather_mem_refs_stmt, gather_mem_refs, find_more_ref_vops):
      	New functions.
      	(rewrite_mem_refs, schedule_sm): Use mem_ref_loc list.
      	(determine_lsm_loop): Rewritten.
      	(determine_lsm): Do not set stmt uids.
      
      From-SVN: r99539
      Zdenek Dvorak committed
    • s390.md: Add comment lines for 'f' and 't' constraint letters. · 09366c43
      2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
      
      	* config/s390/s390.md: Add comment lines for 'f' and 't' constraint
      	letters.
      
      From-SVN: r99538
      Adrian Straetling committed
    • s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge. · 047d35ed
      2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
      
      	* config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge.
      	("iordi3", "iorsi3", "iorhi3", "iorqi3"): Merge.
      	("xordi3", "xorsi3", "xorhi3", "xorqi3"): Merge.
      
      From-SVN: r99537
      Adrian Straetling committed
    • tree-ssa-dom.c (dom_opt_finalize_block): Do not call thread_across_edge for any abnormal edges. · 5fefbc79
      
      	* tree-ssa-dom.c (dom_opt_finalize_block): Do not call
      	thread_across_edge for any abnormal edges.
      
      	* gcc.c-torture/compile/20050510-1.c: New test.
      
      From-SVN: r99536
      Jeff Law committed
    • javaprims.h: Updated. · 0cb757cc
      	* gcj/javaprims.h: Updated.
      	* java/lang/String.java (String(StringBuilder)): New constructor.
      	* java/lang/natStringBuilder.cc: New file.
      	* java/lang/StringBuilder.java: New file.
      	* Makefile.in: Rebuilt.
      	* Makefile.am (core_java_source_files): Added StringBuilder.java.
      	(nat_source_files): Added natStringBuilder.cc.
      
      From-SVN: r99535
      Tom Tromey committed
    • * include/debug/debug.h: Fix typo in macro name. · aeddae49
      From-SVN: r99529
      Jonathan Wakely committed
    • * gcc.dg/arm-vfp1.c: Remove test for fnegs. · ef9bf9a3
      From-SVN: r99528
      Mark Mitchell committed
    • ia64.c (ia64_expand_atomic_op): New. · 16df4ee6
              * config/ia64/ia64.c (ia64_expand_atomic_op): New.
              * config/ia64/ia64-protos.h: Declare it.
              * config/ia64/sync.md (I124MODE, FETCHOP, fetchop_name): New.
              (sync_add<I48MODE>, sync_old_add<I48MODE>): Remove.
              (sync_<FETCHOP><IMODE>, sync_nand<IMODE>): New.
              (sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): New.
              (sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): New.
              (cmpxchg_rel_<I124MODE>): Split from cmpxchg_acq_<IMODE>.  Zero
              extend result; use release semantics.
              (cmpxchg_rel_di): Rename from cmpxchg_acq_<IMODE>; use release.
              (sync_val_compare_and_swap_<IMODE>): Update to match.
      
      From-SVN: r99527
      Richard Henderson committed
    • * gcc.dg/const-elim-1.c: Remove xfail for xtensa-*-*. · 64552cd7
      From-SVN: r99526
      Bob Wilson committed
    • optabs.c (expand_compare_and_swap_loop): Don't clobber old value before comparing it for success. · 81ba4f39
              * optabs.c (expand_compare_and_swap_loop): Don't clobber old value
              before comparing it for success.
      
      From-SVN: r99525
      Richard Henderson committed
    • sync.md (sync_add<I48MODE>): Fix arguments for no return value pattern. · 8173eefc
              * config/ia64/sync.md (sync_add<I48MODE>): Fix arguments for
              no return value pattern.
      
      From-SVN: r99524
      Richard Henderson committed
    • libgcov.c (create_file_directory): New function. · 992f396f
      	* libgcov.c (create_file_directory): New function. Create
      	directory for the given file name.
      	(gcov_max_filename): New static var. Keeps size of the longest
      	file name.
      	(gcov_exit): Always try to create directory for output
      	file. Relocate each filename basing on environment vars.
      	(__gcov_init): Remember the longest file name.
      	* tsystem.h: include filenames.h to get IS_DIR_SEPARATOR
      	* doc/gcov.texi (Cross-profiling): New node documenting
      	cross-profiling management.
      	* doc/invoke.texi (-fprofile-arcs): Add xref to cross-profiling.
      
      From-SVN: r99523
      Grigory Zagorodnev committed
    • sparc.c (mem_min_alignment): Do not rely on MEM_ALIGN if TARGET_UNALIGNED_DOUBLES. · 0f95e914
      	* config/sparc/sparc.c (mem_min_alignment): Do not rely
      	on MEM_ALIGN if TARGET_UNALIGNED_DOUBLES.
      
      From-SVN: r99521
      Eric Botcazou committed
    • lib1funcs.asm (__udivsi3, __divsi3): Rearrange special case code to avoid one move instruction. · 53e0077e
      	* config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Rearrange special
      	case code to avoid one move instruction.
      	(__umodsi3, __modsi3): Merge duplicated code sequences.
      
      From-SVN: r99520
      Bob Wilson committed
    • tree-data-ref.c (analyze_array_indexes, [...]): Use VEC instead of VARRAY. · 9cbb7989
      	* tree-data-ref.c (analyze_array_indexes, analyze_array,
      	init_data_ref, access_functions_are_affine_or_constant_p,
      	free_data_refs): Use VEC instead of VARRAY.
      	* tree-data-ref.h (data_reference): Change the type of
      	access_fns to VEC(tree,gc)*.
      	(DR_ACCESS_FN, DR_NUM_DIMENSIONS): Use VEC instead of VARRAY.
      
      From-SVN: r99517
      Kazu Hirata committed
    • 24k.md, [...]: Fix comment typos. · 30dc60c7
      	* config/mips/24k.md, config/sh/divtab.c, config/sh/sh.c,
      	config/sh/sh.md, config/sh/superh.h: Fix comment typos.
      	* doc/invoke.texi: Fix typos.
      
      From-SVN: r99516
      Kazu Hirata committed
    • re PR c++/17913 (ICE jumping into statement expression) · 8c900457
      2005-05-10  Gabor Loki <loki@gcc.gnu.org>
      
      	PR c/17913
      	* c-typeck.c (build_conditional_expr): Remove reducing cond_expr.
      	* fold-const.c (fold): Expand the condition of reducing cond_expr.
      	(contains_label_1, contains_label_p): New functions for checking
      	labels in a sub-tree.
      
      testsuite:
      2005-05-10  Gabor Loki <loki@gcc.gnu.org>
      
      	PR c/17913
      	* gcc.c-torture/compile/pr17913.c: Computed jump test for PR17913
      
      From-SVN: r99514
      Gabor Loki committed
    • re PR java/21436 (imports not remembered for previously compiled files) · 27e928ed
      gcc/java:
      2005-05-10  Paolo Bonzini  <bonzini@gnu.org>
      
      	PR java/21436
      	* class.c (maybe_layout_super_class): Look for imports in this_class.
      	* parse.h (ctxp_for_generation_last): New.
      	(do_resolve_class): Add a parameter.
      	* parse.y (ctxp_for_generation_last): New.
      	(java_pop_parser_context): Add at end of list.
      	(find_in_imports, find_in_imports_on_demand): Look in ctxp
      	if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
      	the given type are NULL.
      	(do_resolve_class): Look into the imports of the new second parameter.
      	Adjust recursive calls.
      	(resolve_class, resolve_inner_class, find_as_inner_class): Adjust
      	calls to do_resolve_class.
      	(create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
      	(java_complete_class): Do not do that here.
      
      libjava:
      2005-05-10  Paolo Bonzini  <bonzini@gnu.org>
      
      	PR java/21436
      	* testsuite/libjava.jacks/jacks.xfail: Adjust.
      
      From-SVN: r99513
      Paolo Bonzini committed
    • re PR c/21342 (some incompatible external declarations not diagnosed) · 2798c11f
      	PR c/21342
      	* c-decl.c (pushdecl): When there is a declaration in the current
      	scope and the declarations are external linkage, check for
      	compatibility with the type in the external scope and update the
      	type in the external scope with the composite type information.
      	Do not form a composite type of the new type and the visible type
      	if they are incompatible.
      
      testsuite:
      	* gcc.dg/redecl-11.c, gcc.dg/redecl-12.c, gcc.dg/redecl-13.c,
      	gcc.dg/redecl-14.c, gcc.dg/redecl-15.c: New tests.
      
      From-SVN: r99510
      Joseph Myers committed
    • crtstuff.c: Revert part of 2005-05-08 Change. · 56d6849d
      	* crtstuff.c: Revert part of 2005-05-08 Change.
      	(IN_LIBGCC2): Define.
      
      From-SVN: r99509
      Nathan Sidwell committed
    • re PR libfortran/20788 (Loading libgfortran.so clobbers C redirection of stdin/stdout/stderr) · 8809f6f9
      	PR libfortran/20788
      	Missing entry from previous commit:
      	* io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
      	we don't we to mmap this stream. Use fd_open instead of mmap_open
      	in that case.
      	(open_external): Call fd_to_stream with avoid_mmap = 0.
      	(input_stream): Call fd_to_stream with avoid_mmap = 1.
      	(output_stream): Likewise.
      	(error_stream): Likewise.
      
      	Really committing:
      	* io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
      	non-blank characters of a real number.
      
      From-SVN: r99508
      Francois-Xavier Coudert committed
    • sparc.c (fp_sethi_p): Test !SPARC_SIMM13_P and remove redundant test. · 9a9e266b
      	* config/sparc/sparc.c (fp_sethi_p): Test !SPARC_SIMM13_P and
      	remove redundant test.
      	(fp_mov_p): Accept 0.
      	(fp_high_losum_p): Remove redundant test.
      	* config/sparc/predicates.md (const_high_operand): Explicitly test
      	(not small_int_operand).
      	(fp_const_high_losum_operand): New.
      	* config/sparc/sparc.md (movsi_insn): Do not emit 'clr'.  Reorder.
      	(movdi_insn_sp32_v9): Use canonical predicates.
      	(movdi_insn_sp32): Test !TARGET_V9 instead of !TARGET_ARCH64.
      	(movdi_insn_sp64_novis): Delete.
      	(movdi_insn_sp64_vis): Rename into movdi_insn_sp64.
      	(movsf_insn_novis): Delete.
      	(movsf_insn_vis): Rename into movsf_insn.
      	(movsf_no_f_insn): Rename into movsf_insn_no_fpu.
      	(movsf_lo_sum): Use fp_const_high_losum_operand.
      	(movsf_high): Likewise.
      	(movsf_high_losum splitter): Likewise.
      	(mov<V32:mode> expander): Use register_or_zero_operand.
      	(mov<V64:mode> expander): Likewise.
      	(movdf_insn_sp32): Use register_or_zero_operand.
      	(movdf_no_e_insn_sp32): Use register_or_zero_operand.
      	Rename into movdf_insn_sp32_no_fpu.
      	(movdf_no_e_insn_v9_sp32): Use register_or_zero_operand.
      	Rename into movdf_insn_sp32_v9_no_fpu.
      	(movdf_insn_v9only_novis): Delete.
      	(movdf_insn_v9only_vis): Rename into movdf_insn_sp32_v9.
      	(movdf_insn_sp64_novis): Delete.
      	(movdf_insn_sp64_vis): Rename into movdf_insn_sp64.
      	(movdf_no_e_insn_sp64): Use register_or_zero_operand.
      	Rename into movdf_insn_sp64_no_fpu.
      	(movtf expander): Use register_or_zero_operand.
      	(movtf_insn_sp32): Delete.
      	(movtf_insn_vis_sp32): Use register_or_zero_operand.
      	Rename into movtf_insn_sp32.
      	(movtf_no_e_insn_sp32): Use register_or_zero_operand.
      	Rename into movtf_insn_sp32_no_fpu.
      	(movtf_insn_hq_sp64): Delete.
      	(movtf_insn_hq_vis_sp64): Use register_or_zero_operand.
      	Rename into movtf_insn_sp64_hq.
      	(movtf_insn_sp64): Delete.
      	(movtf_insn_vis_sp64): Use register_or_zero_operand.
      	Rename into movtf_insn_sp64.
      	(movtf_no_e_insn_sp64): Use register_or_zero_operand.
      	Rename into movtf_insn_sp64_no_fpu.
      
      From-SVN: r99506
      Eric Botcazou committed
    • stormy16.c (xstormy16_emit_cbranch): Use gcc_assert and gcc_unreachable as appropriate. · 4718bfd8
      	* config/stormy16/stormy16.c (xstormy16_emit_cbranch): Use
      	gcc_assert and gcc_unreachable as appropriate.
      	(xstormy16_split_cbranch, xstormy16_output_cbranch_hi,
      	xstormy16_output_cbranch_si, xstormy16_split_move,
      	xstormy16_initial_elimination_offset,
      	xstormy16_encode_section_info, xstormy16_print_operand_address,
      	xstormy16_expand_call, xstormy16_expand_arith,
      	xstormy16_output_shift, xstormy16_init_builtins): Likewise.
      
      From-SVN: r99505
      Nathan Sidwell committed
    • typeck.c (build_unary_op): Do not resort to address arithmetic when taking the… · 9d9165ef
      typeck.c (build_unary_op): Do not resort to address arithmetic when taking the address of a COMPONENT_REF.
      
      	* typeck.c (build_unary_op): Do not resort to address arithmetic
      	when taking the address of a COMPONENT_REF.
      
      From-SVN: r99503
      Mark Mitchell committed