Commit Graph

82450 Commits

Author SHA1 Message Date
Paolo Bonzini
be1767b73e t-crtstuff (CRTSTUFF_T_CFLAGS): Use +=.
2007-08-08  Paolo Bonzini <paolo.bonzini@lu.unisi.ch>

	* config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Use +=.

From-SVN: r127301
2007-08-08 09:05:51 -07:00
Richard Sandiford
c93c5160b3 invoke.texi (-mcode-readable): Document.
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
2007-08-08 15:57:48 +00:00
Richard Sandiford
51e7252ad2 mips-protos.h (mips_emit_move): Declare.
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
2007-08-08 15:46:08 +00:00
Richard Sandiford
390ea488c1 mips-protos.h (mips_split_symbol): Add a mode and an "rtx *" argument.
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
2007-08-08 15:40:27 +00:00
Richard Sandiford
fbb96ac51d mips.c (mips_symbolic_address_p): Delete.
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
2007-08-08 15:31:00 +00:00
Richard Sandiford
e06e277682 mips-protos.h (SYMBOL_FORCE_TO_MEM): New symbol type.
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
2007-08-08 15:26:03 +00:00
Richard Sandiford
280fcbfab4 mips-protos.h (mips_symbol_context): New enumeration.
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
2007-08-08 15:22:16 +00:00
Richard Sandiford
67da85da79 mips-protos.h (SYMBOL_GENERAL): Rename to...
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
2007-08-08 15:06:05 +00:00
Vladimir Yanovsky
76b4f0f724 Remove profitability check
Co-Authored-By: Revital Eres <eres@il.ibm.com>

From-SVN: r127293
2007-08-08 12:21:37 +00:00
Dalibor Topic
473210a961 re PR classpath/32844 (EnumSet causes code to be miscompiled)
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
2007-08-08 08:00:32 +00:00
Samuel Thibault
5b6693af78 gnu.h (STARTFILE_SPEC): Use gcrt0.o in profile mode, add -profile option, add pie support.
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
2007-08-08 06:35:17 +00:00
Samuel Thibault
cf1c6ebf13 gnu.h (CPP_SPEC): Add -pthread option.
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
2007-08-08 06:34:06 +00:00
GCC Administrator
b6f3b30947 Daily bump.
From-SVN: r127287
2007-08-08 00:17:13 +00:00
Ian Lance Taylor
8d5a7d1f8e common.opt (finstrument-functions-exclude-function-list): New option.
./:	* common.opt (finstrument-functions-exclude-function-list): New
	option.
	(finstrument-functions-exclude-file-list): New option.
	* opts.c (char_p): Define and DEF_VEC.
	(flag_instrument_functions_exclude_functions): New static
	variable.
	(flag_instrument_functions_exclude_files): New static variable.
	(add_instrument_functions_exclude_list): New static function.
	(flag_instrument_functions_exclude_p): New function.
	(common_handle_option): Handle new options.
	* flags.h (flag_instrument_functions_exclude_p): Declare.
	* gimplify.c (gimplify_function_tree): Call
	flag_instrument_functions_exclude_p.
	* doc/invoke.texi (Option Summary): Mention new options.
	(Code Gen Options): Document new options.
testsuite/:
	* gcc.dg/instrument-1.c: New test.
	* gcc.dg/instrument-2.c: New test.
	* gcc.dg/instrument-3.c: New test.

From-SVN: r127284
2007-08-07 23:44:59 +00:00
Ian Lance Taylor
d4fd3465b6 re PR rtl-optimization/32776 (ICE RTL check: expected code 'reg', have 'concatn' in rhs_regno, at rtl.h:972)
PR rtl-optimization/32776
	* lower-subreg.c (resolve_clobber): Call resolve_reg_notes.
	(resolve_use): Likewise.
	(decompose_multiword_subregs): Remove "changed" local variable.

