1. 08 Aug, 2007 14 commits
    • x-rs6000: New file. · 0eab6840
              * config/rs6000/x-rs6000: New file.
              * config/rs6000/darwin.h (CC1_SPEC): Add cc1_cpu.
              * config/rs6000/rs6000.h (EXTRA_SPECS): Add cc1_cpu.
              (EXTRA_SPEC_FUNCTIONS): Define.
              (HAVE_LOCAL_CPU_DETECT): Define.
              (CC1_CPU_SPEC): Define.
              * config/rs6000/driver-rs6000.c: New file.
              * config/rs6000/aix.h (CC1_SPEC): Define.
              * config/rs6000/sysv4.h (CC1_SPEC): Add cc1_cpu.
              * config.host: Add x-rs6000 to host_xmake_file if host and target
              are rs6000 or powerpc.
      
      From-SVN: r127304
      David Edelsohn committed
    • t-crtstuff (CRTSTUFF_T_CFLAGS): Use +=. · be1767b7
      2007-08-08  Paolo Bonzini <paolo.bonzini@lu.unisi.ch>
      
      	* config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Use +=.
      
      From-SVN: r127301
      Paolo Bonzini committed
    • invoke.texi (-mcode-readable): Document. · c93c5160
      gcc/
      2007-08-08  Richard Sandiford  <richard@codesourcery.com>
      	    Sandra Loosemore  <sandra@codesourcery.com>
      	    Chao-ying Fu  <fu@mips.com>
      	    Nigel Stephens  <nigel@mips.com>
      	    David Ung  <davidu@mips.com>
      
      	* doc/invoke.texi (-mcode-readable): Document.
      	* config/mips/mips.opt (mcode-readable): New option.
      	* config/mips/mips-protos.h (SYMBOL_32_HIGH): New symbol type.
      	* config/mips/mips.h (mips_code_readable_setting): New enum.
      	(mips_code_readable): Declare.
      	(TARGET_MIPS16_TEXT_LOADS, TARGET_MIPS16_PCREL_LOADS): New macros.
      	(TARGET_MIPS16_SHORT_JUMP_TABLES): New macro.
      	(JUMP_TABLES_IN_TEXT_SECTION): Use it.
      	(CASE_VECTOR_MODE, CASE_VECTOR_PC_RELATIVE): Likewise.  Remove
      	boiler-plate comments.
      	(ASM_OUTPUT_ADDR_DIFF_ELT): Use TARGET_MIPS16_SHORT_JUMP_TABLES.
      	* config/mips/mips.c (mips_code_readable): New variable.
      	(mips_classify_symbol): Only return SYMBOL_PC_RELATIVE for
      	MIPS16 labels if TARGET_MIPS16_SHORT_JUMP_TABLES.  Use both the
      	context and -mcode-readable setting to restrict the use of
      	SYMBOL_PC_RELATIVE for MIPS16 constant pool references.
      	Only return TARGET_FORCE_TO_MEM if PC-relative loads are allowed.
      	(mips_symbolic_constant_p): Handle SYMBOL_32_HIGH.
      	(mips_blocks_for_constant_p): Only return false for
      	TARGET_MIPS16_PCREL_LOADS.
      	(mips_symbol_insns_1): Treat HIGHs as 2 extended instructions
      	for MIPS16.  Handle SYMBOL_32_HIGH.
      	(mips_const_insns): Allow HIGHs for MIPS16 too.
      	(mips_unspec_address_offset): New function, split out from...
      	(mips_unspec_address): ...here.
      	(mips_output_move): Handle MIPS16 HIGH moves.  Use "li" to load
      	16-bit symbolic constants.  Assert approropiate conditions for
      	using the "la" and "dla" macros.
      	(mips_handle_option): Handle -mcode-readable=.
      	(override_options): Use %hi/%lo relocations for TARGET_MIPS16 too.
      	Set up mips_lo_relocs[SYMBOL_32_HIGH].
      	(mips_strip_unspec_address): New function, split out from...
      	(print_operand_reloc): ...here.
      	(print_operand): Pass constants through mips_strip_unspec_address.
      	(print_operand_address): Likewise.
      	(mips_output_mi_thunk): Remove guard of mips16_lay_out_constants.
      	(mips_select_rtx_section): Remove MIPS16 handling.
      	(mips16_gp_pseudo_reg): Check currently_expanding_to_rtl.
      	(mips16_rewrite_pool_refs): Wrap the labels in an address UNSPEC.
      	(mips16_lay_out_constants): Do nothing unless
      	TARGET_MIPS16_PCREL_LOADS.
      	(mips_avoid_hazards): Remove guard of mips16_lay_out_constants.
      	* config/mips/mips.md: Split HIGHs for MIPS16.
      	(tablejump): Use TARGET_MIPS16_SHORT_JUMP_TABLES.
      
      gcc/testsuite/
      	* gcc.target/mips/code-readable-1.c: New test.
      	* gcc.target/mips/code-readable-2.c: Likewise.
      	* gcc.target/mips/code-readable-3.c: Likewise.
      
      Co-Authored-By: Chao-ying Fu <fu@mips.com>
      Co-Authored-By: David Ung <davidu@mips.com>
      Co-Authored-By: Nigel Stephens <nigel@mips.com>
      Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r127300
      Richard Sandiford committed
    • mips-protos.h (mips_emit_move): Declare. · 51e7252a
      gcc/
      	* config/mips/mips-protos.h (mips_emit_move): Declare.
      	* config/mips/mips.c (mips_emit_move): New function.
      	(mips_force_temporary): Use mips_emit_move instead of emit_move_insn.
      	(mips_legitimize_const_move): Likewise.
      	(mips_legitimize_move): Likewise.
      	(mips_split_64bit_move): Likewise.
      	(mips_restore_gp): Likewise.
      	(mips_load_call_address): Likewise.
      	(mips_emit_fcc_reload): Likewise.
      	(mips_set_return_address): Likewise.
      	(mips_block_move_straight): Likewise.
      	(mips_block_move_loop): Likewise.
      	(mips_setup_incoming_varargs): Likewise.
      	(mips_save_reg): Likewise.
      	(mips_expand_prologue): Likewise.
      	(mips_restore_reg): Likewise.
      	(mips_expand_epilogue): Likewise.
      	(mips_output_mi_thunk): Likewise.
      	(build_mips16_call_stub): Likewise.
      	(mips_builtin_branch_and_move): Likewise.
      	* config/mips/mips.h (INITIALIZE_TRAMPOLINE): Likewise.
      	* config/mips/mips.md (fixuns_truncdfsi2): Likewise.
      	(fixuns_truncdfdi2): Likewise.
      	(fixuns_truncsfsi2): Likewise.
      	(fixuns_truncsfdi2): Likewise.
      	(loadgp_absolute): Likewise.
      	(builtin_setjmp_setup): Likewise.
      	(builtin_longjmp): Likewise.
      	(untyped_call): Likewise.
      
      From-SVN: r127299
      Richard Sandiford committed
    • mips-protos.h (mips_split_symbol): Add a mode and an "rtx *" argument. · 390ea488
      gcc/
      	* config/mips/mips-protos.h (mips_split_symbol): Add a mode and
      	an "rtx *" argument.  Return a bool.
      	* config/mips/mips.c (mips_split_symbol): Accept arbitrary source
      	values and return true if they can be split.  Take the same kind of
      	mode argument as mips_symbol_insns.  Add a "lo_sum_out" parameter
      	and store the lo_sum there if nonnull.  Use the symbol type to
      	determine whether a $gp or HIGH is needed.
      	(mips_legitimize_address): Update call to mips_split_symbol and
      	simplify accordingly.
      	(mips_legitimize_const_move): Likewise.
      	* config/mips/mips.md: In the combine define_split,
      	check mips_split_symbol instead of splittable_symbolic_operand.
      	Update use of mips_split_symbol in the generator code.
      	* config/mips/predicates.md (splittable_symbolic_operand): Delete.
      
      From-SVN: r127298
      Richard Sandiford committed
    • mips.c (mips_symbolic_address_p): Delete. · fbb96ac5
      gcc/
      	* config/mips/mips.c (mips_symbolic_address_p): Delete.
      	(mips_symbol_insns_1): New function, split out from...
      	(mips_symbol_insns): ...here.  Take a mode argument.  Treat loads
      	and stores separately from load addresses.
      	(mips_classify_address): Replace uses of mips_symbolic_address_p
      	with uses of mips_symbol_insns.
      	(mips_address_insns): Update calls to mips_symbol_insns.
      	(mips_const_insns): Likewise.
      	(mips_legitimize_address): Likewise.
      
      From-SVN: r127297
      Richard Sandiford committed
    • mips-protos.h (SYMBOL_FORCE_TO_MEM): New symbol type. · e06e2776
      gcc/
      	* config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): New symbol type.
      	* config/mips/mips.c (mips_classify_symbol): Skip TARGET_ABICALLS
      	block for locally-binding symbols if TARGET_ABSOLUTE_ABICALLS.
      	Return SYMBOL_FORCE_TO_MEM instead of SYMBOL_ABSOLUTE for
      	non-call contexts if TARGET_MIPS16.
      	(mips_symbolic_constant_p): Handle SYMBOL_FORCE_TO_MEM.
      	(mips_symbolic_address_p): Likewise.  Remove special TARGET_MIPS16
      	code for SYMBOL_ABSOLUTE.
      	(mips_symbol_insns): Likewise.
      
      From-SVN: r127296
      Richard Sandiford committed
    • mips-protos.h (mips_symbol_context): New enumeration. · 280fcbfa
      gcc/
      	* config/mips/mips-protos.h (mips_symbol_context): New enumeration.
      	* config/mips/mips.c (mips_classify_symbol): Take a context argument.
      	(mips_symbolic_constant_p): Likewise.  Update the call to
      	mips_classify_symbol.
      	(mips_classify_address): Update the calls to mips_symbolic_constant_p.
      	(mips_const_insns): Likewise.  Update the call to mips_classify_symbol.
      	(mips_legitimize_address): Update the call to mips_symbolic_constant_p.
      	(print_operand_reloc): Add a context argument.  Update the call to
      	mips_symbolic_constant_p.
      	(print_operand): Update the calls to print_operand_reloc.
      	(print_operand_address): Use print_operand_reloc rather than
      	print_operand.
      	(mips_rewrite_small_data_p): Add a context argument.  Update the call
      	to mips_symbolic_constant_p.
      	(mips_small_data_pattern_1): Make DATA the containing mem.
      	Update the call to mips_rewrite_small_data_p.
      	(mips_rewrite_small_data_1): Likewise.
      	(mips_use_anchors_for_symbol_p): Update the call to
      	mips_symbolic_constant_p.
      	* config/mips/predicates.md (const_call_insn_operand): Likewise.
      	(splittable_symbolic_operand): Likewise.
      	(move_operand): Likewise.
      	(absolute_symbolic_operand): Likewise.
      	(got_disp_operand): Likewise.
      	(got_page_ofst_operand): Likewise.
      
      From-SVN: r127295
      Richard Sandiford committed
    • mips-protos.h (SYMBOL_GENERAL): Rename to... · 67da85da
      gcc/
      	* config/mips/mips-protos.h (SYMBOL_GENERAL): Rename to...
      	(SYMBOL_ABSOLUTE): ...this.
      	(SYMBOL_SMALL_DATA): Rename to...
      	(SYMBOL_GP_RELATIVE): ...this.
      	(SYMBOL_CONSTANT_POOL): Rename to...
      	(SYMBOL_PC_RELATIVE): ...this.
      	* config/mips/mips.c (mips_classify_symbol, mips_symbolic_constant_p)
      	(mips_symbolic_address_p, mips_symbol_insns, override_options)
      	(mips_rewrite_small_data_p, mips_use_anchors_for_symbol_p): Update
      	after above changes.
      	* config/mips/predicates.md (const_call_insn_operand): Likewise.
      	(general_symbolic_operand): Rename to...
      	(absolute_symbolic_operand): ...this.
      	* config/mips/mips.md: Update after above changes.
      
      From-SVN: r127294
      Richard Sandiford committed
    • Remove profitability check · 76b4f0f7
      Co-Authored-By: Revital Eres <eres@il.ibm.com>
      
      From-SVN: r127293
      Vladimir Yanovsky committed
    • re PR classpath/32844 (EnumSet causes code to be miscompiled) · 473210a9
      2007-07-31  Dalibor Topic  <robilad@kaffe.org>
      
              PR 32844
              * java/util/EnumSet.java:
              Made class abstract per API spec.
              (size, iterator, add, addAll, clear, contains,
              containsAll, remove, removeAll, retainAll) Moved 
              into an anonymous inner class in of(T).
              (allOf, noneOf, copyOf, of, range) Made more 
              implementation independent.
              (of(T)) return an instance of an anonymous class
              implementing EmptySet.
      
      From-SVN: r127291
      Dalibor Topic committed
    • gnu.h (STARTFILE_SPEC): Use gcrt0.o in profile mode, add -profile option, add pie support. · 5b6693af
      2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
      
              * gcc/config/i386/gnu.h (STARTFILE_SPEC): Use gcrt0.o in profile mode, add
              -profile option, add pie support.
              (ENDFILE_SPEC): New spec.
              * gcc/config/gnu.h (LIB_SPEC): Add -profile option.
      
      From-SVN: r127290
      Samuel Thibault committed
    • gnu.h (CPP_SPEC): Add -pthread option. · cf1c6ebf
      2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
      
              * gcc/config/i386/gnu.h (CPP_SPEC): Add -pthread option.
              * gcc/config/gnu.h (LIB_SPEC): Likewise.
      
      From-SVN: r127289
      Samuel Thibault committed
    • Daily bump. · b6f3b309
      From-SVN: r127287
      GCC Administrator committed
  2. 07 Aug, 2007 16 commits
  3. 06 Aug, 2007 10 commits
    • fixed-value.h: New file. · 1e1ba002
      	* fixed-value.h: New file.
      	* fixed-value.c: New file.
      	* Makefile.in (OBJS-common): Add fixed-value.o.
      	(fixed-value.o): New rule.
      	(GTFILES): Add fixed-value.h.
      	* double-int.c (double_int_scmp): We should use unsigned HOST_WIDE_INT
      	to compare a.low and b.low.
      	* gengtype.c (main): Handle FIXED_VALUE_TYPE type as scalar typedef.
      
      From-SVN: r127260
      Chao-ying Fu committed
    • re PR fortran/30947 (intrinsic: ALARM) · 19c222f8
      	PR fortran/30947
      
      	* iresolve.c (gfc_resolve_alarm_sub): Suffix the subroutine name
      	with the kind of the STATUS argument.
      
      	* intrinsics/signal.c: Create specific versions of alarm_sub and
      	alarm_sub_int according to the integer kind of the last argument.
      	* gfortran.map (GFORTRAN_1.0): Remove _gfortran_alarm_sub and
      	_gfortran_alarm_sub_int, add _gfortran_alarm_sub_i4,
      	_gfortran_alarm_sub_i8, _gfortran_alarm_sub_int_i4 and
      	_gfortran_alarm_sub_int_i8.
      
      From-SVN: r127259
      Francois-Xavier Coudert committed
    • * ChangeLog: Correct PR number. · 52f6c31a
      From-SVN: r127258
      François-Xavier Coudert committed
    • re PR fortran/30933 (intrinsic: EXIT) · a3e3233a
      	PR fortran/30933
      	* intrinsic.c (add_functions): Fix name of argument to CHDIR.
      
      From-SVN: r127257
      Francois-Xavier Coudert committed
    • re PR fortran/30933 (intrinsic: EXIT) · fe569d8f
      	PR fortran/30933
      	* iresolve.c (gfc_resolve_exit): Convert argument to default
      	integer kind.
      
      From-SVN: r127256
      Francois-Xavier Coudert committed
    • method.c (use_thunk): Use DECL_NAME instead of DECL_RTL to access function name. · af34b82f
      2007-08-06  Dan Hipschman  <dsh@google.com>
      
              * method.c (use_thunk): Use DECL_NAME instead of DECL_RTL to
              access function name.
      
      From-SVN: r127255
      Dan Hipschman committed
    • 20070522-1.c: Move to ... · ccc1b871
      2007-08-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              * gcc.c-torture/20070522-1.c: Move to ...
              * gcc.c-torture/compile/20070522-1.c: Here.
      
      From-SVN: r127254
      Andrew Pinski committed
    • resolve.c (derived_pointer): Removed, replaced callers by access to appropiate attribute bit. · 3dbf6538
      2007-08-06  Daniel Franke  <franke.daniel@gmail.com>
      
      	* resolve.c (derived_pointer): Removed, replaced callers by access 
      	to appropiate attribute bit.
      	(derived_inaccessable): Shortcut recursion depth.
      	(resolve_fl_namelist): Fixed checks for private components in namelists.
      
      From-SVN: r127253
      Daniel Franke committed
    • re PR fortran/29828 ([F2003] MIN and MAX with character variables) · 2263c775
      	PR fortran/29828
      
      	* trans.h (gfor_fndecl_string_minmax): New prototype.
      	* trans-decl.c (gfor_fndecl_string_minmax): New variable.
      	(gfc_build_intrinsic_function_decls): Create gfor_fndecl_string_minmax.
      	* check.c (gfc_check_min_max): Allow for character arguments.
      	* trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): New function.
      	(gfc_conv_intrinsic_function): Add special case for MIN and MAX
      	intrinsics with character arguments.
      	* simplify.c (simplify_min_max): Add simplification for character
      	arguments.
      
      	* intrinsics/string_intrinsics.c (string_minmax): New function
      	and prototype.
      	* gfortran.map (GFORTRAN_1.0): Add _gfortran_string_minmax
      
      	* gfortran.dg/minmax_char_1.f90: New test.
      	* gfortran.dg/minmax_char_2.f90: New test.
      	* gfortran.dg/min_max_optional_4.f90: New test.
      
      From-SVN: r127252
      Francois-Xavier Coudert committed
    • re PR target/31868 (Non-Linux DWARF EH x86-64 targets have broken crtend.o) · d3ef67ea
      2007-08-06  H.J. Lu  <hongjiu.lu@intel.com>
      	    Daniel Jacobowitz  <dan@codesourcery.com>
      
      	PR target/31868
      	* config.gcc (x86_64-*-freebsd*): Add i386/t-crtstuff to
      	tmake_file.
      	(x86_64-*-netbsd*): Likewise.
      	(x86_64-*-linux*): Likewise.
      	(x86_64-*-kfreebsd*-gnu): Likewise.
      	(x86_64-*-knetbsd*-gnu): Likewise.
      	(i[34567]86-*-solaris2.1[0-9]*): Likewise.
      
      	* config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Removed.
      
      	* config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Update comments.
      	Add -fno-asynchronous-unwind-tables.
      
      	* config/t-freebsd (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
      	* config/t-libc-ok (CRTSTUFF_T_CFLAGS_S): Likewise.
      	* config/t-lynx (CRTSTUFF_T_CFLAGS_S): Likewise.
      	* config/t-netbsd (CRTSTUFF_T_CFLAGS_S): Likewise.
      	* config/t-svr4 (CRTSTUFF_T_CFLAGS_S): Likewise.
      
      Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>
      
      From-SVN: r127248
      H.J. Lu committed