Commit Graph

82482 Commits

Author SHA1 Message Date
Kaveh R. Ghazi
68a57691dc system.h (CONST_CAST): New.
* system.h (CONST_CAST): New.
	* c-decl.c (c_make_fname_decl): Use it.
	* c-lex.c (cb_ident, lex_string): Likewise.
	* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
	* gcc.c (set_spec, read_specs, for_each_path, execute, do_spec_1,
	give_switch, set_multilib_dir): Likewise.
	* gengtype-parse.c (string_seq, typedef_name): Likewise.
	* passes.c (execute_one_pass): Likewise.
	* prefix.c (update_path): Likewise.
	* pretty-print.c (pp_base_destroy_prefix): Likewise.
	* tree.c (build_string): Likewise.

cp:
	* call.c (name_as_c_string): Use CONST_CAST.
	* decl.c (build_decl): Likewise.
	* parser.c (cp_parser_string_literal): Likewise.

fortran:
	* gfortranspec.c (lang_specific_driver): Use CONST_CAST.
	* options.c (gfc_post_options): Likewise.
	* parse.c (parse_omp_structured_block): Likewise.
	* st.c (gfc_free_statement): Likewise.

java:
	* jcf-parse.c (read_class, java_parse_file): Use CONST_CAST.
	* jcf.h (JCF_FINISH): Likewise.

From-SVN: r127344
2007-08-10 17:53:58 +00:00
Aldy Hernandez
df54b9ab94 tree-flow-inline.h (is_exec_stmt): Remove.
* tree-flow-inline.h (is_exec_stmt): Remove.
	(is_label_stmt): Remove.
	* tree-flow.h: Remove prototypes for is_exec_stmt, get_filename, and
	is_label_stmt.

From-SVN: r127343
2007-08-10 17:29:23 +00:00
Andreas Krebbel
acbe5496b3 lower-subreg.c (resolve_shift_zext): Don't adjust src_reg_num for wordmode operands.
2007-08-10  Andreas Krebbel  <krebbel1@de.ibm.com>

	* lower-subreg.c (resolve_shift_zext): Don't adjust
	src_reg_num for wordmode operands.

From-SVN: r127342
2007-08-10 17:16:57 +00:00
Sandra Loosemore
174bd8cad0 mips.c (TARGET_SCHED_INIT): Define.
2007-08-10  Sandra Loosemore  <sandra@codesourcery.com>
	    David Ung  <davidu@mips.com>

        gcc/
	* config/mips/mips.c (TARGET_SCHED_INIT): Define.
	(TARGET_SCHED_REORDER2): Define.
	(mips_maybe_swap_ready): New.
	(mips_last_74k_agen_insn): New.
	(mips_74k_agen_init): New.
	(mips_74k_agen_reorder): New function to group loads and stores
	in the ready queue.
	(mips_sched_init): New.  
	(mips_sched_reorder): Don't do initialization here.  Call
	mips_74k_agen_reorder.
	(mips_variable_issue): Call mips_74k_agen_init.

Co-Authored-By: David Ung <davidu@mips.com>

From-SVN: r127341
2007-08-10 12:35:49 -04:00
Aldy Hernandez
6aab184c1d * tree-flow-inline.h (get_filename): Remove.
From-SVN: r127339
2007-08-10 15:42:54 +00:00
Richard Sandiford
5955b0a3d2 mips-protos.h (mips_address_insns): Add a boolean argument.
gcc/
	* config/mips/mips-protos.h (mips_address_insns): Add a boolean
	argument.
	(mips_fetch_insns): Delete in favor of...
	(mips_load_store_insns): ...this new function.
	* config/mips/mips.c (mips_address_insns): Add a boolean argument
	to say whether multiword moves _might_ be split.
	(mips_fetch_insns): Delete in favor of...
	(mips_load_store_insns): ...this new function.
	(mips_rtx_costs): Update the call to mips_address_insns.
	(mips_address_cost): Likewise.
	* config/mips/mips.md (length): Use mips_load_store_insns instead
	of mips_fetch_insns.
	* config/mips/constraints.md (R): Use mips_address_insns rather
	than mips_fetch_insns.  Assume that the move never needs to be split.

