118184 Commits

Author SHA1 Message Date
Andrew Stubbs
392e87f6b8 gcc/
* config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp)
	(*movdi_vfp_cortexa8, *movsf_vfp, *thumb2_movsf_vfp)
	(*movdf_vfp, *thumb2_movdf_vfp, *movsfcc_vfp)
	(*thumb2_movsfcc_vfp, *movdfcc_vfp, *thumb2_movdfcc_vfp): Add
	neon_type.
	* config/arm/arm.md (neon_type): Update comment.


Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>

From-SVN: r189610
2012-07-18 11:25:32 +00:00
Richard Guenther
4c9bcf8934 re PR tree-optimization/53970 (-ftree-vectorization does not handle well unaligned data)
2012-07-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53970
	* tree.h (contains_packed_reference): Remove.
	* expr.c (contains_packed_reference): Likewise.
	* tree-vect-data-refs.c (not_size_aligned): New function.
	(vector_alignment_reachable_p): Use it.
	(vect_supportable_dr_alignment): Likewise.

	* g++.dg/torture/pr53970.C: New testcase.

From-SVN: r189609
2012-07-18 10:46:05 +00:00
Richard Guenther
b0f4a35f73 tree.h (get_object_or_type_alignment): Remove.
2012-07-18  Richard Guenther  <rguenther@suse.de>

	* tree.h (get_object_or_type_alignment): Remove.
	* builtins.c (get_object_alignment_2): New function copied from
	get_object_alignment_1.  Take extra argument to indicate whether
	we take the address of EXP.  Rework to use type alignment information
	if not, and return whether the result is an approximation or not.
	(get_object_alignment_1): Wrap around get_object_alignment_2.
	(get_pointer_alignment_1): Call get_object_alignment_2 indicating
	we take the address.
	(get_object_or_type_alignment): Remove.
	* expr.c (expand_assignment): Call get_object_alignment.
	(expand_expr_real_1): Likewise.

From-SVN: r189607
2012-07-18 08:49:55 +00:00
Oleg Endo
dad57b685c re PR target/38621 (sh gcc unable to spill register when building ghostscript-gpl with -O2)
PR target/38621
	* gcc.c-torture/compile/pr38621.c: New.

From-SVN: r189605
2012-07-18 07:56:57 +00:00
Nick Clifton
59194a3c61 * doc/invoke.texi (ARM Options): Document -munaligned-access.
From-SVN: r189604
2012-07-18 07:56:37 +00:00
Oleg Endo
ee04b09107 sh.md (mulsidi3, umulsidi3): Remove constraints in expander.
* config/sh/sh.md (mulsidi3, umulsidi3): Remove constraints in
	expander.  Use arith_reg_dest predicate.
	(rotldi3, rotrdi3): Remove constraints in expander.
	(adddi3_compact, subdi3_compact, mulsidi3_compact, umulsidi3_compact,
	ashlsi3_n, *ashlhi3_n, ashrsi2_16, ashrsi2_31, lshrsi3_n): Convert to
	insn_and_split.

From-SVN: r189603
2012-07-18 07:51:36 +00:00
Oleg Endo
13f1f50857 re PR target/33135 ([SH] -ffinite-math-only should not be on by default)
PR target/33135
	* config/sh/sh.opt (mieee): Use Var instead of Mask.  Correct
	description.
	* config/sh/sh.c (sh_option_override): Do not change 
	flag_finite_math_only.  Set TARGET_IEEE to complement of
	flag_finite_math_only.
	* doc/invoke.texi (SH options): Add mno-ieee.  Correct description
	of mieee and mno-ieee behavior.

	PR target/33135
	* gcc.target/sh/pr33135-1.c: New.
	* gcc.target/sh/pr33135-2.c: New.
	* gcc.target/sh/pr33135-3.c: New.
	* gcc.target/sh/pr33135-4.c: New.

From-SVN: r189602
2012-07-18 07:49:50 +00:00
Steven Bosscher
512ab65410 * graphite-poly.c (print_pbb_body): Fixup dump_bb call.
From-SVN: r189601
2012-07-18 07:32:21 +00:00
Jason Merrill
10cdabc89f re PR c++/53995 (Overload resolution fails with enum argument, says <anonymous enum>)
PR c++/53995
	* decl.c (finish_enum_value_list): Only call
	insert_late_enum_def_into_classtype_sorted_fields in class scope.

From-SVN: r189598
2012-07-17 22:47:59 -04:00
Kazu Hirata
0d24465ea9 pr36134.c: Use dg-skip-if to skip the testcase if there is a conflict with -mcpu=.
2012-07-17  Kazu Hirata  <kazu@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* gcc.target/m68k/pr36134.c: Use dg-skip-if to skip the testcase
	if there is a conflict with -mcpu=.  Use -mcpu=5208.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r189596
