Commit Graph

95029 Commits

Author SHA1 Message Date
Janus Weil
e2ab8b0935 re PR fortran/40881 ([F03] warn for obsolescent features)
2009-08-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40881
	* decl.c (match_char_length): Warn about old-style character length
	declarations.
	* match.c (match_arithmetic_if,gfc_match_if): Modify warning message
	for arithmetic if.
	(gfc_match_goto): Warn about computed gotos.
	(gfc_match_return): Warn about alternate return.
	(gfc_match_st_function): Warn about statement functions.
	* resolve.c (resolve_fl_procedure): Modify warning message for
	assumed-length character functions.


2009-08-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40881
	* gfortran.dg/aliasing_dummy_1.f90: Add -std=legacy.
	* gfortran.dg/altreturn_3.f90: Ditto.
	* gfortran.dg/altreturn_5.f90: Ditto.
	* gfortran.dg/altreturn_6.f90: Ditto.
	* gfortran.dg/altreturn_7.f90: Ditto.
	* gfortran.dg/array_constructor_13.f90: Ditto.
	* gfortran.dg/arrayio_7.f90: Ditto.
	* gfortran.dg/arrayio_8.f90: Ditto.
	* gfortran.dg/assumed_charlen_function_3.f90: Modified warning message.
	* gfortran.dg/assumed_charlen_function_4.f90: Add -std=legacy.
	* gfortran.dg/assumed_charlen_function_5.f90: Modified warning message.
	* gfortran.dg/backspace_8.f: Add -std=legacy.
	* gfortran.dg/backspace_9.f: Ditto.
	* gfortran.dg/char_comparison_1.f: Ditto.
	* gfortran.dg/char_decl_1.f90: Ditto.
	* gfortran.dg/char_initialiser_actual.f90: Ditto.
	* gfortran.dg/char_pointer_assign.f90: Ditto.
	* gfortran.dg/char_pointer_dependency.f90: Ditto.
	* gfortran.dg/char_pointer_dummy.f90: Ditto.
	* gfortran.dg/char_pointer_func.f90: Ditto.
	* gfortran.dg/common_8.f90: Ditto.
	* gfortran.dg/constant_substring.f: Ditto.
	* gfortran.dg/data_char_2.f90: Ditto.
	* gfortran.dg/der_array_io_1.f90: Ditto.
	* gfortran.dg/der_array_io_2.f90: Ditto.
	* gfortran.dg/der_array_io_3.f90: Ditto.
	* gfortran.dg/der_io_3.f90: Ditto.
	* gfortran.dg/dev_null.F90: Ditto.
	* gfortran.dg/direct_io_2.f90: Ditto.
	* gfortran.dg/do_iterator_2.f90: Ditto.
	* gfortran.dg/e_d_fmt.f90: Ditto.
	* gfortran.dg/empty_format_1.f90: Ditto.
	* gfortran.dg/entry_17.f90: Modified warning message.
	* gfortran.dg/entry_7.f90: Add -std=legacy.
	* gfortran.dg/eor_1.f90: Ditto.
	* gfortran.dg/equiv_2.f90: Ditto.
	* gfortran.dg/equiv_constraint_2.f90: Use new-style character length.
	* gfortran.dg/equiv_substr.f90: Add -std=legacy.
	* gfortran.dg/extended_char_comparison_1.f: Ditto.
	* gfortran.dg/fmt_bz_bn_err.f: Ditto.
	* gfortran.dg/fmt_error_2.f90: Ditto.
	* gfortran.dg/fmt_read_bz_bn.f90: Ditto.
	* gfortran.dg/fmt_tl.f: Ditto.
	* gfortran.dg/fmt_white.f: Ditto.
	* gfortran.dg/func_derived_1.f90: Ditto.
	* gfortran.dg/g77_intrinsics_funcs.f: Ditto.
	* gfortran.dg/g77_intrinsics_sub.f: Ditto.
	* gfortran.dg/global_references_2.f90: Ditto.
	* gfortran.dg/hollerith_1.f90: Ditto.
	* gfortran.dg/hollerith.f90: Use new-style character length.
	* gfortran.dg/hollerith_f95.f90: Ditto.
	* gfortran.dg/ichar_1.f90: Add -std=legacy.
	* gfortran.dg/implicit_6.f90: Ditto.
	* gfortran.dg/implicit_9.f90: Ditto.
	* gfortran.dg/inquire_13.f90: Ditto.
	* gfortran.dg/inquire_5.f90: Ditto.
	* gfortran.dg/inquire_6.f90: Ditto.
	* gfortran.dg/inquire.f90: Ditto.
	* gfortran.dg/io_constraints_1.f90: Use new-style character length.
	* gfortran.dg/io_constraints_2.f90: Ditto.
	* gfortran.dg/list_read_2.f90: Add -std=legacy.
	* gfortran.dg/loc_2.f90: Ditto.
	* gfortran.dg/logical_1.f90: Ditto.
	* gfortran.dg/longline.f: Ditto.
	* gfortran.dg/merge_char_1.f90: Ditto.
	* gfortran.dg/namelist_12.f: Ditto.
	* gfortran.dg/namelist_14.f90: Ditto.
	* gfortran.dg/namelist_18.f90: Ditto.
	* gfortran.dg/namelist_19.f90: Ditto.
	* gfortran.dg/namelist_21.f90: Ditto.
	* gfortran.dg/namelist_22.f90: Ditto.
	* gfortran.dg/namelist_37.f90: Ditto.
	* gfortran.dg/namelist_54.f90: Ditto.
	* gfortran.dg/namelist_55.f90: Ditto.
	* gfortran.dg/namelist_empty.f90: Ditto.
	* gfortran.dg/namelist_use.f90: Use new-style character length.
	* gfortran.dg/namelist_use_only.f90: Add -std=legacy.
	* gfortran.dg/nested_modules_4.f90: Ditto.
	* gfortran.dg/nested_modules_5.f90: Ditto.
	* gfortran.dg/open-options-blanks.f: Ditto.
	* gfortran.dg/output_exponents_1.f90: Ditto.
	* gfortran.dg/parens_5.f90: Ditto.
	* gfortran.dg/parens_6.f90: Ditto.
	* gfortran.dg/parent_result_ref_2.f90: Modified warning message.
	* gfortran.dg/pointer_function_actual_1.f90: Add -std=legacy.
	* gfortran.dg/pr15129.f90: Ditto.
	* gfortran.dg/pr15332.f: Ditto.
	* gfortran.dg/pr16597.f90: Ditto.
	* gfortran.dg/pr17143.f90: Ditto.
	* gfortran.dg/pr17164.f90: Ditto.
	* gfortran.dg/pr17229.f: Modified warning message.
	* gfortran.dg/pr18210.f90: Add -std=legacy.
	* gfortran.dg/pr19155.f: Ditto.
	* gfortran.dg/pr20086.f90: Ditto.
	* gfortran.dg/pr20124.f90: Ditto.
	* gfortran.dg/pr20755.f: Ditto.
	* gfortran.dg/pr20865.f90: Ditto.
	* gfortran.dg/pr20950.f: Ditto.
	* gfortran.dg/pr21730.f: Ditto.
	* gfortran.dg/pr22491.f: Ditto.
	* gfortran.dg/pr29713.f90: Ditto.
	* gfortran.dg/print_parentheses_1.f: Ditto.
	* gfortran.dg/print_parentheses_2.f90: Ditto.
	* gfortran.dg/proc_assign_1.f90: Ditto.
	* gfortran.dg/proc_decl_1.f90: Ditto.
	* gfortran.dg/proc_ptr_17.f90: Add dg-warning.
	* gfortran.dg/read_eor.f90: : Add -std=legacy.
	* gfortran.dg/read_float_1.f90: Ditto.
	* gfortran.dg/read_logical.f90: Ditto.
	* gfortran.dg/recursive_statement_functions.f90: Ditto.
	* gfortran.dg/return_1.f90: Ditto.
	* gfortran.dg/rewind_1.f90: Ditto.
	* gfortran.dg/runtime_warning_1.f90: Use new-style character length.
	* gfortran.dg/scalar_return_1.f90: Add -std=legacy.
	* gfortran.dg/stfunc_1.f90: Ditto.
	* gfortran.dg/stfunc_3.f90: Ditto.
	* gfortran.dg/stfunc_4.f90: Ditto.
	* gfortran.dg/stfunc_6.f90: Ditto.
	* gfortran.dg/streamio_2.f90: Ditto.
	* gfortran.dg/string_ctor_1.f90: Ditto.
	* gfortran.dg/string_null_compare_1.f: Ditto.
	* gfortran.dg/substr_6.f90: Ditto.
	* gfortran.dg/tl_editing.f90: Ditto.
	* gfortran.dg/unf_io_convert_1.f90: Use new-style character length.
	* gfortran.dg/warnings_are_errors_1.f90: Modified warning message.
	* gfortran.dg/x_slash_1.f: Add -std=legacy.
	* gfortran.dg/g77/1832.f: Ditto.
	* gfortran.dg/g77/19981216-0.f Ditto.
	* gfortran.dg/g77/19990525-0.f: Ditto.
	* gfortran.dg/g77/19990826-2.f: Ditto.
	* gfortran.dg/g77/20000630-2.f: Ditto.
	* gfortran.dg/g77/20010116.f: Ditto.
	* gfortran.dg/g77/20010519-1.f: Use new-style character length.
	* gfortran.dg/g77/980419-2.f: Add -std=legacy.
	* gfortran.dg/g77/980520-1.f: Ditto.
	* gfortran.dg/g77/check0.f: Ditto.
	* gfortran.dg/g77/cpp3.F: Ditto.
	* gfortran.dg/g77/cpp4.F: Use new-style character length.
	* gfortran.dg/g77/f77-edit-i-in.f: Add -std=legacy.
	* gfortran.dg/g77/f77-edit-t-in.f: Ditto.
	* gfortran.dg/g77/short.f: Ditto.