From-SVN: r127282
2007-08-07 22:43:55 +00:00
Steve Ellcey
9c94a88187 * gfortran.dg/c_kind_params.f90: Check for stdint.h.
From-SVN: r127281
2007-08-07 22:34:17 +00:00
Jim Blandy
593124a736 Makefile.am (libstdc++-symbol.ver): Make sure the build tree copy of libstdc++-symbol.ver is writeable.
* src/Makefile.am (libstdc++-symbol.ver): Make
sure the build tree copy of libstdc++-symbol.ver is writeable.
* src/Makefile.in: Regenerated.

From-SVN: r127279
2007-08-07 21:05:16 +00:00
Dorit Nuzman
b11040a8b1 vect-28.c: Fix test to not expect peeling on !vector_alignment_reachable targets.
* gcc.dg/vect/vect-28.c: Fix test to not expect peeling on
        !vector_alignment_reachable targets.
        * gcc.dg/vect/vect-33.c: Likewise.
        * gcc.dg/vect/vect-42.c: Likewise.
        * gcc.dg/vect/vect-44.c: Likewise.
        * gcc.dg/vect/vect-50.c: Likewise.
        * gcc.dg/vect/vect-70.c: Likewise.
        * gcc.dg/vect/vect-71.c: Likewise.
        * gcc.dg/vect/vect-87.c: Likewise.
        * gcc.dg/vect/vect-88.c: Likewise.
        * gcc.dg/vect/vect-91.c: Likewise.
        * gcc.dg/vect/vect-93.c: Likewise.
        * gcc.dg/vect/vect-96.c: Likewise.
        * gcc.dg/vect/no-section-anchors-69.c: Likewise.
        * gcc.dg/vect/section-anchors-69.c: Likewise.
        * gcc.dg/vect/pr25413.c: Likewise.
        * gcc.dg/vect/costmodel/ppc/costmodel-33.c: Likewise.
        * gcc.dg/vect/costmodel/ppc/costmodel-76b.c: Likewise.
        * gfortran.dg/vect-2.f90: Likewise.
        * gfortran.dg/vect-3.f90: Likewise.
        * gfortran.dg/vect-4.f90: Likewise.
        * gfortran.dg/vect-5.f90: Likewise.
        * lib/target-supports.exp (check_effective_target_natural_alignment):
        Return false for darwin.
        (check_effective_target_vector_alignment_reachable_for_double): New.

From-SVN: r127276
2007-08-07 19:13:27 +00:00
Carlos O'Donell
dc60b7754d configure.ac: Define HAVE_GNU_AS if $gas_flag is yes.
2007-08-07  Carlos O'Donell  <carlos@codesourcery.com>

	* configure.ac: Define HAVE_GNU_AS if $gas_flag is yes.
	* configure: Regenerate.
	* config.in: Regenerate.
	* gcc.c [HAVE_GNU_AS]: Add "%{v} %{w:-W} %{I*} " to asm_options
	spec string.

From-SVN: r127275
2007-08-07 18:33:16 +00:00
Ian Lance Taylor
992669047c lower-subreg.c (resolve_clobber): If the clobber has a LIBCALL note, just delete the insn.
* lower-subreg.c (resolve_clobber): If the clobber has a LIBCALL
	note, just delete the insn.

From-SVN: r127273
2007-08-07 16:48:00 +00:00
Andreas Schwab
049e9ad97e re PR bootstrap/32973 (bootstrap failure with indented structure declaration in macro)
PR bootstrap/32973
	* gengtype-lex.l: Ignore backslash/newline pair while scanning a
	struct definition.

From-SVN: r127272
2007-08-07 15:31:56 +00:00
Andrew Haley
536e0a8f31 sysv.S (ffi_closure_raw_SYSV): Fix typo in previous checkin.
* src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
        checkin.

From-SVN: r127271
2007-08-07 12:52:47 +00:00
Andreas Krebbel
e0892570a8 lower-subreg.c (resolve_subreg_use): Remove assertion.
2007-08-07  Andreas Krebbel  <krebbel1@de.ibm.com>

	* lower-subreg.c (resolve_subreg_use): Remove assertion.
	(find_decomposable_shift_zext, resolve_shift_zext): New functions.
	(decompose_multiword_subregs): Use the functions above to decompose
	multiword shifts and zero-extends.