2012-07-17 21:11:41 -04:00
GCC Administrator
abb87c8cb9 Daily bump.
From-SVN: r189594
2012-07-18 00:17:11 +00:00
Steven Bosscher
b0bf98a1f8 fix botched commit
From-SVN: r189591
2012-07-17 23:59:01 +00:00
Steven Bosscher
a315c44ce0 dumpfile.h (TDF_COMMENT): New define.
* dumpfile.h (TDF_COMMENT): New define.
	* basic-block.h (EDGE_FALLTHRU, EDGE_ABNORMAL, EDGE_ABNORMAL_CALL,
	EDGE_EH, EDGE_FAKE, EDGE_DFS_BACK, EDGE_CAN_FALLTHRU,
	EDGE_IRREDUCIBLE_LOOP, EDGE_SIBCALL, EDGE_LOOP_EXIT, EDGE_TRUE_VALUE,
	EDGE_FALSE_VALUE, EDGE_EXECUTABLE, EDGE_CROSSING, EDGE_PRESERVE):
	Move to new file cfg-flags.h.
	(enum cfg_edge_flags): New enum, using cfg-flags.h.
	(EDGE_ALL_FLAGS): Compute value automatically.
	(BB_NEW, BB_REACHABLE, BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK,
	BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION,
	BB_DUPLICATED, BB_NON_LOCAL_GOTO_TARGET, BB_RTL,
	BB_FORWARDER_BLOCK, BB_NONTHREADABLE_BLOCK, BB_MODIFIED, BB_VISITED,
	BB_IN_TRANSACTION): Move to new file cfg-flags.h.
	(enum bb_flags): Rename to cfg_bb_flags.  Use cfg-flags.h.
	(BB_ALL_FLAGS): New, compute value automatically.
	(dump_bb_info): Update prototype.
	(dump_edge_info): Update prototype.
	* cfg-flags.h: New file.
	* cfg.c (dump_edge_info): Take flags argument.  Be verbose only if
	TDF_DETAILS and not TDF_SLIM.  Include cfg-flags.h for bitnames.
	Check that the edge flags are within the range of EDGE_ALL_FLAGS.
	(debug_bb): Update dump_bb call.
	(dump_cfg_bb_info): Remove.
	(dump_bb_info): New function.  Use cfg-flags.h for bitnames.
	Adjust verbosity using TDF_* flags.  Check that the basic block flags
	are within the range of BB_ALL_FLAGS.
	(brief_dump_cfg): Use dump_bb_info instead of dump_cfg_bb_info.
	* cfghooks.h (struct cfghooks): Update dump_bb hook, take a FILE
	first for consistency with other dump functions.
	(dump_bb): Update prototype accordingly.
	* cfghooks.c: Include dumpfile.h.
	(verify_flow_info): Update dump_edge_info calls.
	(dump_bb): Take a flags argument and pass it around.
	Use dump_bb_info to dump common information about a basic block.
	(dump_flow_info): Moved here from cfgrtl.c.  Make IL agnostic.
	(debug_flow_info): Moved here from cfgrtl.c.
	* profile.c (is_edge_inconsistent): Update dump_bb calls.
	* loop-invariant.c (find_defs): Update print_rtl_with_bb call.
	* rtl.h (debug_bb_n_slim, debug_bb_slim, print_rtl_slim,
	print_rtl_slim_with_bb): Remove prototypes.
	(dump_insn_slim): Adjust prototype to take a const_rtx.
	(print_rtl_with_bb): Adjust prototype.
	* sched-rgn.c (debug_region): Use dump_bb instead of debug_bb_n_slim.
	* sched-vis.c (dump_insn_slim): Take a const_rtx.
	(debug_insn_slim): Prototype here near DEBUG_FUNCTION marker.
	(print_rtl_slim_with_bb): Remove.
	(print_rtl_slim): Rename to debug_rtl_slim.  Print only insn info,
	not basic block info (print_rtl_with_bb with TDF_SLIM should be used
	for that.  Prototype here near DEBUG_FUNCTION marker.
	(debug_bb_slim): Prototype here near DEBUG_FUNCTION marker.
	Use dump_bb.
	(debug_bb_n_slim): Prototype here near DEBUG_FUNCTION marker.
	* tree-cfg.c (gimple_can_merge_blocks_p): Use EDGE_COMPLEX.
	(remove_bb): Update dump_bb call.
	(gimple_debug_bb): Use dump_bb.
	(dump_function_to_file): Update gimple_dump_bb call.
	(print_loops_bb): Likewise.
	* tree-flow.h (gimple_dump_bb): Update prototype.
	* gimple-pretty-print.c (dump_bb_header): Rename to
	dump_gimple_bb_header.  Write to a stream instead of a pretty
	printer.  Use dump_bb_info to dump basic block info.
	(dump_bb_end): Rename to dump_gimple_bb_footer.  Write to a
	stream instead of a pretty printer.  Use dump_bb_info.
	(gimple_dump_bb_buff): Do not call dump_bb_header and dump_bb_end.
	(gimple_dump_bb): Do it here with dump_gimple_bb_header and
	dump_gimple_bb_footer.
	* cfgrtl.c (rtl_dump_bb): Update prototype.  Only dump DF if the
	dump flags have TDF_DETAILS.  Use dump_insn_slim if TDF_SLIM.
	(print_rtl_with_bb): Take a flags argument and pass it around.
	Use dump_insn_slim if TDF_SLIM.
	(dump_bb_info): Removed and re-incarnated in cfg.c.
	(dump_flow_info): Moved to cfghooks.c.
	(debug_flow_info): Moved to cfghooks.c.
	* passes.c (execute_function_dump): Unconditionally use
	print_rtl_with_bb for RTL dumps, now that it understands TDF_SLIM.
	* final.c (dump_basic_block_info): Update dump_edge_info calls.
	* tree-vrp.c (dump_asserts_for): Likewise.
	* ifcvt.c (if_convert): Unconditionally use print_rtl_with_bb.
	* tree-if-conv.c (if_convertible_bb_p): Don't look at
	EDGE_ABNORMAL_CALL, it has no meaning in the GIMPLE world.
	* trans-mem.c (make_tm_edge): Don't set EDGE_ABNORMAL_CALL,
	for the same reason.
	* config/rl78/rl78.c (rl78_reorg): Update print_rtl_with_bb calls.

From-SVN: r189590
2012-07-17 23:17:20 +00:00
Janus Weil
9717f7a145 re PR fortran/51081 ([F03] Proc-pointer assignment: Rejects valid internal proc)
2012-07-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/51081
	* error.c (gfc_notify_std): Automatically print the relevant Fortran
	standard version.
	* arith.c (arith_power): Remove explicit standard reference string.
	* array.c (gfc_match_array_spec, gfc_match_array_constructor): Ditto.
	* check.c (gfc_check_a_p, gfc_check_besn, gfc_check_count,
	gfc_check_float, gfc_check_fn_rc2008, gfc_check_iand,
	gfc_check_ichar_iachar, gfc_check_ieor, gfc_check_index, gfc_check_ior,
	gfc_check_lbound, gfc_check_len_lentrim, check_rest, gfc_check_min_max,
	gfc_check_null, gfc_check_scan, gfc_check_selected_real_kind,
	gfc_check_shape, gfc_check_size, gfc_check_sngl, gfc_check_ubound,
	gfc_check_verify): Ditto.
	* data.c (gfc_assign_data_value): Ditto.
	* decl.c (var_element, char_len_param_value, match_char_length,
	gfc_verify_c_interop_param, match_pointer_init, variable_decl,
	gfc_match_decl_type_spec, gfc_match_import, match_attr_spec, 
	gfc_match_prefix, gfc_match_suffix, match_ppc_decl,
	match_procedure_in_interface, gfc_match_procedure,gfc_match_entry,
	gfc_match_subroutine, gfc_match_end, gfc_match_codimension,
	gfc_match_protected, gfc_match_value, gfc_match_volatile,
	gfc_match_asynchronous, gfc_match_modproc, gfc_get_type_attr_spec,
	gfc_match_enum, match_procedure_in_type): Ditto.
	* expr.c (check_elemental, gfc_check_assign, gfc_check_pointer_assign):
	Ditto.
	* interface.c (gfc_match_abstract_interface, check_interface0): Ditto.
	* intrinsic.c (gfc_intrinsic_func_interface): Ditto.
	* io.c (format_lex, resolve_tag_format, resolve_tag,
	compare_to_allowed_values, gfc_match_open, gfc_match_rewind,
	gfc_resolve_dt, gfc_match_wait): Ditto.
	* match.c (match_arithmetic_if, gfc_match_if, gfc_match_critical,
	gfc_match_do, match_exit_cycle, gfc_match_pause, gfc_match_stop,
	gfc_match_lock, sync_statement, gfc_match_assign, gfc_match_goto,
	gfc_match_allocate, gfc_match_return, gfc_match_st_function): Ditto.
	* module.c (gfc_match_use, gfc_use_module): Ditto.
	* parse.c (parse_derived_contains, parse_block_construct,
	parse_associate, parse_contained): Ditto.
	* primary.c (match_hollerith_constant, match_boz_constant,
	match_real_constant, match_sym_complex_part, match_arg_list_function,
	build_actual_constructor, gfc_convert_to_structure_constructor): Ditto.
	* resolve.c (resolve_formal_arglist, resolve_entries,
	resolve_common_blocks, resolve_actual_arglist, gfc_resolve_index_1,
	gfc_resolve_iterator_expr, resolve_ordinary_assign,
	resolve_fl_var_and_proc, resolve_fl_variable_derived,
	resolve_fl_procedure, resolve_fl_derived0, resolve_fl_derived,
	resolve_fl_namelist, resolve_symbol, resolve_fntype): Ditto.
	* symbol.c (check_conflict, conflict, gfc_add_is_bind_c,
	gfc_add_extension, gfc_check_symbol_typed): Ditto.

From-SVN: r189589
2012-07-17 23:51:20 +02:00
Jason Merrill
697c474c8f re PR c++/53989 (Internal compiler error in strip_typedefs, at cp/tree.c:1187)
PR c++/53989
	* tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
	to the list of variants.

From-SVN: r189587
2012-07-17 17:34:06 -04:00
Tobias Burnus
7fe3aa0811 re PR fortran/53985 (-Wno-c-binding-type still prints a warning)
2012-07-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53985
        * decl.c (gfc_verify_c_interop_param): Make warning conditional
        on -Wc-binding-type works and improve the wording.

2012-07-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53985
        * gfortran.dg/bind_c_usage_26.f90: New.
        * gfortran.dg/bind_c_procs.f03: Add dg-options
        * "-Wc-binding-type".
        * gfortran.dg/bind_c_usage_13.f03: Ditto.
        * gfortran.dg/bind_c_usage_18.f90: Ditto.
        * gfortran.dg/interop_params.f03: Ditto.

From-SVN: r189586
2012-07-17 22:07:32 +02:00
Jason Merrill
947296ca90 decl.c (xref_basetypes): Complain about incomplete template base.
* decl.c (xref_basetypes): Complain about incomplete template base.
	* class.c (finish_struct): Adjust variants in templates, too.

From-SVN: r189583
2012-07-17 14:09:10 -04:00
Jason Merrill
ec44e46396 re PR c++/53549 (g++ and armadillo 3.2.0, operator() is inaccessible)
PR c++/53549
	* parser.c (cp_parser_class_head): Call xref_basetypes here.
	(cp_parser_class_specifier_1): Not here.
	* pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
	as well as DECL_DEPENDENT_P.

From-SVN: r189582
2012-07-17 14:08:59 -04:00
Richard Guenther
65876d249e tree-vect-data-refs.c (vect_get_new_vect_var): Add referenced vars here, use create_tmp_reg where appropriate.
2012-07-17  Richard Guenther  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_get_new_vect_var): Add referenced
	vars here, use create_tmp_reg where appropriate.
	(vect_create_addr_base_for_vector_ref): Do not add referenced
	vars here, use create_tmp_reg where appropriate.
	(vect_create_data_ref_ptr): Likewise.
	(vect_create_destination_var): Likewise.
	(vect_permute_store_chain): Likewise.
	(vect_permute_load_chain): Likewise.
	* tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
	Likewise.
	* tree-vect-loop.c (get_initial_def_for_induction): Likewise.
	* tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise.
	(vect_handle_widen_op_by_const): Likewise.
	* tree-vect-stmts.c (vect_init_vector): Likewise.
	(vectorizable_load): Likewise.