From-SVN: r150349
2009-08-02 12:58:44 +02:00
Adam Nemet
657e81c74f ext-3.c: Add NOMIPS16.
* gcc.target/mips/ext-3.c: Add NOMIPS16.
	* gcc.target/mips/ext-4.c: Likewise.
	* gcc.target/mips/interrupt_handler.c: Likewise.
	* gcc.target/mips/truncate-4.c: Likewise.
	* gcc.target/mips/truncate-5.c: Likewise.

From-SVN: r150345
2009-08-02 06:45:33 +00:00
Paolo Bonzini
6e957ac870 2009-08-02 Paolo Bonzini <bonzini@gnu.org
* explow.c (promote_function_mode): Remove assert.
	* config/sh/sh.c (sh_promote_function_mode): Declare.

From-SVN: r150344
2009-08-02 06:10:29 +00:00
John David Anglin
02095c5014 pa.c (pa_promote_function_mode): Declare.
* pa.c (pa_promote_function_mode): Declare.  Change to static.
	Fix promote_mode call.

From-SVN: r150343
2009-08-02 02:57:37 +00:00
John David Anglin
1f7ec57e69 gthr-dce.h (CONST_CAST2): Define if not defined.
* gthr-dce.h (CONST_CAST2): Define if not defined.
	(__gthread_setspecific): Use CONST_CAST2 to fix warning.