From-SVN: r127338
2007-08-10 15:40:26 +00:00
David Daney
dfbb3e3625 cls_multi_ushort.c, [...]: Remove xfail for mips64*-*-*.
* testsuite/libffi.call/cls_multi_ushort.c,
	testsuite/libffi.call/cls_align_uint16.c,
	testsuite/libffi.call/nested_struct1.c,
	testsuite/libffi.call/nested_struct3.c,
	testsuite/libffi.call/cls_7_1_byte.c,
	testsuite/libffi.call/nested_struct5.c,
	testsuite/libffi.call/cls_double.c,
	testsuite/libffi.call/nested_struct7.c,
	testsuite/libffi.call/cls_sint.c,
	testsuite/libffi.call/nested_struct9.c,
	testsuite/libffi.call/cls_20byte1.c,
	testsuite/libffi.call/cls_multi_sshortchar.c,
	testsuite/libffi.call/cls_align_sint64.c,
	testsuite/libffi.call/cls_3byte2.c,
	testsuite/libffi.call/cls_multi_schar.c,
	testsuite/libffi.call/cls_multi_uchar.c,
	testsuite/libffi.call/cls_19byte.c,
	testsuite/libffi.call/cls_9byte1.c,
	testsuite/libffi.call/cls_align_float.c,
	testsuite/libffi.call/closure_fn1.c,
	testsuite/libffi.call/problem1.c,
	testsuite/libffi.call/closure_fn3.c,
	testsuite/libffi.call/cls_sshort.c,
	testsuite/libffi.call/closure_fn5.c,
	testsuite/libffi.call/cls_align_double.c,
	testsuite/libffi.call/nested_struct.c,
	testsuite/libffi.call/cls_2byte.c,
	testsuite/libffi.call/nested_struct10.c,
	testsuite/libffi.call/cls_4byte.c,
	testsuite/libffi.call/cls_6byte.c,
	testsuite/libffi.call/cls_8byte.c,
	testsuite/libffi.call/cls_multi_sshort.c,
	testsuite/libffi.call/cls_align_sint16.c,
	testsuite/libffi.call/cls_align_uint32.c,
	testsuite/libffi.call/cls_20byte.c,
	testsuite/libffi.call/cls_float.c,
	testsuite/libffi.call/nested_struct2.c,
	testsuite/libffi.call/cls_5_1_byte.c,
	testsuite/libffi.call/nested_struct4.c,
	testsuite/libffi.call/cls_24byte.c,
	testsuite/libffi.call/nested_struct6.c,
	testsuite/libffi.call/cls_64byte.c,
	testsuite/libffi.call/nested_struct8.c,
	testsuite/libffi.call/cls_uint.c,
	testsuite/libffi.call/cls_multi_ushortchar.c,
	testsuite/libffi.call/cls_schar.c,
	testsuite/libffi.call/cls_uchar.c,
	testsuite/libffi.call/cls_align_uint64.c,
	testsuite/libffi.call/cls_ulonglong.c,
	testsuite/libffi.call/cls_align_longdouble.c,
	testsuite/libffi.call/cls_1_1byte.c,
	testsuite/libffi.call/cls_12byte.c,
	testsuite/libffi.call/cls_3_1byte.c,
	testsuite/libffi.call/cls_3byte1.c,
	testsuite/libffi.call/cls_4_1byte.c,
	testsuite/libffi.call/cls_6_1_byte.c,
	testsuite/libffi.call/cls_16byte.c,
	testsuite/libffi.call/cls_18byte.c,
	testsuite/libffi.call/closure_fn0.c,
	testsuite/libffi.call/cls_9byte2.c,
	testsuite/libffi.call/closure_fn2.c,
	testsuite/libffi.call/closure_fn4.c,
	testsuite/libffi.call/cls_ushort.c,
	testsuite/libffi.call/closure_fn6.c,
	testsuite/libffi.call/cls_5byte.c,
	testsuite/libffi.call/cls_align_pointer.c,
	testsuite/libffi.call/cls_7byte.c,
	testsuite/libffi.call/cls_align_sint32.c,
	testsuite/libffi.special/unwindtest_ffi_call.cc,
	testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.