From-SVN: r189581
2012-07-17 15:12:05 +00:00
Tom de Vries
7cb151c045 hwint.c: Fix loop range.
2012-07-17  Tom de Vries  <tom@codesourcery.com>

	* hwint.c: Fix loop range.

From-SVN: r189577
2012-07-17 13:49:51 +00:00
Tom de Vries
440b6d590a double-int.h (double_int_popcount): New inline function.
2012-07-17  Tom de Vries  <tom@codesourcery.com>

	* double-int.h (double_int_popcount): New inline function.
	* hwint.c (popcount_hwi): New function.
	* hwint.h (popcount_hwi): Declare function.  New inline function.

From-SVN: r189575
2012-07-17 12:48:36 +00:00
Richard Henderson
a86ec59783 Clean up supportable_widening_operation.
* tree-vect-stmts.c (supportable_widening_operation): Remove decl
	parameters.
	(vectorizable_conversion): Update supportable_widening_operation call.
	* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Likewise.
	(vect_recog_widen_shift_pattern): Likewise.
	* tree-vectorizer.h: Update decl.

From-SVN: r189574
2012-07-17 05:28:31 -07:00
Arnaud Charlet
24cb156d23 [multiple changes]
2012-07-17  Vincent Pucci  <pucci@adacore.com>

	* gnat_ugn.texi: GNAT dimensionality checking
	documentation updated with System.Dim.Mks modifications.