From-SVN: r150342
2009-08-02 01:38:27 +00:00
John David Anglin
be3e4ef633 config.gcc (hppa[12]*-*-hpux10*): Add stdint support.
* config.gcc (hppa[12]*-*-hpux10*): Add stdint support.

From-SVN: r150341
2009-08-02 01:25:33 +00:00
John David Anglin
175196a071 inclhack.def (hpux_inttype_int_least8_t): Also apply on hpux10*.
* inclhack.def (hpux_inttype_int_least8_t): Also apply on hpux10*.
	(hpux_inttype_int8_t): Likewise.
	* fixincl.x: Regenerate.

From-SVN: r150340
2009-08-02 01:18:04 +00:00
GCC Administrator
0c256fb188 Daily bump.
From-SVN: r150339
2009-08-02 00:16:48 +00:00
Paolo Bonzini
cde0f3fd8a expr.c (store_constructor): Use promote_decl_mode.
2009-04-17  Paolo Bonzini  <bonzini@gnu.org>

	* expr.c (store_constructor): Use promote_decl_mode.  Remove
	now write-only variable unsignedp.
	(expand_expr_real_1): Use promote_decl_mode.
	* expr.h (promote_function_mode, promote_decl_mode): New.
	(promote_mode): Remove last argument.
	* function.c (assign_temp): Drop last argument of promote_mode.
	(assign_parm_find_data_types): Use promote_function_mode.
	(assign_parm_setup_reg): Likewise.
	(expand_function_end): Use promote_function_mode.
	* calls.c (initialize_argument_information): Use promote_function_mode.
	(precompute_arguments): Use promote_mode instead of checking if
	only PROMOTE_FUNCTION_MODE is defined.
	(expand_call): When making sibcall decisions, use promote_function_mode.
	Below, remove an if for targetm.calls.promote_function_return and
	and use promote_function_mode.
	(emit_library_call_value_1): Use promote_function_mode, fix bug
	where promote_mode was passed FOR_CALL == 0 for a return value in an
	assertion.
	* cfgexpand.c (expand_one_register_var): Use promote_decl_mode.
	* explow.c (promote_function_mode, promote_decl_mode): New.
	(promote_mode): Keep only the FOR_CALL == 0 case.
	* combine.c (setup_incoming_promotion): Remove test of
	promote_function_args.  Use promote_function_mode.
	* stmt.c (expand_value_return): Use promote_decl_mode.
	(expand_decl): Use promote_decl_mode.

	* expr.c (store_constructor): Use promote_decl_mode.  Remove
	now write-only variable unsignedp.
	(expand_expr_real_1): Use promote_decl_mode.
	* expr.h (promote_function_mode, promote_decl_mode): New.
	(promote_mode): Remove last argument.
	* function.c (assign_temp): Drop last argument of promote_mode.
	(assign_parm_find_data_types): Use promote_function_mode.
	(assign_parm_setup_reg): Likewise.
	(expand_function_end): Use promote_function_mode.
	* calls.c (initialize_argument_information): Use promote_function_mode.
	(precompute_arguments): Use promote_mode instead of checking if
	only PROMOTE_FUNCTION_MODE is defined.
	(expand_call): When making sibcall decisions, use promote_function_mode.
	Below, remove an if for targetm.calls.promote_function_return and
	and use promote_function_mode.
	(emit_library_call_value_1): Use promote_function_mode, fix bug
	where promote_mode was passed FOR_CALL == 0 for a return value in an
	assertion.
	* cfgexpand.c (expand_one_register_var): Use promote_decl_mode.
	* explow.c (promote_function_mode, promote_decl_mode): New.
	(promote_mode): Keep only the FOR_CALL == 0 case.
	* combine.c (setup_incoming_promotion): Remove test of
	promote_function_args.  Use promote_function_mode.
	* stmt.c (expand_value_return): Use promote_decl_mode.
	(expand_decl): Use promote_decl_mode.

	* explow.c (promote_function_mode): Just call the target hook.
	* targhooks.c (default_promote_function_mode,
	default_promote_function_mode_always_promote): New.
	* targhooks.h (default_promote_function_mode,
	default_promote_function_mode_always_promote): Declare.
	* target.h (promote_function_args, promote_function_return): Remove.
	(promote_function_mode): New.
	* target-def.h (TARGET_PROMOTE_FUNCTION_ARGS,
	TARGET_PROMOTE_FUNCTION_RETURN): Remove.
	(TARGET_PROMOTE_FUNCTION_MODE): New.
	(TARGET_CALLS): Adjust.
	* system.h (TARGET_PROMOTE_FUNCTION_ARGS,
	TARGET_PROMOTE_FUNCTION_RETURN, PROMOTE_FUNCTION_MODE): Poison.

	* config/s390/s390.h (PROMOTE_FUNCTION_MODE): Move...
	* config/s390/s390.c (s390_promote_function_mode): ... here,
	with pointer handling.
	(TARGET_PROMOTE_FUNCTION_MODE): Define.
	(TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN): Remove.

	* config/sparc/sparc.h (PROMOTE_FUNCTION_MODE): Move...
	* config/sparc/sparc.c (sparc_promote_function_mode): ... here,
	with pointer handling.
	(TARGET_PROMOTE_FUNCTION_MODE): Define.
	(TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN): Remove.
	
	* config/sh/sh-protos.h (sh_promote_function_mode): New.
	* config/sh/sh.c (sh_promote_function_mode): New.
	(TARGET_PROMOTE_FUNCTION_MODE): Define.
	(TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN): Remove.

	* config/cris/cris.h (PROMOTE_FUNCTION_MODE): Move...
	* config/cris/cris.c (cris_promote_function_mode): ... here.
	(TARGET_PROMOTE_FUNCTION_MODE): Define.
	(TARGET_PROMOTE_FUNCTION_ARGS): Remove.

	* config/mmix/mmix.h (PROMOTE_FUNCTION_MODE): Move...
	* config/mmix/mmix.c (mmix_promote_function_mode): ... here.
	(TARGET_PROMOTE_FUNCTION_MODE): Define.
	(TARGET_PROMOTE_FUNCTION_ARGS): Remove.

	* config/arm/arm.h (PROMOTE_FUNCTION_MODE): Move...
	* config/arm/arm.c (arm_promote_function_mode): ... here, without complex
	type handling.
	(TARGET_PROMOTE_FUNCTION_MODE): Define.
	(TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN): Remove.

	* config/pa/pa.c (pa_promote_function_mode): New.
	(TARGET_PROMOTE_FUNCTION_MODE): Define.
	(TARGET_PROMOTE_FUNCTION_RETURN): Remove.

	* config/alpha/alpha.c (TARGET_PROMOTE_FUNCTION_ARGS,
	TARGET_PROMOTE_FUNCTION_RETURN): Remove.
	(TARGET_PROMOTE_FUNCTION_MODE): Define equivalently.
	* config/xtensa/xtensa.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/iq2000/iq2000.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/picochip/picochip.c: Likewise.
	* config/arc/arc.c: Likewise.
	* config/mcore/mcore.c: Likewise.
	* config/score/score.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/bfin/bfin.c: Likewise.
	* config/ia64/ia64.c: Likewise (disabled though).

	* config/frv/frv.h: Remove pointless remark.

	* doc/tm.texi (PROMOTE_FUNCTION_MODE,
	TARGET_PROMOTE_FUNCTION_ARGS,
	TARGET_PROMOTE_FUNCTION_RETURN): Consolidate into...
	(TARGET_PROMOTE_FUNCTION_MODE): ... this.

