1. 17 Jul, 2012 20 commits
    • fix botched commit · b0bf98a1
      From-SVN: r189591
      Steven Bosscher committed
    • dumpfile.h (TDF_COMMENT): New define. · a315c44c
      	* 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
      Steven Bosscher committed
    • re PR fortran/51081 ([F03] Proc-pointer assignment: Rejects valid internal proc) · 9717f7a1
      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
      Janus Weil committed
    • re PR c++/53989 (Internal compiler error in strip_typedefs, at cp/tree.c:1187) · 697c474c
      	PR c++/53989
      	* tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
      	to the list of variants.
      
      From-SVN: r189587
      Jason Merrill committed
    • re PR fortran/53985 (-Wno-c-binding-type still prints a warning) · 7fe3aa08
      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
      Tobias Burnus committed
    • decl.c (xref_basetypes): Complain about incomplete template base. · 947296ca
      	* decl.c (xref_basetypes): Complain about incomplete template base.
      	* class.c (finish_struct): Adjust variants in templates, too.
      
      From-SVN: r189583
      Jason Merrill committed
    • re PR c++/53549 (g++ and armadillo 3.2.0, operator() is inaccessible) · ec44e463
      	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
      Jason Merrill committed
    • tree-vect-data-refs.c (vect_get_new_vect_var): Add referenced vars here, use… · 65876d24
      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
      Richard Guenther committed
    • hwint.c: Fix loop range. · 7cb151c0
      2012-07-17  Tom de Vries  <tom@codesourcery.com>
      
      	* hwint.c: Fix loop range.
      
      From-SVN: r189577
      Tom de Vries committed
    • double-int.h (double_int_popcount): New inline function. · 440b6d59
      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
      Tom de Vries committed
    • Clean up supportable_widening_operation. · a86ec597
      	* 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
      Richard Henderson committed
    • [multiple changes] · 24cb156d
      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
      Arnaud Charlet committed
    • [multiple changes] · 79ee6ab3
      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
      Arnaud Charlet committed
    • [multiple changes] · e3b3266c
      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
      Arnaud Charlet committed
    • sem_prag.adb, treepr.ads: Minor reformatting. · 2761f6e9
      2012-07-17  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb, treepr.ads: Minor reformatting.
      
      From-SVN: r189567
      Robert Dewar committed
    • [multiple changes] · f080def5
      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
      Arnaud Charlet committed
    • re PR fortran/52101 (Obsolescence warning for non-obs. feature character name*length) · 2767f2cc
      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
      Tobias Burnus committed
    • arm-common.c (arm_option_optimization_table): Enable -fsched-pressure by default while optimizing. · 22969a8c
      
      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
      Ramana Radhakrishnan committed
    • re PR fortran/49265 (Double colon in procedure-stmt (generic interface)) · a6fcd41a
      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
      Tobias Burnus committed
    • Daily bump. · b663bdab
      From-SVN: r189559
      GCC Administrator committed
  2. 16 Jul, 2012 20 commits
    • re PR libstdc++/53270 (Error when bootstrapping gcc on hppa2.0-unknown-linux-gcc) · eb407c34
      	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
      Jonathan Wakely committed
    • cp-tree.h (struct deferred_access_check): Add location. · b3ff651a
      	* 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
      Jason Merrill committed
    • sh.h (CONST_OK_FOR_I06): Delete. · 4111c296
      	* 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
      Oleg Endo committed
    • sh.md: Delete mov related define_peephole patterns. · 7bd3f65f
      	* config/sh/sh.md: Delete mov related define_peephole patterns.
      
      From-SVN: r189550
      Oleg Endo committed
    • re PR fortran/53824 (ICE with ALLOCATE of coarrays) · c2092deb
      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
      Thomas Koenig committed
    • re PR libstdc++/53978 (Missing static const definitions in <bits/alloc_traits.h>) · 8db81fb2
      	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
      Jonathan Wakely committed
    • re PR web/53919 (Version-specific install instructions not available) · 1b667f1b
      	PR c++/53919
      	* doc/install.texi (Installing GCC): Refer to instructions for
      	released versions. Fix hypenation.
      
      From-SVN: r189545
      Jonathan Wakely committed
    • spu.c (targetm): Move to bottom of file. · c9c72699
      	* 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
      Ulrich Weigand committed
    • bswap-1.c: New testcase. · 053c2b87
      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
      Andrew Pinski committed
    • tree-ssa-ccp.c (optimize_unreachable): Check gsi_end_p before calling gsi_stmt. · cd356d96
      	* tree-ssa-ccp.c (optimize_unreachable): Check gsi_end_p
      	before calling gsi_stmt.
      
      From-SVN: r189539
      Ulrich Weigand committed
    • Revert r189513. · aaba3304
      From-SVN: r189538
      Kirill Yukhin committed
    • decl.c (intrin_return_compatible_p): Map Address to void *. · b15062a8
      2012-07-16  Tristan Gingold  <gingold@adacore.com>
      
      	* decl.c (intrin_return_compatible_p): Map Address to void *.
      
      From-SVN: r189536
      Tristan Gingold committed
    • exp_ch9.adb (Ensure_Statement_Present): New subprogram. · 9d08a38d
      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
      Thomas Quinot committed
    • [multiple changes] · 70805b88
      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
      Arnaud Charlet committed
    • [multiple changes] · be93c386
      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
      Arnaud Charlet committed
    • [multiple changes] · 5df1266a
      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
      Arnaud Charlet committed
    • [multiple changes] · e187fa72
      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
      Arnaud Charlet committed
    • Restore type attribute comparison · 59a6c9d5
      	PR middle-end/53959
      	PR bootstrap/53963
      	* gimple.c (gimple_types_compatible_p_1): Restore type attribute
      	comparison.
      
      From-SVN: r189528
      H.J. Lu committed