2012-07-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb: sloc of array init_proc is sloc of type declaration.

2012-07-17  Tristan Gingold  <gingold@adacore.com>

	* raise-gcc.c (get_call_site_action_for): Remove useless init
	expression for p.
	(get_action_description_for): Do not overwrite action->kind.

2012-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
	and Conversion_Added.  Add local constant Typ.
	Retrieve the original attribute after the arithmetic check
	machinery has modified the node. Add a conversion to the target
	type when the prefix of attribute Max_Size_In_Storage_Elements
	is a controlled type.

2012-07-17  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch6.adb (Expand_Inlined_Call): For each actual parameter
	of mode 'out' or 'in out' that denotes an entity, reset
	Last_Assignment on the entity so that any assignments to the
	corresponding formal in the inlining will not trigger spurious
	warnings about overwriting assignments.

From-SVN: r189570
2012-07-17 12:16:59 +02:00
Arnaud Charlet
79ee6ab38b [multiple changes]
2012-07-17  Tristan Gingold  <gingold@adacore.com>

	* gnat_rm.texi: Adjust previous change.

2012-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Process_Import_Or_Interface): If the pragma
	comes from an aspect, it applies to the corresponding entity
	without further check.

2012-07-17  Olivier Hainque  <hainque@adacore.com>

	* initialize.c (__gnat_initialize for VxWorks): Remove section with
	call to __gnat_vxw_setup_for_eh.
	* system-vxworks-ppc.ads: Add -auto-register to -crtbe, relying
	on the VxWorks constructor mechanism for network loaded modules
	by default.