From-SVN: r150336
2009-08-01 22:03:34 +00:00
Sebastian Pop
3cf0e2702b Rename -fgraphite-force-parallel to -floop-parallelize-all.
2009-08-01  Sebastian Pop  <sebastian.pop@amd.com>

	* doc/invoke.texi (-fgraphite-force-parallel): Renamed
	-floop-parallelize-all.
	* toplev.c (process_options): Rename flag_graphite_force_parallel to
	flag_loop_parallelize_all.
	* tree-ssa-loop.c (gate_graphite_transforms): Same.
	* graphite.c (graphite_transform_loops): Same.
	* common.opt: Same.
	* graphite-poly.c (apply_poly_transforms): Same.

	* gcc.dg/graphite/graphite_autopar/graphite_autopar.exp: Rename
	-fgraphite-force-parallel to -floop-parallelize-all.

From-SVN: r150334
2009-08-01 18:22:58 +00:00
Paul Thomas
3af8d8cb86 re PR fortran/40011 (Problems with -fwhole-file)
2009-08-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40011
	* error.c : Add static flag 'warnings_not_errors'.
	(gfc_error): If 'warnings_not_errors' is set, branch to code
	from gfc_warning.
	(gfc_clear_error): Reset 'warnings_not_errors'.
	(gfc_errors_to_warnings): New function.
	* options.c (gfc_post_options): If pedantic and flag_whole_file
	change the latter to a value of 2.
	* parse.c (parse_module): Add module namespace to gsymbol.
	(resolve_all_program_units): New function.
	(clean_up_modules): New function.
	(translate_all_program_units): New function.
	(gfc_parse_file): If whole_file, do not clean up module right
	away and add derived types to namespace derived types. In
	addition, call the three new functions above.
	* resolve.c (not_in_recursive): New function.
	(not_entry_self_reference): New function.
	(resolve_global_procedure): Symbol must not be IFSRC_UNKNOWN,
	procedure must not be in the course of being resolved and
	must return false for the two new functions. Pack away the
	current derived type list before calling gfc_resolve for the
	gsymbol namespace.  It is unconditionally an error if the ranks
	of the reference and ther procedure do not match. Convert
	errors to warnings during call to gfc_procedure_use if not
	pedantic or legacy.
	(gfc_resolve): Set namespace resolved flag to -1 during
	resolution and store current cs_base.
	* trans-decl.c (gfc_get_symbol_decl): If whole_file compilation
	substitute a use associated variable, if it is available in a
	gsymbolnamespace.
	(gfc_get_extern_function_decl): If the procedure is use assoc,
	do not attempt to find it in a gsymbol because it could be an
	interface. If the symbol exists in a module namespace, return
	its backend_decl.
	* trans-expr.c (gfc_trans_scalar_assign): If a derived type
	assignment, set the rhs TYPE_MAIN_VARIANT to that of the rhs.
	* trans-types.c (copy_dt_decls_ifequal): Add 'from_gsym' as a
	boolean argument. Copy component backend_decls directly if the
	components are derived types and from_gsym is true.
	(gfc_get_derived_type): If whole_file copy the derived type from
	the module if it is use associated, otherwise, if can be found
	in another gsymbol namespace, use the existing derived type as
	the TYPE_CANONICAL and build normally.
	* gfortran.h : Add derived_types and resolved fields to
	gfc_namespace. Include prototype for gfc_errors_to_warnings.

2009-08-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40011
	* gfortran.dg/whole_file_7.f90: New test.
	* gfortran.dg/whole_file_8.f90: New test.
	* gfortran.dg/whole_file_9.f90: New test.
	* gfortran.dg/whole_file_10.f90: New test.
	* gfortran.dg/whole_file_11.f90: New test.
	* gfortran.dg/whole_file_12.f90: New test.
	* gfortran.dg/whole_file_13.f90: New test.
	* gfortran.dg/whole_file_14.f90: New test.