From-SVN: r127337
2007-08-10 15:38:23 +00:00
David Daney
89d9d98ae5 re PR libffi/28313 (libffi has not been ported to mips64-linux-gnu)
PR libffi/28313
	* configure.ac: Don't treat mips64 as a special case.
	* Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
	* configure: Regenerate
	* Makefile.in: Ditto.
	* fficonfig.h.in: Ditto.
	* src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
	(LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
	(FFI_DEFAULT_ABI): Set for n64 case.
	(FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
	* src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
	(ffi_closure_N32): New function.
	(.eh_frame): New section
	* src/mips/o32.S: Clean up comments.
	(ffi_closure_O32): Pass ffi_closure parameter in $12.
	* src/mips/ffi.c: Use FFI_MIPS_N32 instead of
	_MIPS_SIM == _ABIN32 throughout.
	(FFI_MIPS_STOP_HERE): New, use in place of
	ffi_stop_here.
	(ffi_prep_args): Use unsigned long to hold pointer values.  Rewrite
	to support n32/n64 ABIs.
	(calc_n32_struct_flags): Rewrite.
	(calc_n32_return_struct_flags): Remove unused variable.  Reverse
	position of flag bits.
	(ffi_prep_cif_machdep): Rewrite n32 portion.
	(ffi_call): Enable for n64.  Add special handling for small structure
	return values.
	(ffi_prep_closure_loc): Add n32 and n64 support.
	(ffi_closure_mips_inner_O32): Add cast to silence warning.
	(copy_struct_N32, ffi_closure_mips_inner_N32): New functions.

From-SVN: r127336
2007-08-10 15:35:55 +00:00
Paolo Carlini
2fbe0e5aec re PR c++/17763 (Wrong context in error message for template parameter)
/cp
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

	PR c++/17763
	* error.c (dump_expr): Consistently use the *_cxx_*
	variants of the pretty-print functions.

/testsuite
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

	PR c++/17763
	* g++.dg/other/error16.C: New.

From-SVN: r127335
2007-08-10 14:57:52 +00:00
Francois-Xavier Coudert
8a09ef91fa re PR fortran/32933 (ICE in simplify_subreg with -fdefault-integer-8)
PR fortran/32933

	* trans-decl.c (gfc_build_builtin_function_decls): Change
	prototype for associated.
	* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert the
	result of __builtin_isnan into a boolean.
	(gfc_conv_intrinsic_strcmp): Cleanup.
	(gfc_conv_associated): Convert the result of the associated
	function into a boolean.

	* intrinsics/associated.c: Change return type of associated into
	a C int.

From-SVN: r127334
2007-08-10 13:20:46 +00:00
Jerry DeLisle
f419b67222 re PR fortran/33039 (Read NAMELIST: reads wrong namelist name)
2007-08-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33039
	* gfortran.dg/namelist_37.f90: New test.

From-SVN: r127333
2007-08-10 12:39:46 +00:00
Jerry DeLisle
cf9293a17e re PR fortran/33039 (Read NAMELIST: reads wrong namelist name)
2007-08-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33039
	* io/list_read.c (find_nml_name): Check for a space after a namelist
	name match.

From-SVN: r127332
2007-08-10 12:36:01 +00:00
Paolo Carlini
caba20819a re PR c++/22256 (diagnostic shows wrong type for conversion operator)
/cp
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

	PR c++/22256
	* decl.c (check_special_function_return_type): Just error
	on return type specified for conversion operator.

/testsuite
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

	PR c++/22256
	* g++.dg/conversion/op3.C: New.

From-SVN: r127331
2007-08-10 08:56:34 +00:00
GCC Administrator
d184f9d90b Daily bump.
From-SVN: r127329
2007-08-10 00:17:22 +00:00
Sandra Loosemore
cc4ebe7d65 mips.opt (mhard-float, [...]): Make these control TARGET_HARD_FLOAT_ABI and TARGET_SOFT_FLOAT_ABI...
2007-08-09  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/mips/mips.opt (mhard-float, msoft-float):  Make these
	control TARGET_HARD_FLOAT_ABI and TARGET_SOFT_FLOAT_ABI, rather
	than TARGET_HARD_FLOAT and TARGET_SOFT_FLOAT.  
	* config/mips/mips.h (mips16_hard_float): Delete.
	(TARGET_HARD_FLOAT_ABI, TARGET_SOFT_FLOAT_ABI):  Delete these
	definitions, and replace with....
	(TARGET_HARD_FLOAT, TARGET_SOFT_FLOAT): Define.
	* config/mips/mips.c (mips16_hard_float): Delete.  Replace
	all references with (TARGET_MIPS16 && TARGET_HARD_FLOAT_ABI).
	(MIPS_MARCH_CONTROLS_SOFT_FLOAT): Update comments.
	(override_options):  Replace MASK_SOFT_FLOAT references with
	MASK_SOFT_FLOAT_ABI.  Delete twiddling with MASK_SOFT_FLOAT
	and mips16_hard_float when TARGET_MIPS16.

From-SVN: r127325
2007-08-09 18:42:11 -04:00
Tobias Burnus
c2df0359e6 re PR fortran/32987 (TAB in FORMAT: accept extension, warn with -std=f*)
2007-08-09  Tobias Burnus  <burnus@net-b.de>

	PR fortran/32987
	* io.c (format_token): Add FMT_ERROR.
	(next_char_not_space): Print error/warning when
	'\t' are used in format specifications.
	(format_lex): Propagate error.
	(check_format): Ditto.

2007-08-09  Tobias Burnus  <burnus@net-b.de>

	PR fortran/32987
	* io/format.c (next_char): Treat '\t' as ' ' in format specification.

2007-08-09  Tobias Burnus  <burnus@net-b.de>

	PR fortran/32987
	* gfortran.dg/fmt_tab_1.f90: New.
	* gfortran.dg/fmt_tab_2.f90: New.

From-SVN: r127324
2007-08-10 00:02:32 +02:00
Andrew Pinski
eafaa67539 re PR c/32796 (internal compiler error: tree check: expected integer_type or enumeral_type or boolean_type or real_type, have pointer_type in int_fits_type_p)
2007-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR c/32796
        * c-typeck.c (build_binary_op): Check for non pointer types before
        calling int_fits_type_p.

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

        PR c/32796
        * gcc.c-torture/compile/pr32796.c: New test.

From-SVN: r127323
2007-08-09 14:39:08 -07:00
Andrew Pinski
e057e0cd1d re PR middle-end/32813 (ICE for array expression in empty if statement, compiled with -fbounds-check)
2007-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/32813
        * fold-const.c (omit_one_operand): Return only the ommitted expression
        if the result is an empty statement.
        (pedantic_omit_one_operand): Likewise.

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

        PR middle-end/32813
        * gfortran.fortran-torture/compile/emptyif-1.f90: New test.
        * lib/fortran-torture.exp (fortran-torture): Use TORTURE_OPTIONS instead
        of just -O.

From-SVN: r127322
2007-08-09 14:36:27 -07:00
Tobias Burnus
b49957dd09 re PR fortran/33001 (error with hexadecimal DATA)
2007-08-09  Tobias Burnus  <burnus@net-b.de>

	PR fortran/33001
	* arith.c (arith_error): Point in the error message
	to -fno-range-check.

From-SVN: r127321
2007-08-09 23:27:52 +02:00
Daniel Berlin
d7705934ec c-typeck.c (readonly_error): Improve error for assignment.
2007-08-09  Daniel Berlin  <dberlin@dberlin.org>

	* c-typeck.c (readonly_error): Improve error for assignment.
	
	* c-pretty-print.c (pp_c_additive_expression): Handle pointer-plus
	expression. 
	(pp_c_expression): Ditto.
2007-08-09  Daniel Berlin  <dberlin@dberlin.org>

	* typeck2.c (readonly_error): Handle general expressions.
	* error.c (dump_expr): Handle POINTER_PLUS_EXPR

From-SVN: r127320
2007-08-09 21:13:30 +00:00
Simon Baldwin
d6bc05d4a4 simplify-rtx.c (simplify_binary_operation_1): Removed erroneous break that was preventing simplify_associative_operation()...
* simplify-rtx.c (simplify_binary_operation_1): Removed erroneous
        break that was preventing simplify_associative_operation() for xor.

From-SVN: r127319
2007-08-09 18:30:49 +00:00
Sandra Loosemore
14670a74f8 tm.texi (CLZ_DEFINED_VALUE_AT_ZERO, [...]): Document change in interpretation of value from boolean to tri-state integer.
2007-08-09  Sandra Loosemore  <sandra@codesourcery.com>
	    Nigel Stephens  <nigel@mips.com>

	gcc/
	* doc/tm.texi (CLZ_DEFINED_VALUE_AT_ZERO, CTZ_DEFINED_VALUE_AT_ZERO):
	Document change in interpretation of value from boolean to
	tri-state integer.
	* optabs.c (expand_ffs, expand_ctz): New functions to compute
	ffs and ctz using clz.
	(expand_unop):  Call them.
	* config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix its
	result value.
	(CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
	* config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Likewise, to
	enable the new ffs expansion on this target.

Co-Authored-By: Nigel Stephens <nigel@mips.com>

From-SVN: r127318
2007-08-09 10:08:54 -04:00
Jan Hubicka
166cdb08f2 optabs.c (expand_widen_pattern_expr): Use optabs accestors.
* optabs.c (expand_widen_pattern_expr): Use optabs accestors.
	(expand_ternary_op): Likewise.
	(expand_vec_shift_expr): Likewise.
	(expand_binop_directly): Likewise.
	(expand_binop): Likewise.
	(sign_expand_binop): Likewise.
	(expand_twoval_unop): Likewise.
	(expand_twoval_binop): Likewise.
	(expand_twoval_binop_libfunc): Likewise.
	(widen_clz): Likewise.
	(widen_bswap): Likewise.
	(expand_parity): Likewise.
	(expand_unop): Likewise.
	(expand_abs_nojump): Likewise.
	(expand_copysign): Likewise.
	(emit_no_conflict_block): Likewise.
	(emit_libcall_block): Likewise.
	(can_compare_p): Likewise.
	(prepare_cmp_insn): Likewise.
	(emit_cmp_and_jump_insn_1): Likewise.
	(prepare_float_lib_cmp): Likewise.
	(emit_conditional_add): Likewise.
	(gen_add2_insn): Likewise.
	(have_add2_insn): Likewise.
	(gen_sub2_insn): Likewise.
	(have_sub2_insn): Likewise.
	(can_extend_p): Likewise.
	(can_fix_p): Likewise.
	(can_float_p): Likewise.
	(expand_float): Likewise.
	(expand_fix): Likewise.
	(expand_sfix_optab): Likewise.
	(new_optab): Likewise.
	(new_convert_optab): Likewise.
	(init_libfuncs): Likewise.
	(init_interclass_conv_libfuncs): Likewise.
	(init_intraclass_conv_libfuncs): Likewise.
	(set_conv_libfunc): Likewise.
	(init_optabs): Likewise.
	(debug_optab_libfuncs): Likewise.
	(gen_cond_trap): Likewise.
	* optabs.h (optab_handler, convert_optab_hanlder): New.
	* genopinit.c: Update optabs generation table.
	* reload.c (find_reloads_address_1): Use optabs accestors.
	* builtins.c (expand_builtin_mathfn): Likewise.
	(expand_builtin_mathfn_2): Likewise.
	(expand_builtin_mathfn_3): Likewise.
	(expand_builtin_interclass_mathfn): Likewise.
	(expand_builtin_sincos): Likewise.
	(expand_builtin_cexpi): Likewise.
	(expand_builtin_powi): Likewise.
	(expand_builtin_strlen): Likewise.
	* dojump.c (do_jump): Likewise.
	* expr.c (convert_move): Likewise.
	(move_by_pieces): Likewise.
	(move_by_pieces_ninsns): Likewise.
	(can_store_by_pieces): Likewise.
	(store_by_pieces_1): Likewise.
	(emit_move_via_integer): Likewise.
	(emit_move_complex): Likewise.
	(emit_move_ccmode): Likewise.
	(emit_move_insn_1): Likewise.
	(emit_single_push_insn): Likewise.
	(store_constructor): Likewise.
	(expand_expr_real_1): Likewise.
	(do_store_flag): Likewise.
	* ada/misc.c (gnat_compute_largest_alignment): Likewise.
	(enumerate_modes): Likewise.
	* tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
	(supportable_widening_operation): Likewise.
	(supportable_narrowing_operation): Likewise.
	* expmed.c (store_bit_field_1): Likewise.
	(extract_bit_field_1): Likewise.
	(expand_mult_highpart_optab): Likewise.
	(expand_smod_pow2): Likewise.
	(expand_divmod): Likewise.
	(emit_store_flag): Likewise.
	* tree-vect-patterns.c
	(vect_pattern_recog_1): Likewise.
	* tree-ssa-loop-prefetch.c
	(nontemporal_store_p): Likewise.
	* tree-vect-transform.c (vect_model_reduction_cost): Likewise.
	(vect_create_epilog_for_reduction): Likewise.
	(vectorizable_reduction): Likewise.
	(vectorizable_operation): Likewise.
	(vect_strided_store_supported): Likewise.
	(vectorizable_store): Likewise.
	(vect_strided_load_supported): Likewise.
	(vectorizable_load): Likewise.
	* combine.c (simplify_comparison): Likewise.
	* tree-vect-generic.c
	(type_for_widest_vector_mode): Likewise.
	(expand_vector_operations_1): Likewise.
	* config/spu/spu.c (spu_expand_mov): Likewise.
	(spu_emit_vector_compare): Likewise.
	* config/rs6000/rs6000.c
	(rs6000_emit_vector_compare): Likewise.
	* stmt.c (add_case_node): Likewise.
	* reload1.c (gen_reload):

From-SVN: r127317
2007-08-09 14:01:22 +00:00
Michael Matz
3eb0da77ce tree.h (fixed_zerop): Declare as taking a const_tree.
* tree.h (fixed_zerop): Declare as taking a const_tree.
        * tree.c (fixed_zerop): Take a const_tree.

From-SVN: r127316
2007-08-09 13:56:45 +00:00
Ira Rosen
cd7ae74d27 tree-vect-transform.c (vectorizable_store): Remove call to copy_virtual_operands() and call mark_symbols_for_renaming() for...
* tree-vect-transform.c (vectorizable_store): Remove call to
	copy_virtual_operands() and call mark_symbols_for_renaming() for
	the created vector store.
	(vect_setup_realignment): Don't call copy_virtual_operands() and
	update_vuses_to_preheader(). 
	(vectorizable_load): Don't call copy_virtual_operands(). 
	(update_vuses_to_preheader): Remove.

From-SVN: r127315
2007-08-09 10:56:11 +00:00
Andrew Haley
fbb85475da libjava.exp (libjava_invoke): Log the invocation.
* testsuite/lib/libjava.exp (libjava_invoke): Log the invocation.

From-SVN: r127314
2007-08-09 09:42:57 +00:00
David Daney
d23869d452 ffitest.h (ffi_type_mylong): Remove definition.
* testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
	* testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
	specifiers.
	* testsuite/libffi.call/nested_struct1.c (main): Ditto.
	* testsuite/libffi.call/cls_sint.c (main): Ditto.
	* testsuite/libffi.call/nested_struct9.c (main): Ditto.
	* testsuite/libffi.call/cls_20byte1.c (main): Ditto.
	* testsuite/libffi.call/cls_9byte1.c (main): Ditto.
	* testsuite/libffi.call/closure_fn1.c (main): Ditto.
	* testsuite/libffi.call/closure_fn3.c (main): Ditto.
	* testsuite/libffi.call/return_dbl2.c (main): Ditto.
	* testsuite/libffi.call/cls_sshort.c (main): Ditto.
	* testsuite/libffi.call/return_fl3.c (main): Ditto.
	* testsuite/libffi.call/closure_fn5.c (main): Ditto.
	* testsuite/libffi.call/nested_struct.c (main): Ditto.
	* testsuite/libffi.call/nested_struct10.c (main): Ditto.
	* testsuite/libffi.call/return_ll1.c (main): Ditto.
	* testsuite/libffi.call/cls_8byte.c (main): Ditto.
	* testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
	* testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
	* testsuite/libffi.call/cls_20byte.c (main): Ditto.
	* testsuite/libffi.call/nested_struct2.c (main): Ditto.
	* testsuite/libffi.call/cls_24byte.c (main): Ditto.
	* testsuite/libffi.call/nested_struct6.c (main): Ditto.
	* testsuite/libffi.call/cls_uint.c (main): Ditto.
	* testsuite/libffi.call/cls_12byte.c (main): Ditto.
	* testsuite/libffi.call/cls_16byte.c (main): Ditto.
	* testsuite/libffi.call/closure_fn0.c (main): Ditto.
	* testsuite/libffi.call/cls_9byte2.c (main): Ditto.
	* testsuite/libffi.call/closure_fn2.c (main): Ditto.
	* testsuite/libffi.call/return_dbl1.c (main): Ditto.
	* testsuite/libffi.call/closure_fn4.c (main): Ditto.
	* testsuite/libffi.call/closure_fn6.c (main): Ditto.
	* testsuite/libffi.call/cls_align_sint32.c (main): Ditto.

From-SVN: r127312
2007-08-09 02:02:37 +00:00
GCC Administrator
c0072b26d9 Daily bump.
From-SVN: r127310
2007-08-09 00:17:46 +00:00
Francois-Xavier Coudert
88821319bd re PR fortran/32902 (Document integer KIND of SIZEOF())
PR fortran/32902
	* intrinsic.texi (SIZEOF): Add mention to C_SIZE_T.

From-SVN: r127307
2007-08-08 23:36:24 +00:00
Chao-ying Fu
325217edf0 tree.def (FIXED_POINT_TYPE): New type.
* tree.def (FIXED_POINT_TYPE): New type.
	(FIXED_CST): New constant.
	(FIXED_CONVERT_EXPR): New expr.
	* doc/c-tree.texi (Types): Document FIXED_POINT_TYPE.
	(Expressions): Document FIXED_CST and FIXED_CONVERT_EXPR.
	* tree.h (struct tree_base): Add saturating_flag.
	Remove one bit of spare for saturating_flag.
	(NUMERICAL_TYPE_CHECK): Support FIXED_POINT_TYPE.
	(NON_SAT_FIXED_POINT_TYPE_P, SAT_FIXED_POINT_TYPE_P,
	FIXED_POINT_TYPE_P): Define.
	(TYPE_SATURATING): Define.
	(TREE_FIXED_CST_PTR, TREE_FIXED_CST): Define.
	(struct tree_fixed_cst): New.
	(TYPE_IBIT, TYPE_FBIT): Define.
	(tree_node): Add fixed_cst.
	(enum tree_index): Add new enumeration values of
	TI_SAT_SFRACT_TYPE, TI_SAT_FRACT_TYPE, TI_SAT_LFRACT_TYPE,
	TI_SAT_LLFRACT_TYPE, TI_SAT_USFRACT_TYPE, TI_SAT_UFRACT_TYPE,
	TI_SAT_ULFRACT_TYPE, TI_SAT_ULLFRACT_TYPE, TI_SFRACT_TYPE,
	TI_FRACT_TYPE, TI_LFRACT_TYPE, TI_LLFRACT_TYPE, TI_USFRACT_TYPE,
	TI_UFRACT_TYPE, TI_ULFRACT_TYPE, TI_ULLFRACT_TYPE,
	TI_SAT_SACCUM_TYPE, TI_SAT_ACCUM_TYPE, TI_SAT_LACCUM_TYPE,
	TI_SAT_LLACCUM_TYPE, TI_SAT_USACCUM_TYPE, TI_SAT_UACCUM_TYPE,
	TI_SAT_ULACCUM_TYPE, TI_SAT_ULLACCUM_TYPE, TI_SACCUM_TYPE,
	TI_ACCUM_TYPE, TI_LACCUM_TYPE, TI_LLACCUM_TYPE, TI_USACCUM_TYPE,
	TI_UACCUM_TYPE, TI_ULACCUM_TYPE, TI_ULLACCUM_TYPE,
	TI_QQ_TYPE, TI_HQ_TYPE,_TYPE, TI_SQ_TYPE, TI_DQ_TYPE, TI_TQ_TYPE,
	TI_UQQ_TYPE, TI_UHQ_TYPE, TI_USQ_TYPE, TI_UDQ_TYPE, TI_UTQ_TYPE,
	TI_SAT_QQ_TYPE, TI_SAT_HQ_TYPE, TI_SAT_SQ_TYPE, TI_SAT_DQ_TYPE,
	TI_SAT_TQ_TYPE, TI_SAT_UQQ_TYPE, TI_SAT_UHQ_TYPE, TI_SAT_USQ_TYPE,
	TI_SAT_UDQ_TYPE, TI_SAT_UTQ_TYPE, TI_HA_TYPE, TI_SA_TYPE, TI_DA_TYPE,
	TI_TA_TYPE, TI_UHA_TYPE, TI_USA_TYPE, TI_UDA_TYPE, TI_UTA_TYPE,
	TI_SAT_HA_TYPE, TI_SAT_SA_TYPE, TI_SAT_DA_TYPE, TI_SAT_TA_TYPE,
	TI_SAT_UHA_TYPE, TI_SAT_USA_TYPE, TI_SAT_UDA_TYPE, TI_SAT_UTA_TYPE.
	(sat_short_fract_type_node, sat_fract_type_node,
	sat_long_fract_type_node, sat_long_long_fract_type_node,
	sat_unsigned_short_fract_type_node, sat_unsigned_fract_type_node,
	sat_unsigned_long_fract_type_node,
	sat_unsigned_long_long_fract_type_node, short_fract_type_node,
	fract_type_node, long_fract_type_node, long_long_fract_type_node,
	unsigned_short_fract_type_node, unsigned_fract_type_node,
	unsigned_long_fract_type_node, unsigned_long_long_fract_type_node,
	sat_short_accum_type_node, sat_accum_type_node,
	sat_long_accum_type_node, sat_long_long_accum_type_node,
	sat_unsigned_short_accum_type_node, sat_unsigned_accum_type_node,
	sat_unsigned_long_accum_type_node,
	sat_unsigned_long_long_accum_type_node, short_accum_type_node,
	accum_type_node, long_accum_type_node, long_long_accum_type_node,
	unsigned_short_accum_type_node, unsigned_accum_type_node,
	unsigned_long_accum_type_node, unsigned_long_long_accum_type_node,
	qq_type_node, hq_type_node, sq_type_node, dq_type_node, tq_type_node,
	uqq_type_node, uhq_type_node, usq_type_node, udq_type_node,
	utq_type_node, sat_qq_type_node, sat_hq_type_node, sat_sq_type_node,
	sat_dq_type_node, sat_tq_type_node, sat_uqq_type_node,
	sat_uhq_type_node, sat_usq_type_node, sat_udq_type_node,
	sat_utq_type_node, ha_type_node, sa_type_node, da_type_node,
	ta_type_node, uha_type_node, usa_type_node, uda_type_node,
	uta_type_node, sat_ha_type_node, sat_sa_type_node, sat_da_type_node,
	sat_ta_type_node, sat_uha_type_node, sat_usa_type_node,
	sat_uda_type_node, sat_uta_type_node): New macro.
	(make_fract_type, make_accum_type): Declare.
	(make_signed_fract_type, make_unsigned_fract_type,
	make_sat_signed_fract_type, make_sat_unsigned_fract_type,
	make_signed_accum_type, make_unsigned_accum_type,
	make_sat_signed_accum_type, make_sat_unsigned_accum_type,
	make_or_reuse_signed_fract_type, make_or_reuse_unsigned_fract_type,
	make_or_reuse_sat_signed_fract_type,
	make_or_reuse_sat_unsigned_fract_type, make_or_reuse_signed_accum_type,
	make_or_reuse_unsigned_accum_type, make_or_reuse_sat_signed_accum_type,
	make_or_reuse_sat_unsigned_accum_type): New macro.
	(fixed_zerop): Declare.
	* defaults.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE,
	LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
	SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
	LONG_LONG_ACCUM_TYPE_SIZE): Define.
	* treestruct.def: Add TS_FIXED_CST.
	* Makefile.in (c-pretty-print.o): Add dependence on fixed-value.h.
	(tree.o): Likewise.
	(tree-dump.o): Likewise.
	(print-tree.o): Likewise.
	(tree-pretty-print.o): Likewise.
	(fold-const.o): Likewise.
	* tree-complex.c (some_nonzerop): Handle FIXED_CST.
	* tree-gimple.c (is_gimple_formal_tmp_rhs): Handle FIXED_CST.
	(is_gimple_min_invariant): Handle FIXED_CST.
	* stor-layout.c (int_mode_for_mode): Handle MODE_FRACT, MODE_UFRACT,
	MODE_ACCUM, MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT,
	MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
	(layout_type): Handle FIXED_POINT_TYPE.
	(make_fract_type, make_accum_type): New functions.
	* tree-browser.c (browse_tree): Handle FIXED_POINT_TYPE.
	* tree-dump.c (fixed-value.h): New include.
	(dump_fixed): New function.
	(dequeue_and_dump): Handle FIXED_POINT_TYPE and FIXED_CST.
	* tree-inline.c (remap_type_1): Handle FIXED_POINT_TYPE.
	(estimate_num_insns_1): Handle FIXED_CST and FIXED_CONVERT_EXPR.
	* tree-pretty-print.c (fixed-value.h): New include.
	(dump_generic_node): Handle FIXED_POINT_TYPE, FIXED_CST, and
	FIXED_CONVERT_EXPR.
	* tree-scalar-evolution.c (get_scalar_evolution): Handle FIXED_CST.
	* tree-ssa-loop-im.c (for_each_index): Handle FIXED_CST.
	* tree-ssa-pre.c (poolify_tree): Handle FIXED_CST.
	* tree-ssa-reassoc.c (break_up_subtract_bb): We can do reassociation
	for non-saturating fixed-point types.
	(reassociate_bb): Likewise.
	* emit-rtl.c (fixed-value.h): New include.
	(fconst0, fconst1): New array.
	(init_emit_once): Initialize fconst0 and fconst1 for fixed-point modes.
	* tree-vect-generic.c expand_vector_operation): Support
	MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, and
	MODE_VECTOR_UACCUM.
	(type_for_widest_vector_mode): Add one parameter for the 
	saturating flag.
	Check scalar FRACT, UFRACT, ACCUM, and UACCUM mode to select their
	vector mode.
	Pass the satp parameter to type_for_mode for fixed-point types.
	(expand_vector_operations_1): Pass the saturating flag to
	type_for_widest_vector_mode.
	Support MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
	and MODE_VECTOR_UACCUM.
	* tree-vect-transform.c (vect_is_simple_cond): Support FIXED_CST.
	(vectorizable_condition): Likewise.
	* tree.c (fixed-value.h): New include.
	(tree_code_size): Support FIXED_CST.
	(build_fixed): New function.
	(build_one_cst): Support FIXED_POINT_TYPE for accum types.
	(fixed_zerop): New function.
	(tree_node_structure): Support FIXED_CST.
	(type_contains_placeholder_1): Support FIXED_POINT_TYPE.
	(build_type_attribute_qual_variant): Handle FIXED_POINT_TYPE.
	(type_hash_eq): Handle FIXED_POINT_TYPE.
	(simple_cst_equal): Support FIXED_CST.
	(iterative_hash_expr): Handle FIXED_CST.
	(get_unwidened): Make sure type is not FIXED_POINT_TYPE.
	(get_narrower): Likewise.
	(variably_modified_type_p): Handle FIXED_POINT_TYPE.
	(make_or_reuse_fract_type, make_or_reuse_accum_type): New functions.
	(build_common_tree_nodes_2): Use MAKE_FIXED_TYPE_NODE_FAMILY and
	MAKE_FIXED_MODE_NODE macros to initialize fixed-point type
	nodes.
	(build_vector_type_for_mode): Handle MODE_VECTOR_FRACT,
	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
	(initializer_zerop): Support FIXED_CST.
	(walk_tree): Handle FIXED_CST and FIXED_POINT_TYPE.
	* dwarf2out.c (base_type_die): Use DW_ATE_signed_fixed or
	DW_ATE_unsigned_fixed to describe FIXED_POINT_TYPE.
	(is_base_type): Handle FIXED_POINT_TYPE.
	(add_type_attribute): Handle FIXED_POINT_TYPE.
	(gen_type_die_with_usage): Handle FIXED_POINT_TYPE.
	* print-tree.c (fixed-value.h): New include.
	(print_node_brief): Support FIXED_CST.
	(print_node): Support FIXED_POINT_TYPE and FIXED_CST.
	* c-pretty-print.c (fixed-value.h): New include.
	(pp_c_type_specifier): Handle FIXED_POINT_TYPE.  Need to pass
	TYPE_SATURATING to c_common_type_for_mode for fixed-point modes.
	(pp_c_direct_abstract_declarator): Handle FIXED_POINT_TYPE.
	Support fixed-point types for inner items in VECTOR_TYPE.
	(pp_c_direct_declarator): Likewise.
	(pp_c_declarator): Likewise.
	(pp_c_fixed_constant): New function.
	(pp_c_constant): Handle FIXED_CST.
	(pp_c_primary_expression): Likewise.
	(pp_c_expression): Likewise.
	* fold-const.c (fixed-value.h): New include.
	(negate_expr_p): Return true for FIXED_CST.
	(fold_negate_expr): Support FIXED_CST.
	(split_tree): Support FIXED_CST.
	(const_binop): Support FIXED_CST.
	(fold_convert_const_int_from_fixed): New function to convert from
	fixed to int.
	(fold_convert_const_real_from_fixed): New function to convert from
	fixed to real.
	(fold_convert_const_fixed_from_fixed): New function to convert from
	fixed to another fixed.
	(fold_convert_const_fixed_from_int): New function to convert from
	int to fixed.
	(fold_convert_const_fixed_from_real): New function to convert from
	real to fixed.
	(fold_convert_const): Support conversions from fixed to int, from
	fixed to real, from fixed to fixed, from int to fixed, and from real
	to fixed.
	(fold_convert): Support FIXED_CST and FIXED_POINT_TYPE.
	(operand_equal_p): Support FIXED_CST.
	(make_range): For fixed-point modes, we need to pass the
	saturating flag as the 2nd parameter.
	(tree_swap_operands_p): Handle FIXED_CST.
	(fold_plusminus_mult_expr): For fract modes, we cannot generate
	constant 1.
	(fold_unary): Support FIXED_CONVERT_EXPR.
	(fold_binary): Handle FIXED_CST.
	Make sure the type is not saturating, before associating operations.
	Ex: A + B + C, A * B * C, (A1 * C1) +/- (A2 * C2).
	(tree_expr_nonnegative_warnv_p): Handle FIXED_CST.
	(fold_negate_const): Support FIXED_CST.
	(fold_relational_const): Support FIXED_CST.
	* gimplify.c (omp_firstprivatize_type_sizes): Handle FIXED_POINT_TYPE.
	(gimplify_expr): Handle FIXED_CST.
	(gimplify_type_sizes): Handle FIXED_POINT_TYPE.
	* ipa-prop.c (ipa_callsite_compute_param): Support FIXED_CST.
	* ipa-type-escape.c (type_to_consider): Handle FIXED_POINT_TYPE.
	* doc/tm.texi (Type Layout): Document SHORT_FRACT_TYPE_SIZE,
	FRACT_TYPE_SIZE, LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
	SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
	LONG_LONG_ACCUM_TYPE_SIZE.
	* dbxout.c (dbxout_type): Handle FIXED_POINT_TYPE.
	* c-aux-info.c (gen_type): Handle FIXED_POINT_TYPE.
	* tree-sra.c (is_sra_scalar_type): Support FIXED_POINT_TYPE.
	* expmed.c (extract_bit_field): Support MODE_FRACT, MODE_UFRACT,
	MODE_ACCUM, and MODE_UACCUM.
	* tree-vectorizer.c (vect_is_simple_reduction): Check for saturating
	fixed-point types to disable reduction.
	* explow.c (promote_mode): Support FIXED_POINT_TYPE.

From-SVN: r127306
2007-08-08 22:29:12 +00:00
Samuel Thibault
ad10fdc2b7 natVMInetAddressPosix.cc (java::net::VMInetAddress::getLocalHostname): Allocate buffer dynamically.
2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * java/net/natVMInetAddressPosix.cc
        (java::net::VMInetAddress::getLocalHostname) [!MAXHOSTNAMELEN]:
        Allocate buffer dynamically.

From-SVN: r127305
2007-08-08 22:24:40 +00:00
David Edelsohn
0eab684046 x-rs6000: New file.
* 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
2007-08-08 15:33:24 -04:00
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