2012-07-17  Tristan Gingold  <gingold@adacore.com>

	* adaint.c: Minor reformatting.

2012-07-17  Pascal Obry  <obry@adacore.com>

	* s-regexp.adb (Adjust): Fix access violation in Adjust.

2012-07-17  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Freeze_Entity): Warn if an imported subprogram
	has pre/post conditions, because these will not be enforced.

2012-07-17  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch7.adb (Process_Transient_Objects): Put all the
	finalization blocks and the final raise statement into a wrapper
	block.

2012-07-17  Vincent Pucci  <pucci@adacore.com>

	* s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X
	replaced by Sync_Compare_And_Swap_X.
	(Lock_Free_Try_Write_64): Removed.
	* s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous
	routine Atomic_Compare_Exchange_X.
	(Lock_Free_Read_64): Renaming of Atomic_Load_64.
	(Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64.

2012-07-17  Vincent Celier  <celier@adacore.com>

	* switch-m.adb (Normalize_Compiler_Switches): Recognize new
	switches -gnatn1 and -gnatn2.

2012-07-17  Vincent Pucci  <pucci@adacore.com>

	* gnat_ugn.texi: GNAT dimensionality checking
	documentation updated with System.Dim.Mks modifications.

2012-07-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb: sloc of array init_proc is sloc of type declaration.

2012-07-17  Tristan Gingold  <gingold@adacore.com>

	* raise-gcc.c (get_call_site_action_for): Remove useless init
	expression for p.
	(get_action_description_for): Do not overwrite action->kind.

2012-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
	and Conversion_Added.  Add local constant Typ.
	Retrieve the original attribute after the arithmetic check
	machinery has modified the node. Add a conversion to the target
	type when the prefix of attribute Max_Size_In_Storage_Elements
	is a controlled type.

2012-07-17  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch6.adb (Expand_Inlined_Call): For each actual parameter
	of mode 'out' or 'in out' that denotes an entity, reset
	Last_Assignment on the entity so that any assignments to the
	corresponding formal in the inlining will not trigger spurious
	warnings about overwriting assignments.

From-SVN: r189569
2012-07-17 12:14:38 +02:00
Arnaud Charlet
e3b3266c50 [multiple changes]
2012-07-17  Tristan Gingold  <gingold@adacore.com>

	* treepr.adb, treepr.ads: Revert previous patch, unneeded.

2012-07-17  Robert Dewar  <dewar@adacore.com>

	* s-assert.ads: Fix comments to make it clear that this is used
	for all assertions, not just pragma Assert.

2012-07-17  Jerome Guitton  <guitton@adacore.com>

	* par_sco.ads: Minor typo fix.

2012-07-17  Gary Dismukes  <dismukes@adacore.com>

	* layout.adb (Layout_Type): In the case where the target is
	AAMP, use 32 bits (a single pointer) rather than 64 bits for an
	anonymous access-to-subprogram type if the type is library-level
	and Is_Local_Anonymous_Access is True.

2012-07-17  Jose Ruiz  <ruiz@adacore.com>

	* s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task,
	Initialize): Add comments explaining that the CPU affinity value that
	is passed to the run-time library can be either Unspecified_CPU, to
	indicate that the task inherits the affinity of its activating task,
	or a value in the range of CPU_Range but no greater than Number_Of_CPUs.

2012-07-17  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities.
	(Make_Tags): Add decoration of Ada.Tags entities.

2012-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Check_Statement_Sequence): When locating the
	last significant statement in a sequence, ignore iserted nodes
	that typically come from expansion of controlled operations.

2012-07-17  Tristan Gingold  <gingold@adacore.com>

	* gnat_rm.texi: Document foreign exceptions.

From-SVN: r189568
2012-07-17 11:57:14 +02:00
Robert Dewar
2761f6e9c0 sem_prag.adb, treepr.ads: Minor reformatting.
2012-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb, treepr.ads: Minor reformatting.

From-SVN: r189567
2012-07-17 11:51:38 +02:00
Arnaud Charlet
f080def513 [multiple changes]
2012-07-17  Robert Dewar  <dewar@adacore.com>

	* exp_ch9.adb: Minor code reorganization.
	* exp_ch3.adb: Minor code improvement.

2012-07-17  Tristan Gingold  <gingold@adacore.com>

	* seh_init.c (__gnat_SEH_error_handler): Not compiled anymore
	on Windows 64 (+ SEH), as it is unused.

2012-07-17  Tristan Gingold  <gingold@adacore.com>

	* treepr.ads (psloc): Declare.
	* treepr.adb (psloc): New debug procedure to print a sloc.
	(Print_Sloc): New procedure, from ...
	(Print_Node_Subtree): ... this.  Call Print_Sloc.

2012-07-17  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into
	CPP convention automatically.

From-SVN: r189566
2012-07-17 11:49:48 +02:00
Tobias Burnus
2767f2cc5c re PR fortran/52101 (Obsolescence warning for non-obs. feature character name*length)
2012-07-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52101
        * decl.c (match_char_length): Extra argument, show obsolenscent
        warning only if *length is used after the typename.
        (variable_decl, gfc_match_char_spec): Update call