From-SVN: r150333
2009-08-01 13:45:12 +00:00
Jason Merrill
4fcf08308d update license
From-SVN: r150328
2009-07-31 23:56:47 -04:00
Jason Merrill
e7f1930f94 call.c (convert_class_to_reference): Binding an lvalue to an rvalue reference is bad.
* call.c (convert_class_to_reference): Binding an lvalue to an
	rvalue reference is bad.  If the user-defined conversion is bad,
	set bad_p before merging conversions.
	(maybe_handle_ref_bind): Don't push down bad_p.
	(reference_binding): Binding an lvalue to an rvalue reference is bad.
	(convert_like_real): Give a helpful error about binding lvalue
	to rvalue reference.
	(reference_related_p): No longer static.
	* typeck.c (build_typed_address): New.
	(build_static_cast_1): Add static_cast from lvalue to &&.
	* cp-tree.h: Adjust.

	* include/bits/move.h (forward): Implement as in N2835.
	(move): Implement as in N2831.
	* include/std/istream (rvalue stream operator>>): New.
	* include/std/ostream (rvalue stream operator<<): New.

Co-Authored-By: Douglas Gregor <doug.gregor@gmail.com>

From-SVN: r150327
2009-07-31 22:26:42 -04:00
Jason Merrill
4c65085391 forward_list.h (splice_after): Use forward.
* include/bits/forward_list.h (splice_after): Use forward.
	(merge): Likewise.
	* include/bits/stl_iterator.h (move_iterator::operator*): Use move.
	(move_iterator::operator[]): Use move.
	* include/bits/stl_list.h (insert): Use move.
	* include/std/thread (_Callable constructor): Use forward.
	* include/std/tuple: Don't specify explicit template args to move.

From-SVN: r150326
2009-07-31 22:26:32 -04:00
Jason Merrill
9771799c29 call.c (reference_binding): Rename lvalue_p to is_lvalue.
* call.c (reference_binding): Rename lvalue_p to is_lvalue.
	Do direct binding of "rvalues" in memory to rvalue references.
	* tree.c (lvalue_p_1): Can't be both non-addressable lvalue and
	"rvalue" in memory.
	* typeck.c (build_static_cast_1): Do direct binding of memory
	"rvalues" to rvalue references.
	* cvt.c (cp_fold_convert): New.
	* cp-tree.h: Declare it.

From-SVN: r150325
2009-07-31 22:26:21 -04:00
Jason Merrill
d3e1e89e50 typeck.c (build_address): Do fold away ADDR_EXPR of INDIRECT_REF.
* typeck.c (build_address): Do fold away ADDR_EXPR of INDIRECT_REF.
	* tree.c (rvalue): Use cp_build_qualified_type, not TYPE_MAIN_VARIANT.

From-SVN: r150324
2009-07-31 22:26:13 -04:00
GCC Administrator
924d0c888d Daily bump.
From-SVN: r150323
2009-08-01 00:16:41 +00:00
Richard Earnshaw
6f7b8b7067 re PR tree-optimization/40914 (ipa_analyze_call_uses fails to handle ptrmemfunc_vbit_in_delta)
PR tree-optimization/40914
	* ipa-prop.c (ipa_get_ptr_load_param): New argument use_delta,
	if set, then check the delta field of the PMF record.
	(ipa_get_stmt_member_ptr_load_param): Propagate new param use_delta.
	(ipa_analyze_call_uses): Handle machines where the vbit for a PMF
	call is stored in the delta.

From-SVN: r150319
2009-07-31 21:56:28 +00:00
Adam Nemet
1732047792 mips.md (*clear_upper32_dext): New pattern.
* config/mips/mips.md (*clear_upper32_dext): New pattern.

testsuite/
	* gcc.target/mips/ext-4.c: New test.

From-SVN: r150316
2009-07-31 15:47:20 +00:00
Uros Bizjak
e61c656273 bsd.h (ASM_BYTE): New define.
* config/i386/bsd.h (ASM_BYTE): New define.
	* config/i386/darwin.h (ASM_BYTE): Rename from ASM_BYTE_OP.
	* config/i386/att.h (ASM_BYTE): New define. Use ASM_BYTE instead of
	.byte.  Use fputs or putc instead of fprintf where appropriate.
	* config/i386/i386-interix.h: Use ASM_BYTE instead of .byte.  Use
	fputs or putc instead of fprintf where appropriate.
	* config/i386/i386elf.h: Ditto.
	* config/i386/sysv4.h: Ditto.
	
	* config/i386/i386.c (TARGET_ASM_BYTE_OP): New define.
	* config/i386/i386.md (x86_sahf_1): Use ASM_BYTE instead of .byte.
	(*tls_global_dynamic_64): Ditto.

From-SVN: r150315
2009-07-31 15:41:43 +02:00
Christian Bruel
ea2002ba74 enable SH libgloss build
From-SVN: r150314
2009-07-31 14:51:10 +02:00
Kaz Kojima
3ce1cf6943 Makefile.am: Don't set SECTION_FLAGS with @SECTION_FLAGS@.
* Makefile.am: Don't set SECTION_FLAGS with @SECTION_FLAGS@.
	Don't set IEEE_FLAGS with @IEEE_FLAGS@.
	* Makefile.in: Regenerate.

From-SVN: r150313
2009-07-31 12:29:33 +00:00
Paolo Carlini
bd31ae23b2 PR libstdc++/40912 (partial)
2009-07-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40912 (partial)
	* include/std/random: Disable the facility if <stdint.h> is not
	available.

From-SVN: r150312
2009-07-31 12:19:26 +00:00
Ramana Radhakrishnan
17eb4921c8 Fix address cost for plus reg const_int.
2009-07-31  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/arm/arm.c (arm_arm_address_cost): Fix typo. 
	Remove dead code for MINUS.