2007-08-07  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.dg/multiword-1.c: New testcase.

From-SVN: r127270
2007-08-07 10:43:11 +00:00
Rask Ingemann Lambertsen
e492980b73 sourcebuild.texi (Test Directives): Fix "compile" and "assemble" descriptions which were swapped.
* doc/sourcebuild.texi (Test Directives): Fix "compile" and
	"assemble" descriptions which were swapped.

From-SVN: r127269
2007-08-07 10:22:08 +00:00
Daniel Franke
d2b8fb9e46 namelist_33.f90: Improved tests, adjusted error messages.
2007-08-07  Daniel Franke  <franke.daniel@gmail.com>

        * gfortran.dg/namelist_33.f90: Improved tests, adjusted error
        messages.
        * gfortran.dg/namelist_36.f90: New test.

From-SVN: r127268
2007-08-07 06:18:48 -04:00
Rask Ingemann Lambertsen
6268a9a863 simd-4.c (__ev_convert_s64)(main): Use int32_t for 32-bit integer.
* gcc.c-torture/execute/simd-4.c (__ev_convert_s64)(main): Use
	  int32_t for 32-bit integer. Use int64_t for 64-bit integer.

From-SVN: r127267
2007-08-07 10:09:59 +00:00
Kaz Kojima
8ba30cde2c type-generic-1.C: Add -mieee for sh.
* g++.dg/torture/type-generic-1.C: Add -mieee for sh.
	* gcc.dg/torture/type-generic-1.c: Likewise.

From-SVN: r127266
2007-08-07 01:41:27 +00:00
Christopher D. Rickett
e032c2a16e re PR fortran/32732 ([Bind C] Character scalars are passed as arrays)
2007-08-06  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/32732
        * trans-expr.c (gfc_conv_scalar_char_value): Convert the tree and
        actual arg expressions for scalar characters passed by-value to
        bind(c) routines.
        (gfc_conv_function_call): Call gfc_conv_scalar_char_value.
        * trans.h: Add prototype for gfc_conv_scalar_char_value.
        * trans-decl.c (generate_local_decl): Convert by-value character
        dummy args of bind(c) procedures using
        gfc_conv_scalar_char_value.

From-SVN: r127265
2007-08-07 00:27:25 +00:00
GCC Administrator
55eece4721 Daily bump.
From-SVN: r127263
2007-08-07 00:17:33 +00:00
Chao-ying Fu
1e1ba00288 fixed-value.h: New file.
* 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
2007-08-06 23:18:57 +00:00
Francois-Xavier Coudert
19c222f890 re PR fortran/30947 (intrinsic: ALARM)
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
2007-08-06 23:02:38 +00:00
François-Xavier Coudert
52f6c31a52 * ChangeLog: Correct PR number.
From-SVN: r127258
2007-08-06 22:45:35 +00:00
Francois-Xavier Coudert
a3e3233ac2 re PR fortran/30933 (intrinsic: EXIT)
PR fortran/30933
	* intrinsic.c (add_functions): Fix name of argument to CHDIR.

From-SVN: r127257
2007-08-06 22:44:27 +00:00
Francois-Xavier Coudert
fe569d8fb1 re PR fortran/30933 (intrinsic: EXIT)
PR fortran/30933
	* iresolve.c (gfc_resolve_exit): Convert argument to default
	integer kind.