2012-07-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52101
        * gfortran.dg/oldstyle_4.f90: New.

From-SVN: r189565
2012-07-17 11:40:12 +02:00
Ramana Radhakrishnan
22969a8cc8 arm-common.c (arm_option_optimization_table): Enable -fsched-pressure by default while optimizing.
2012-07-17  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
	    Ulrich Weigand  <ulrich.weigand@linaro.org>

	* common/config/arm/arm-common.c (arm_option_optimization_table):
	Enable -fsched-pressure by default while optimizing.
	* config/arm/arm.c (arm_option_override): Use the alternate scheduler
	pressure algorithm by default.




Co-Authored-By: Ulrich Weigand <ulrich.weigand@linaro.org>

From-SVN: r189563
2012-07-17 09:17:20 +00:00
Tobias Burnus
a6fcd41ada re PR fortran/49265 (Double colon in procedure-stmt (generic interface))
2012-07-17  Tobias Burnus  <burnus@net-b.de>
            Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/49265
        * decl.c (match_procedure_in_interface): Support "::" for
        Fortran 2008 and later.

2012-07-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49265
        * gfortran.dg/module_procedure_double_colon_3.f90: New.
        * gfortran.dg/module_procedure_double_colon_4.f90: New.


Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r189562
2012-07-17 10:59:18 +02:00
GCC Administrator
b663bdabd2 Daily bump.
From-SVN: r189559
2012-07-17 00:17:38 +00:00
Jonathan Wakely
eb407c3432 re PR libstdc++/53270 (Error when bootstrapping gcc on hppa2.0-unknown-linux-gcc)
PR libstdc++/53270
	* include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
	NSDMI in C++98 mode too.
	* include/ext/rope: Add system_header pragma.
	(_Refcount_Base, _Rope_RopeRep): Use NSDMI.
	(_Rope_RopeRep::~_Rope_RopeRep): Destroy mutex.

From-SVN: r189553
2012-07-16 22:57:18 +01:00
Jason Merrill
b3ff651a97 cp-tree.h (struct deferred_access_check): Add location.
* cp-tree.h (struct deferred_access_check): Add location.
	* semantics.c (perform_access_checks): Use it.
	(perform_or_defer_access_check): Store it.

From-SVN: r189552
2012-07-16 17:25:30 -04:00
Oleg Endo
4111c296f2 sh.h (CONST_OK_FOR_I06): Delete.
* config/sh/sh.h (CONST_OK_FOR_I06): Delete.
	(CONST_OK_FOR_I10): Move macro to ...
	* config/sh/sh.c: ... here.
	(sh_legitimate_index_p): Use satisfies_constraint_I06 instead of
	CONST_OK_FOR_I06.

From-SVN: r189551
2012-07-16 21:16:52 +00:00
Oleg Endo
7bd3f65f01 sh.md: Delete mov related define_peephole patterns.
* config/sh/sh.md: Delete mov related define_peephole patterns.

From-SVN: r189550
2012-07-16 21:15:00 +00:00
Thomas Koenig
c2092deb7f re PR fortran/53824 (ICE with ALLOCATE of coarrays)
2012-07-16  Thomas König  <tkoenig@gcc.gnu.org>

	PR fortran/53824
	* resolve.c (resolve_allocate_deallocate):  If both
	start indices are NULL, skip the test for equality.

2012-07-16  Thomas König  <tkoenig@gcc.gnu.org>

	PR fortran/53824
	* gfortran.dg/coarray_allocate_1.f90:  New test.

From-SVN: r189549
2012-07-16 20:58:04 +00:00
Jonathan Wakely
8db81fb2fe re PR libstdc++/53978 (Missing static const definitions in <bits/alloc_traits.h>)
PR libstdc++/53978
	* include/bits/alloc_traits.h (allocator_traits): Define static
	constants.
	* include/bits/ptr_traits.h (pointer_traits): Likewise.
	* include/ext/alloc_traits.h (__allocator_always_compares_equal):
	Likewise.

From-SVN: r189547
2012-07-16 21:43:11 +01:00
Jonathan Wakely
1b667f1bb4 re PR web/53919 (Version-specific install instructions not available)
PR c++/53919
	* doc/install.texi (Installing GCC): Refer to instructions for
	released versions. Fix hypenation.