From-SVN: r150309
2009-07-31 08:26:58 +00:00
Anthony Green
23865616d6 Tweak ABI & add moxie-uclinux target.
From-SVN: r150307
2009-07-31 05:11:21 +00:00
DJ Delorie
20e19db49e sh.md (UNSPECV_SP_SWITCH_B): New.
* config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
(UNSPECV_SP_SWITCH_E): New.
(sp_switch_1): Change to an unspec.
(sp_switch_2): Change to an unspec.  Don't use post-inc when we
replace $r15.
* config/sh/sh.c (sh_expand_prologue): Use the constant pool to
reference the new stack's address

From-SVN: r150306
2009-07-31 00:59:45 -04:00
Sebastian Pop
e60d414986 pr33615.C: Fix pattern for lim.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* g++.dg/tree-ssa/pr33615.C: Fix pattern for lim.

From-SVN: r150305
2009-07-31 04:50:35 +00:00
Sebastian Pop
6e62db8449 Fix patterns in lim and dceloop testcases.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* gcc.dg/tree-ssa/20050314-1.c: Fix patterns for lim and dceloop.
	* gcc.dg/tree-ssa/loop-32.c: Same.
	* gcc.dg/tree-ssa/loop-33.c: Same.
	* gcc.dg/tree-ssa/loop-34.c: Same.
	* gcc.dg/tree-ssa/loop-35.c: Same.
	* gcc.dg/tree-ssa/loop-7.c: Same.
	* gcc.dg/tree-ssa/pr23109.c: Same.
	* gcc.dg/tree-ssa/restrict-2.c: Same.
	* gcc.dg/tree-ssa/restrict-3.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-1.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-2.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-3.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-6.c: Same.
	* gcc.dg/tree-ssa/structopt-1.c: Same.
	* gcc.dg/vect/dump-tree-dceloop-pr26359.c: Same.
	* gfortran.dg/pr32921.f: Same.

From-SVN: r150304
2009-07-31 02:50:11 +00:00
Sebastian Pop
99e0e30fd1 Add new testcases.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* gcc.dg/graphite/graphite_autopar/force-parallel-1.c: New.
	* gcc.dg/graphite/graphite_autopar/force-parallel-2.c: New.
	* gcc.dg/graphite/graphite_autopar/force-parallel-3.c: New.
	* gcc.dg/graphite/graphite_autopar/force-parallel-4.c: New.
	* gcc.dg/graphite/graphite_autopar/force-parallel-5.c: New.
	* gcc.dg/graphite/graphite_autopar/force-parallel-6.c: New.
	* gcc.dg/graphite/graphite_autopar/force-parallel-7.c: New.
	* gcc.dg/graphite/graphite_autopar/force-parallel-8.c: New.
	* gcc.dg/graphite/graphite_autopar/force-parallel-9.c: New.
	* gcc.dg/graphite/graphite_autopar/graphite_autopar.exp: New.
	* gcc.dg/graphite/id-1.c: New.
	* gcc.dg/graphite/id-10.c: New.
	* gcc.dg/graphite/id-11.c: New.
	* gcc.dg/graphite/id-12.c: New.
	* gcc.dg/graphite/id-13.c: New.
	* gcc.dg/graphite/id-14.c: New.
	* gcc.dg/graphite/id-15.c: New.
	* gcc.dg/graphite/id-2.c: New.
	* gcc.dg/graphite/id-3.c: New.
	* gcc.dg/graphite/id-4.c: New.
	* gcc.dg/graphite/id-5.c: New.
	* gcc.dg/graphite/id-6.c: New.
	* gcc.dg/graphite/id-7.c: New.
	* gcc.dg/graphite/id-8.c: New.
	* gcc.dg/graphite/id-9.c: New.
	* gcc.dg/graphite/interchange-0.c: New.
	* gcc.dg/graphite/interchange-1.c: New.
	* gcc.dg/graphite/interchange-2.c: New.
	* gcc.dg/graphite/interchange-3.c: New.
	* gcc.dg/graphite/interchange-4.c: New.
	* gcc.dg/graphite/interchange-5.c: New.
	* gcc.dg/graphite/interchange-6.c: New.
	* gcc.dg/graphite/interchange-7.c: New.
	* gcc.dg/graphite/interchange-8.c: New.
	* gcc.dg/graphite/pr35356-1.c: New.
	* gcc.dg/graphite/pr35356-2.c: New.
	* gcc.dg/graphite/pr35356-3.c: New.
	* gcc.dg/graphite/pr40157.c: New.
	* gcc.dg/graphite/run-id-1.c: New.
	* gcc.dg/graphite/scop-20.c: New.
	* gcc.dg/graphite/scop-21.c: New.
	* gfortran.dg/graphite/id-1.f90: New.
	* gfortran.dg/graphite/id-10.f90: New.
	* gfortran.dg/graphite/id-11.f: New.
	* gfortran.dg/graphite/id-12.f: New.
	* gfortran.dg/graphite/id-13.f: New.
	* gfortran.dg/graphite/id-14.f: New.
	* gfortran.dg/graphite/id-15.f: New.
	* gfortran.dg/graphite/id-16.f: New.
	* gfortran.dg/graphite/id-5.f: New.
	* gfortran.dg/graphite/id-6.f: New.
	* gfortran.dg/graphite/id-7.f: New.
	* gfortran.dg/graphite/id-8.f: New.
	* gfortran.dg/graphite/id-9.f: New.
	* gfortran.dg/graphite/interchange-1.f: New.
	* gfortran.dg/graphite/interchange-2.f: New.