From-SVN: r127256
2007-08-06 22:29:24 +00:00
Dan Hipschman
af34b82ff4 method.c (use_thunk): Use DECL_NAME instead of DECL_RTL to access function name.
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
2007-08-06 15:02:56 -07:00
Andrew Pinski
ccc1b87191 20070522-1.c: Move to ...
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
2007-08-06 14:54:52 -07:00
Daniel Franke
3dbf65382c resolve.c (derived_pointer): Removed, replaced callers by access to appropiate attribute bit.
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
2007-08-06 16:53:19 -04:00
Francois-Xavier Coudert
2263c77558 re PR fortran/29828 ([F2003] MIN and MAX with character variables)
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
2007-08-06 20:47:17 +00:00
H.J. Lu
d3ef67eaf3 re PR target/31868 (Non-Linux DWARF EH x86-64 targets have broken crtend.o)
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
2007-08-06 12:58:11 -07:00
Steve Ellcey
a31fa2e0d3 ia64.c (ia64_c_mode_for_suffix): New.
* config/ia64/ia64.c (ia64_c_mode_for_suffix): New.
	(TARGET_C_MODE_FOR_SUFFIX): New.

From-SVN: r127247
2007-08-06 18:04:33 +00:00
Steve Ellcey
b441fbb053 * config/ia64/div.md (m2subrf4_cond): Change 'g' to 'G'.
From-SVN: r127246
2007-08-06 17:03:13 +00:00
Steve Ellcey
db24f66908 * config/ia64/ia64.h (MODES_TIEABLE_P): Fix typo.
From-SVN: r127245
2007-08-06 16:51:43 +00:00
H.J. Lu
d5d5d289e2 i386.md: Check TARGET_ macros and optimize_size before checking function returns in...
2007-08-06  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.md: Check TARGET_ macros and optimize_size
	before checking function returns in conditional expressions.

From-SVN: r127243
2007-08-06 07:44:02 -07:00
Andrew Pinski
30cad60d51 re PR libobjc/30731 (Warnings while compiling libobjc with the uleb128 changes)
2007-08-06  Andrew Pinski  <pinskia@gmail.com>

        PR libobjc/30731
        * exception.c (parse_lsda_header): Use _uleb128_t/_sleb128_t instead
        of _Unwind_Word for variables which are used in
        read_uleb128/read_sleb128.
        (PERSONALITY_FUNCTION): Likewise.

From-SVN: r127242
2007-08-06 07:17:59 -07:00
Andrew Haley
7665c9bebc re PR testsuite/32843 (libffi.call/return_sc.c)
PR testsuite/32843
	* src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
	FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
	FFI_TYPE_SINT32.

From-SVN: r127241
2007-08-06 12:48:07 +00:00
Francois-Xavier Coudert
7db2c621dd nan_1.f90: Rename module into aux2 to avoid cygwin hanging on the testcase.
* gfortran.dg/nan_1.f90: Rename module into aux2 to avoid cygwin
	hanging on the testcase.

From-SVN: r127240
2007-08-06 12:17:56 +00:00
Alfred Minarik
5958f5cbe0 re PR pch/13676 (GCC failes to recognize files ending in .hpp as headers to be precompiled)
PR pch/13676
	* doc/invoke.texi: Add .hp, .hxx, .hpp, .h, .HPP, .tcc as c++ header.

cp:
	* lang-specs.h: Add .hp, .hxx, .hpp, .h, .HPP, .tcc as c++ header.
	* g++spec.c (lang_specific_driver): Check them.

From-SVN: r127239
2007-08-06 11:10:19 +00:00
Paolo Carlini
ae95e46e6f re PR c++/19532 (cp/pt.c mentions a function that has been removed.)
2007-08-06  Paolo Carlini  <pcarlini@suse.de>

	PR c++/19532
	* pt.c (template_class_depth): Fix comment; change return type
	to bool.

From-SVN: r127238
2007-08-06 09:18:39 +00:00
Andrew Pinski
49271fc0e2 [multiple changes]
2008-08-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/32988
        * tree.c (build2_stat): Instead of checking for INTEGER_TYPE, check
        for INTEGRAL_TYPE_P.

2007-08-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/32988
        * gcc.c-torture/compile/pr32988.c: New test.

From-SVN: r127237
2007-08-05 20:24:19 -07:00
Andrew Pinski
085f094f22 sms-antideps.c: Add a "return 0" to the end of main.
2007-08-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * gcc.dg/sms-antideps.c: Add a "return 0" to the end of main.

From-SVN: r127235
2007-08-05 19:33:44 -07:00