From-SVN: r189545
2012-07-16 20:14:18 +01:00
Ulrich Weigand
c9c72699b2 spu.c (targetm): Move to bottom of file.
* config/spu/spu.c (targetm): Move to bottom of file.
	(spu_attribute_table): Likewise.
	(spu_option_override, spu_init_builtins, spu_builtin_decl,
	spu_scalar_mode_supported_p, spu_vector_mode_supported_p,
	spu_legitimate_address_p, spu_addr_space_legitimate_address_p,
	adjust_operand, get_pic_reg, need_to_save_reg, frame_emit_store,
	frame_emit_load, frame_emit_add_imm, emit_nop_for_insn,
	insn_clobbers_hbr, spu_emit_branch_hint, spu_emit_vector_compare,
	get_branch_target, spu_machine_dependent_reorg, spu_sched_issue_rate,
	spu_sched_variable_issue, spu_sched_adjust_cost, spu_sched_init_global,
	spu_sched_init, spu_sched_reorder, spu_handle_fndecl_attribute,
	spu_handle_vector_attribute, spu_pass_by_reference, spu_function_arg,
	spu_function_arg_advance, spu_build_builtin_va_list, spu_va_start,
	spu_gimplify_va_arg_expr, store_with_one_insn_p, reg_aligned_for_addr,
	spu_assemble_integer, spu_asm_globalize_label, spu_rtx_costs,
	spu_function_ok_for_sibcall, spu_init_libfuncs, spu_return_in_memory,
	spu_encode_section_info, spu_legitimize_address,
	spu_addr_space_legitimize_address, spu_builtin_mask_for_load,
	spu_builtin_vectorization_cost, spu_vector_alignment_reachable,
	spu_addr_space_pointer_mode, spu_addr_space_address_mode,
	spu_addr_space_subset_p, spu_addr_space_convert, spu_sms_res_mii,
	spu_section_type_flags, spu_select_section, spu_unique_section,
	spu_trampoline_init, spu_conditional_register_usage,
	spu_ref_may_alias_errno, spu_output_mi_thunk, spu_unwind_word_mode,
	spu_libgcc_cmp_return_mode, spu_libgcc_shift_count_mode,
	spu_setup_incoming_varargs): Remove prototypes.
	(spu_legitimize_address): Add "static" to definition.

From-SVN: r189544
2012-07-16 17:23:54 +00:00
Andrew Pinski
053c2b8794 bswap-1.c: New testcase.
2012-07-16  Andrew Pinski  <apinski@cavium.com>

        * gcc.c-torture/execute/bswap-1.c: New testcase.
        * gcc.c-torture/compile/unalign-1.c: New testcase.
        * gcc.c-torture/compile/20120524-1.c: New testcase.
        * gcc.c-torture/compile/20101216-1.c: New testcase.

From-SVN: r189543
2012-07-16 10:16:29 -07:00
Jakub Jelinek
4cca007eaf * config/i386/rtmintrin.h (_xabort): Remove trailing semicolon.
From-SVN: r189541
2012-07-16 16:53:40 +02:00
Ulrich Weigand
cd356d9673 tree-ssa-ccp.c (optimize_unreachable): Check gsi_end_p before calling gsi_stmt.
* tree-ssa-ccp.c (optimize_unreachable): Check gsi_end_p
	before calling gsi_stmt.

From-SVN: r189539
2012-07-16 14:27:53 +00:00
Kirill Yukhin
aaba3304b2 Revert r189513.
From-SVN: r189538
2012-07-16 14:08:42 +00:00
Joseph Myers
6d8b8153de * README: Document use of ranges of years in copyright notices.
From-SVN: r189537
2012-07-16 15:01:34 +01:00
Tristan Gingold
b15062a82d decl.c (intrin_return_compatible_p): Map Address to void *.
2012-07-16  Tristan Gingold  <gingold@adacore.com>

	* decl.c (intrin_return_compatible_p): Map Address to void *.

From-SVN: r189536
2012-07-16 15:10:02 +02:00
Thomas Quinot
9d08a38d3b exp_ch9.adb (Ensure_Statement_Present): New subprogram.
2012-07-16  Thomas Quinot  <quinot@adacore.com>

	* exp_ch9.adb (Ensure_Statement_Present): New subprogram.
	(Expand_N_Asynchronous_Select,
	Expand_N_Selective_Accept.Process_Accept_Alternative,
	Expand_N_Selective_Accept.Process_Delay_Alternative,
	Expand_N_Timed_Entry_Call): For an alternative with no trailing
	statements, introduce a null statement to carry the sloc of
	the initial special statement (accept, delay, or entry call)
	in the alternative, for coverage analysis purposes.

2012-07-16  Thomas Quinot  <quinot@adacore.com>

	* sem_eval.adb (In_Subrange_Of): Fix typo in test for scalar
	arguments.

From-SVN: r189535
2012-07-16 15:03:26 +02:00
Arnaud Charlet
70805b8834 [multiple changes]
2012-07-16  Robert Dewar  <dewar@adacore.com>

	* a-exexpr.adb, freeze.adb, a-exexpr-gcc.adb, a-except-2005.adb,
	sem_eval.adb, s-fileio.adb: Minor reformatting.

2012-07-16  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Remove support for obsolescent
	pragma CPP_Class.
	* sem_ch13.adb (Analyze_Freeze_Entity): Add missing error on Ada
	derivations of CPP types.  Found updating the tests affected by
	the removal of pragma CPP_Class.

2012-07-16  Thomas Quinot  <quinot@adacore.com>

	* back_end.adb: Minor reformatting.