From-SVN: r150303
2009-07-31 02:49:01 +00:00
Sebastian Pop
2ac5740969 Modify the testsuite for the new Graphite.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* gcc.dg/graphite/graphite.exp: Implement an automatic selection of
	flags based on the name of the testcase.
	* gfortran.dg/graphite/graphite.exp: Same.

	* gcc.dg/graphite/block-0.c: Adjusted.
	* gcc.dg/graphite/block-1.c: Adjusted.
	* gcc.dg/graphite/block-2.c: Adjusted.
	* gcc.dg/graphite/block-3.c: Adjusted.
	* gcc.dg/graphite/block-4.c: Adjusted.
	* gcc.dg/graphite/block-5.c: Adjusted.
	* gcc.dg/graphite/block-6.c: Adjusted.
	* gcc.dg/graphite/pr37485.c: Adjusted.
	* gcc.dg/graphite/pr37684.c: Adjusted.
	* gcc.dg/graphite/pr37828.c: Adjusted.
	* gcc.dg/graphite/pr37883.c: Adjusted.
	* gcc.dg/graphite/pr37928.c: Adjusted.
	* gcc.dg/graphite/pr37943.c: Adjusted.
	* gcc.dg/graphite/pr38409.c: Adjusted.
	* gcc.dg/graphite/pr38498.c: Adjusted.
	* gcc.dg/graphite/pr38559.c: Adjusted.
	* gcc.dg/graphite/pr39335.c: Adjusted.
	* gcc.dg/graphite/pr39335_1.c: Adjusted.
	* gcc.dg/graphite/scop-0.c: Adjusted.
	* gcc.dg/graphite/scop-1.c: Adjusted.
	* gcc.dg/graphite/scop-10.c: Adjusted.
	* gcc.dg/graphite/scop-11.c: Adjusted.
	* gcc.dg/graphite/scop-12.c: Adjusted.
	* gcc.dg/graphite/scop-13.c: Adjusted.
	* gcc.dg/graphite/scop-14.c: Adjusted.
	* gcc.dg/graphite/scop-15.c: Adjusted.
	* gcc.dg/graphite/scop-16.c: Adjusted.
	* gcc.dg/graphite/scop-17.c: Adjusted.
	* gcc.dg/graphite/scop-18.c: Adjusted.
	* gcc.dg/graphite/scop-19.c: Adjusted.
	* gcc.dg/graphite/scop-2.c: Adjusted.
	* gcc.dg/graphite/scop-3.c: Adjusted.-
	* gcc.dg/graphite/scop-4.c: Adjusted.
	* gcc.dg/graphite/scop-5.c: Adjusted.
	* gcc.dg/graphite/scop-6.c: Adjusted.
	* gcc.dg/graphite/scop-7.c: Adjusted.
	* gcc.dg/graphite/scop-8.c: Adjusted.
	* gcc.dg/graphite/scop-9.c: Adjusted.
	* gcc.dg/graphite/scop-matmult.c: Adjusted.
	* gfortran.dg/graphite/block-1.f90: Adjusted.
	* gfortran.dg/graphite/block-2.f: Adjusted.
	* gfortran.dg/graphite/block-3.f90: Adjusted.
	* gfortran.dg/graphite/block-4.f90: Adjusted.
	* gfortran.dg/graphite/id-2.f90: Adjusted.
	* gfortran.dg/graphite/id-3.f90: Adjusted.
	* gfortran.dg/graphite/id-4.f90: Adjusted.
	* gfortran.dg/graphite/pr37852.f90: Adjusted.
	* gfortran.dg/graphite/pr37857.f90: Adjusted.
	* gfortran.dg/graphite/pr37980.f90: Adjusted.
	* gfortran.dg/graphite/pr38083.f90: Adjusted.
	* gfortran.dg/graphite/pr38953.f90: Adjusted.
	* gfortran.dg/graphite/scop-1.f: Adjusted.

From-SVN: r150302
2009-07-31 02:45:54 +00:00
Sebastian Pop
204b560f29 New implementation of Graphite.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* Makefile.in (OBJS-common): Added dependence on graphite-blocking.o,
	graphite-clast-to-gimple.o, graphite-dependences.o,
	graphite-interchange.o, graphite-poly.o, graphite-ppl.o,
	graphite-scop-detection.o, graphite-sese-to-poly.o, and sese.o.
	(graphite-blocking.o,
	graphite-clast-to-gimple.o, graphite-dependences.o,
	graphite-interchange.o, graphite-poly.o, graphite-ppl.o,
	graphite-scop-detection.o, graphite-sese-to-poly.o, and sese.o): New.
	* cfgloop.c (alloc_loop): Set loop->can_be_parallel to false.
	* cfgloop.h (struct loop): Add can_be_parallel field.
	* common.opt (fgraphite-identity): Moved up.
	(fgraphite-force-parallel): New flag.
	* graphite.c: Rewrite.
	* graphite.h: Rewrite.
	* passes.c (init_optimization_passes): Schedule a pass of DCE and LIM
	after Graphite.
	* toplev.c (graphite_out_file): New file descriptor.
	(graphite_in_file): New.
	(process_options): flag_graphite_force_parallel cannot be used without
	Graphite.
	* tree-ssa-loop.c: Include toplev.h.
	(gate_graphite_transforms): Enable flag_graphite for
	flag_graphite_force_parallel.

From-SVN: r150301
2009-07-31 02:44:28 +00:00
Sebastian Pop
2abae5f13a New Graphite files.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* ChangeLog.graphite: New.
	* graphite-blocking.c: New.
	* graphite-clast-to-gimple.c: New.
	* graphite-clast-to-gimple.h: New.
	* graphite-dependences.c: New.
	* graphite-dependences.h: New.
	* graphite-interchange.c: New.
	* graphite-poly.c: New.
	* graphite-poly.h: New.
	* graphite-ppl.c: New.
	* graphite-ppl.h: New.
	* graphite-scop-detection.c: New.
	* graphite-scop-detection.h: New.
	* graphite-sese-to-poly.c: New.
	* graphite-sese-to-poly.h: New.
	* sese.c: New.
	* sese.h: New.

From-SVN: r150300
2009-07-31 02:43:11 +00:00
Sebastian Pop
e7c705bbbd Implement evolution_function_right_is_integer_cst.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-chrec.c (evolution_function_right_is_integer_cst): New.
	* tree-chrec.h (evolution_function_right_is_integer_cst): Declared.

From-SVN: r150299
2009-07-31 02:39:06 +00:00
Sebastian Pop
765deab7d0 Make scev_is_linear_expression return false if the evolution is not affine multivariate.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-chrec.c (operator_is_linear): Handle BIT_NOT_EXPR.
	(scev_is_linear_expression): Return false if the evolution is not
	affine multivariate.

From-SVN: r150298
2009-07-31 02:38:13 +00:00
Sebastian Pop
ed91d6616c Add a new driver to data reference analysis.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-data-ref.c (graphite_find_data_references_in_stmt): New.
	* tree-data-ref.h (graphite_find_data_references_in_stmt): Declared.

From-SVN: r150297
2009-07-31 02:37:11 +00:00
Sebastian Pop
a37d995a09 tree-data-ref.c (debug_data_references): New.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-data-ref.c (debug_data_references): New.
	(debug_data_reference): New.
	* tree-data-ref.h (debug_data_references): Declared.
	(debug_data_reference): Declared.

From-SVN: r150296
2009-07-31 02:36:05 +00:00
Sebastian Pop
ae5b986034 Remove unused function and field in data_reference.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-data-ref.c (stmt_simple_memref_p: Removed.
	* tree-data-ref.h (scop_p): Removed.
	(struct data_reference): Remove field scop.
	(DR_SCOP): Removed.
	(stmt_simple_memref_p): Removed.

From-SVN: r150295
2009-07-31 02:35:02 +00:00
DJ Delorie
da24f9d99a Fix typo in previous patch.
From-SVN: r150294
2009-07-30 22:34:49 -04:00
Sebastian Pop
8e74b39765 Leave the loop_latch basic block empty.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* cfgloop.h (create_empty_loop_on_edge): Pass an extra argument.
	* cfgloopmanip.c (create_empty_loop_on_edge): Leave the loop_latch
	basic block empty.

From-SVN: r150293
2009-07-31 02:33:46 +00:00
Sebastian Pop
109e0d57fa Document -fgraphite-force-parallel.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* doc/invoke.texi (-fgraphite-force-parallel): Documented.

From-SVN: r150292
2009-07-31 02:32:24 +00:00
Sebastian Pop
66a7961bd0 Document -fgraphite-identity.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* doc/invoke.texi (-fgraphite-identity): Documented.

From-SVN: r150291
2009-07-31 02:31:18 +00:00
Sebastian Pop
52bdd655b0 Return unknow from scev instantiation if the result is not above instantiate_below.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-scalar-evolution.c: Fix comment.
	(instantiate_scev_1): Return unknow from scev instantiation if the
	result is not above instantiate_below.

From-SVN: r150290
2009-07-31 02:30:03 +00:00
Sebastian Pop
42e6eec568 tree-scalar-evolution.c (compute_overall_effect_of_inner_loop): Not static anymore.
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop): Not
	static anymore.  Instantiate the symbols that may have been introduced
	by chrec_apply.
	* tree-scalar-evolution.h (compute_overall_effect_of_inner_loop):
	Declared.

From-SVN: r150289
2009-07-31 02:28:50 +00:00
DJ Delorie
778069251c mep.c (mep_asm_init_sections): Add section flags and ..vliw directive to VLIW sections.
* config/mep/mep.c (mep_asm_init_sections): Add section flags and
.vliw directive to VLIW sections.

From-SVN: r150288
2009-07-30 21:36:12 -04:00
Doug Kwan
ddead5badb polytypes.c: Adjust test for new notes in warnings added in rev 141298.
2009-07-30  Doug Kwan  <dougkwan@google.com>

	* gcc.target/arm/neon/polytypes.c: Adjust test for new notes
	in warnings added in rev 141298.

From-SVN: r150287
2009-07-31 00:17:46 +00:00
GCC Administrator
311061ec05 Daily bump.
From-SVN: r150286
2009-07-31 00:16:52 +00:00
John David Anglin
4d3a22b44b options.exp: Use "!=" instead of "ne".
* lib/options.exp: Use "!=" instead of "ne".

From-SVN: r150283
2009-07-30 23:58:47 +00:00
John David Anglin
cb5c784dcf vector-4.c: Add -fno-common option on hppa*-*-hpux* (32-bit).
* gcc.dg/vector-4.c: Add -fno-common option on hppa*-*-hpux* (32-bit).

From-SVN: r150282
2009-07-30 23:12:31 +00:00
John David Anglin
9f69be1549 ucnid-11.c: Skip on hppa*-*-hpux* (32-bit).
* gcc.dg/ucnid-11.c: Skip on hppa*-*-hpux* (32-bit).
	* gcc.dg/ucnid-12.c: Likewise.

From-SVN: r150281
2009-07-30 22:56:14 +00:00
Kaz Kojima
9fc7757408 configure.host: Define ieee_flags and set it to -mieee for sh.
* configure.host: Define ieee_flags and set it to -mieee for sh.
	* configure.ac: Set IEEE_FLAGS with ieee_flags.
	* Makefile.am: Add IEEE_FLAGS to AM_CFLAGS.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r150280
2009-07-30 22:56:08 +00:00