2012-07-16  Thomas Quinot  <quinot@adacore.com>

	* exp_ch9.adb (Expand_N_Selective_Accept.Process_Accept_Alternative):
	Remove junk test that was always true. For the case of no statements
	following the ACCEPT, jump directly to End_Lab instead of
	introducing an intermediate jump.
	(Expand_N_Selective_Accept.Process_Delay_Alternative): Fix
	predicate testing for presence of statements following the DELAY.
	that was always true. For the case of no statements following
	the ACCEPT, jump directly to End_Lab instead of introducing an
	intermediate jump.
	(Expand_N_Selective_Accept): Fix incorrect insertion point for
	end label.

From-SVN: r189534
2012-07-16 15:00:24 +02:00
Arnaud Charlet
be93c38658 [multiple changes]
2012-07-16  Thomas Quinot  <quinot@adacore.com>

	* gnat_rm.texi: Minor documentation improvements.

2012-07-16  Yannick Moy  <moy@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Allow Pre
	and Pre'Class aspects on the same declaration.
	* sem_prag.adb (Chain_PPC): Allow Pre and Pre'Class aspects on the
	same hierarchy of primitive operations.

From-SVN: r189533
2012-07-16 14:57:45 +02:00
Arnaud Charlet
5df1266a05 [multiple changes]
2012-07-16  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb (Check_Component_Storage_Order): Do not reject a
	nested composite with different scalar storage order if it is
	byte aligned.

2012-07-16  Thomas Quinot  <quinot@adacore.com>

	* gnat_rm.texi: Update documentation for Scalar_Storage_Order.

2012-07-16  Tristan Gingold  <gingold@adacore.com>

	* a-exexpr.adb (Propagate_Exception): Adjust call to
	Exception_Traces procedures.
	* a-exexpr-gcc.adb (Setup_Current_Excep): Now a
	function that returns an access to the Ada occurrence.
	(Propagate_GCC_Exception): Adjust calls.
	* raise.h (struct Exception_Occurrence): Declare.
	* a-exextr.adb: Remove useless pragma.	(Notify_Handled_Exception,
	Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
	Add Excep parameter.
	* a-except.adb (Notify_Handled_Exception,
	Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
	Add Excep parameter.
	(Process_Raise_Exception): Adjust calls.
	* a-except-2005.adb (Notify_Handled_Exception,
	Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add
	Excep parameter.
	(Raise_Exception): Calls Raise_Exception_Always.
	* raise-gcc.c (__gnat_setup_current_excep,
	__gnat_notify_handled_exception)
	(__gnat_notify_unhandled_exception): Adjust declarations.
	(PERSONALITY_FUNCTION): Adjust calls.
	(__gnat_personality_seh0): Remove warning.

2012-07-16  Javier Miranda  <miranda@adacore.com>

	* sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation.
	(Eval_Relational_Op): Adding documentation.

From-SVN: r189532
2012-07-16 14:55:50 +02:00
Arnaud Charlet
e187fa72fb [multiple changes]
2012-07-16  Robert Dewar  <dewar@adacore.com>

	* freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting.

2012-07-16  Thomas Quinot  <quinot@adacore.com>

	* s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ.

2012-07-16  Tristan Gingold  <gingold@adacore.com>

	* a-exexpr.adb (Propagate_Continue): New function replacing
	Raise_Current_Excep.
	(Allocate_Occurrence): New function.
	(Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
	* a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component
	is now aliased.
	(To_GCC_Exception): Convert from Address.
	(Allocate_Occurrence): Allocate an Unwind exception occurrence.
	(Setup_Current_Excep): Fill the machine occurrence in case of
	foreign exception.
	(Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
	* a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
	Excep parameter.
	(Raise_Exception, Raise_Exception_Always,
	Raise_Exception_No_Defer): Adjust calls to the above procedures.
	(Raise_From_Signal_Handler, Raise_With_Location_And_Msg)
	(Rcheck_PE_Finalize_Raised_Exception): Likewise.
	* a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg):
	add Excep parameter.
	(Propagate_Exception): Likewise.
	(Allocate_Occurrence): New function.
	(Raise_Current_Excep): Removed.
	(Complete_Occurrence): New function to save the call chain.
	(Complete_And_Propagate_Occurrence): New procedure.
	(Create_Occurrence_From_Signal_Handler): New function to build an
	occurrence without propagating it.
	(Create_Machine_Occurrence_From_Signal_Handler): Likewise, but
	return the machine occurrence.
	(Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler.
	(Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer):
	Adjust calls to the above procedures. Allocate the occurrence at
	the beginning.
	(Raise_With_Location_And_Msg, Raise_With_Msg)
	(Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise.
	(Reraise_Occurrence): Use Reraise_Occurrence_Always.
	(Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer.
	(Reraise_Occurrence_No_Defer): Preserve machine occurrence.
	(Save_Occurrence): Do not save machine occurrence.
	* a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence
	component.
	(Null_Occurrence): Consider it.
	* a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
	Excep parameter.

2012-07-16  Tristan Gingold  <gingold@adacore.com>

	* seh_init.c (__gnat_map_SEH): New function extracted from
	__gnat_SEH_error_handler.
	* raise-gcc.c: __gnat_personality_seh0: Directly transforms
	Windows system exception into GCC one when possible, in order
	to save stack room (particularly useful when Storage_Error will
	be propagated).

From-SVN: r189530
2012-07-16 14:51:41 +02:00