Richard Guenther [Wed, 18 Jul 2012 10:46:05 +0000 (10:46 +0000)]
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
Richard Guenther [Wed, 18 Jul 2012 08:49:55 +0000 (08:49 +0000)]
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
Oleg Endo [Wed, 18 Jul 2012 07:56:57 +0000 (07:56 +0000)]
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
Nick Clifton [Wed, 18 Jul 2012 07:56:37 +0000 (07:56 +0000)]
* doc/invoke.texi (ARM Options): Document -munaligned-access.
From-SVN: r189604
Oleg Endo [Wed, 18 Jul 2012 07:51:36 +0000 (07:51 +0000)]
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
Oleg Endo [Wed, 18 Jul 2012 07:49:50 +0000 (07:49 +0000)]
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
Steven Bosscher [Wed, 18 Jul 2012 07:32:21 +0000 (07:32 +0000)]
* graphite-poly.c (print_pbb_body): Fixup dump_bb call.
From-SVN: r189601
Jason Merrill [Wed, 18 Jul 2012 02:47:59 +0000 (22:47 -0400)]
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
Kazu Hirata [Wed, 18 Jul 2012 01:11:41 +0000 (01:11 +0000)]
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
GCC Administrator [Wed, 18 Jul 2012 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189594
Steven Bosscher [Tue, 17 Jul 2012 23:59:01 +0000 (23:59 +0000)]
fix botched commit
From-SVN: r189591
Steven Bosscher [Tue, 17 Jul 2012 23:17:20 +0000 (23:17 +0000)]
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
Janus Weil [Tue, 17 Jul 2012 21:51:20 +0000 (23:51 +0200)]
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
Jason Merrill [Tue, 17 Jul 2012 21:34:06 +0000 (17:34 -0400)]
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
Tobias Burnus [Tue, 17 Jul 2012 20:07:32 +0000 (22:07 +0200)]
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
Jason Merrill [Tue, 17 Jul 2012 18:09:10 +0000 (14:09 -0400)]
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
Jason Merrill [Tue, 17 Jul 2012 18:08:59 +0000 (14:08 -0400)]
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
Richard Guenther [Tue, 17 Jul 2012 15:12:05 +0000 (15:12 +0000)]
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
Tom de Vries [Tue, 17 Jul 2012 13:49:51 +0000 (13:49 +0000)]
hwint.c: Fix loop range.
2012-07-17 Tom de Vries <tom@codesourcery.com>
* hwint.c: Fix loop range.
From-SVN: r189577
Tom de Vries [Tue, 17 Jul 2012 12:48:36 +0000 (12:48 +0000)]
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
Richard Henderson [Tue, 17 Jul 2012 12:28:31 +0000 (05:28 -0700)]
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
Arnaud Charlet [Tue, 17 Jul 2012 10:16:59 +0000 (12:16 +0200)]
[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
Arnaud Charlet [Tue, 17 Jul 2012 10:14:38 +0000 (12:14 +0200)]
[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
Arnaud Charlet [Tue, 17 Jul 2012 09:57:14 +0000 (11:57 +0200)]
[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
Robert Dewar [Tue, 17 Jul 2012 09:51:38 +0000 (09:51 +0000)]
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
Arnaud Charlet [Tue, 17 Jul 2012 09:49:48 +0000 (11:49 +0200)]
[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
Tobias Burnus [Tue, 17 Jul 2012 09:40:12 +0000 (11:40 +0200)]
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
Ramana Radhakrishnan [Tue, 17 Jul 2012 09:17:20 +0000 (09:17 +0000)]
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
Tobias Burnus [Tue, 17 Jul 2012 08:59:18 +0000 (10:59 +0200)]
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
GCC Administrator [Tue, 17 Jul 2012 00:17:38 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189559
Jonathan Wakely [Mon, 16 Jul 2012 21:57:18 +0000 (21:57 +0000)]
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
Jason Merrill [Mon, 16 Jul 2012 21:25:30 +0000 (17:25 -0400)]
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
Oleg Endo [Mon, 16 Jul 2012 21:16:52 +0000 (21:16 +0000)]
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
Oleg Endo [Mon, 16 Jul 2012 21:15:00 +0000 (21:15 +0000)]
sh.md: Delete mov related define_peephole patterns.
* config/sh/sh.md: Delete mov related define_peephole patterns.
From-SVN: r189550
Thomas Koenig [Mon, 16 Jul 2012 20:58:04 +0000 (20:58 +0000)]
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
Jonathan Wakely [Mon, 16 Jul 2012 20:43:11 +0000 (20:43 +0000)]
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
Jonathan Wakely [Mon, 16 Jul 2012 19:14:18 +0000 (19:14 +0000)]
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
Ulrich Weigand [Mon, 16 Jul 2012 17:23:54 +0000 (17:23 +0000)]
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
Andrew Pinski [Mon, 16 Jul 2012 17:16:29 +0000 (17:16 +0000)]
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
Jakub Jelinek [Mon, 16 Jul 2012 14:53:40 +0000 (16:53 +0200)]
* config/i386/rtmintrin.h (_xabort): Remove trailing semicolon.
From-SVN: r189541
Ulrich Weigand [Mon, 16 Jul 2012 14:27:53 +0000 (14:27 +0000)]
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
Kirill Yukhin [Mon, 16 Jul 2012 14:08:42 +0000 (14:08 +0000)]
Revert r189513.
From-SVN: r189538
Joseph Myers [Mon, 16 Jul 2012 14:01:34 +0000 (15:01 +0100)]
* README: Document use of ranges of years in copyright notices.
From-SVN: r189537
Tristan Gingold [Mon, 16 Jul 2012 13:10:02 +0000 (13:10 +0000)]
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
Thomas Quinot [Mon, 16 Jul 2012 13:03:26 +0000 (13:03 +0000)]
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
Arnaud Charlet [Mon, 16 Jul 2012 13:00:24 +0000 (15:00 +0200)]
[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
Arnaud Charlet [Mon, 16 Jul 2012 12:57:45 +0000 (14:57 +0200)]
[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
Arnaud Charlet [Mon, 16 Jul 2012 12:55:50 +0000 (14:55 +0200)]
[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
Arnaud Charlet [Mon, 16 Jul 2012 12:51:41 +0000 (14:51 +0200)]
[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
H.J. Lu [Mon, 16 Jul 2012 12:35:10 +0000 (12:35 +0000)]
Restore type attribute comparison
PR middle-end/53959
PR bootstrap/53963
* gimple.c (gimple_types_compatible_p_1): Restore type attribute
comparison.
From-SVN: r189528
Bill Schmidt [Mon, 16 Jul 2012 12:32:25 +0000 (12:32 +0000)]
opts.c (default_option): Add -fvect-cost-model to default options at -O3 and above.
2012-07-16 Bill Schmidt <wschmidt@linux.ibm.com>
* opts.c (default_option): Add -fvect-cost-model to default options
at -O3 and above.
From-SVN: r189527
Arnaud Charlet [Mon, 16 Jul 2012 12:26:58 +0000 (14:26 +0200)]
[multiple changes]
2012-07-16 Robert Dewar <dewar@adacore.com>
* a-direct.adb, g-dirope.adb: Minor reformatting.
2012-07-16 Tristan Gingold <gingold@adacore.com>
* a-except.ads, a-except-2005.ads: Remove outdated comment.
2012-07-16 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to
conform to documentation.
2012-07-16 Ed Schonberg <schonberg@adacore.com>
* gnat1drv.adb (Check_Library_Items): Removed, no longer used.
2012-07-16 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Array_Type_Declaration): if component type has
invariants, the array type itself requires an invariant procedure.
* exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new
procedure, to build a checking procedure that applies the
invariant check on some type T to each component of an array
of T's. Code is similar to the construction of the init_proc
for an array, and handles multidimensional arrays by recursing
over successive dimensions.
2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
* g-debpoo.adb: Revert previous change.
2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Entity): Insert the itype reference to a
library-level class-wide subtype after the freeze node of the
equivalent record type.
From-SVN: r189526
Pascal Obry [Mon, 16 Jul 2012 12:08:15 +0000 (12:08 +0000)]
s-crtl.ads (mkdir): New routine, support encoding.
2012-07-16 Pascal Obry <obry@adacore.com>
* s-crtl.ads (mkdir): New routine, support encoding.
* adaint.h (__gnat_mkdir): Update spec to pass encoding.
* mkdir.c (__gnat_mkdir): Add encoding parameter.
* a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding
in form parameter.
* g-dirope.adb (Make_Dir): Update to pass encoding parameter.
2012-07-16 Pascal Obry <obry@adacore.com>
* adaint.c: Minor reformatting.
From-SVN: r189525
Steven Bosscher [Mon, 16 Jul 2012 12:01:34 +0000 (12:01 +0000)]
graphite-clast-to-gimple.c, [...]: Include tree-pass.h instead of dumpfile.h for pass TODO flags.
* graphite-clast-to-gimple.c, graphite-dependences.c,
graphite-sese-to-poly.c: Include tree-pass.h instead of dumpfile.h
for pass TODO flags.
* Makefile.in: Fix dependencies.
From-SVN: r189524
Steven Bosscher [Mon, 16 Jul 2012 11:50:29 +0000 (11:50 +0000)]
haifa-sched.c (init_before_recovery): Do not set EDGE_CAN_FALLTHRU.
* haifa-sched.c (init_before_recovery): Do not set EDGE_CAN_FALLTHRU.
* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
From-SVN: r189523
Steven Bosscher [Mon, 16 Jul 2012 11:47:59 +0000 (11:47 +0000)]
function.c (stack_protect_epilogue): Use expand_call to expand targetm.stack_protect_fail.
* function.c (stack_protect_epilogue): Use expand_call to expand
targetm.stack_protect_fail.
* stmt.c (expand_expr_stmt): Remove now-unused function.
* tree.h (expand_expr_stmt): Remove prototype.
* doc/tm.texi.in (TARGET_STACK_PROTECT_FAIL): Document that this
hook must return a CALL_EXPR.
* doc/tm.texi: Regenerate.
From-SVN: r189522
Steven Bosscher [Mon, 16 Jul 2012 11:43:47 +0000 (11:43 +0000)]
emit-rtl.c (emit_label_before): Do not allow the same label to be emitted twice.
* emit-rtl.c (emit_label_before): Do not allow the same label
to be emitted twice.
(emit_label_after): Likewise.
(emit_label): Likewise.
From-SVN: r189521
Steven Bosscher [Mon, 16 Jul 2012 11:42:47 +0000 (11:42 +0000)]
flags.h (TYPE_OVERFLOW_WRAPS, [...]): Move to tree.h.
* flags.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED,
TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): Move to tree.h.
* tree.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED,
TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): New home.
From-SVN: r189520
Steven Bosscher [Mon, 16 Jul 2012 11:32:42 +0000 (11:32 +0000)]
system.h (dump_file): Do not define.
gcc/
* system.h (dump_file): Do not define.
* tree-pass.h: Include dumpfile.h, which is a new file containing...
(enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p,
dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p,
dump_flag_name, dump_file, dump_flags, dump_file_name,
get_dump_file_info, struct dump_file_info): all of this, moved to...
* dumpfile.h: Here, new file.
* tree-dump.h: Include dumpfile.h, but not tree-pass.h.
(dump_stmt): Remove prototype for C++ specific function.
(dump_enumerated_decls): Move prototype from here...
* tree-flow.h (dump_enumerated_decls): ... to here.
(get_ref_base_and_extent) Move prototype from here ...
* tree.h (get_ref_base_and_extent) ... to here.
* tree-ssa-live.c: Do not inclde tree-pretty-print.h, because
gimple-pretty-print.h is enough. Do not include tree-dump.h,
include timevar.h and dumpfile.h instead.
(struct numbered_tree_d, compare_decls_by_uid,
dump_enumerated_decls_push, dump_enumerated_decls): Move from here ...
* tree-dfa.c:(struct numbered_tree_d, compare_decls_by_uid,
dump_enumerated_decls_push, dump_enumerated_decls):... to here.
Do not include timevar.h.
* tree.c: Do not include timevar.h.
* tree-cfg.c: Do not include langhooks.h, tree-pretty-print.h, and
timevar.h.
(dump_cfg_stats): Use current_function_name.
(gimple_cfg2vcg): Likewise.
(dump_function_to_file): Likewise.
* df-scan.c: Do not include tree-pass.h and timevar.h.
Include dumpfile.h.
(df_entry_block_bitmap_verify, df_exit_block_bitmap_verify): Do not
use print_current_pass.
* df-problems.c: Include dumpfile.h.
Always define REG_DEAD_DEBUGGING, avoid #ifdef code, because it
leads to errors in the code not selected.
(df_note_compute): Do not print_rtl_with_bb here. Fix compilation
bug if REG_DEAD_DEBUGGING is not 0, get_insns is not available here.
* lcm.c: Include dumpfile.h.
Remove obsolete include of insn-attr.h.
* dojump.c (do_compare_rtx_and_jump): Remove failure printing for
missing probability notes.
* stmt.c: Include dumpfile.h.
(emit_case_decision_tree): Re-enable printing expand details only
if TDF_DETAILS.
* alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c,
cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c,
cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c,
coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c,
dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c,
function.c, fwprop.c, gcse.c, gimple-fold.c,
gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c,
graphite-dependences.c, graphite-interchange.c,
graphite-optimize-isl.c, graphite-poly.c,
graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c,
ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c,
ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c,
ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c,
jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c,
loop-unroll.c, loop-unswitch.c, lower-subreg.c,
lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c,
mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c,
plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c,
print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c,
regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c,
sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c,
store-motion.c, tracer.c, trans-mem.c, tree-affine.c,
tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c,
tree-data-ref.c, tree-diagnostic.c, tree-dump.c,
tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c,
tree-mudflap.c, tree-nrv.c, tree-object-size.c,
tree-optimize.c, tree-outof-ssa.c, tree-predcom.c,
tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c,
tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.c,
tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c,
tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.c,
tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c,
tree-ssa-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c,
tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c,
tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c,
tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-switch-conversion.c, tree-tailcall.c,
tree-vect-data-refs.c, tree-vect-loop.c,
tree-vect-loop-manip.c, tree-vectorizer.c,
tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c,
tree-vrp.c, value-prof.c, var-tracking.c, web.c: Include tree-pass.h
only if needed. If tree-pass.h is included, do not include timevar.h
and dumpfile.h. If tree-pass.h is not included but dump_file, or
dump_flags, or the TDF_* flags are used, include dumpfile.h.
If gimple-pretty-print.h is included, don't include tree-pretty-print.h.
Remove assorted unnecessary includes.
* config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c,
config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
config/spu/spu.c, config/mep/mep.c, config/i386/i386.c:
Include dumpfile.h.
* config/rl78/rl78.c: Include dumpfile.h instead of tree-pass.h.
* arm/t-arm, avr/t-avr, i386/t-i386, ia64/t-ia64, mep/t-mep,
spu/t-spu-elf: Fix dependencies.
c-family/
* c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
* c-ada-spec.c: Likewise.
* c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
c/
* c-decl.c: Include dumpfile.h instead of tree-dump.h.
* Make-lang.in: Fix dependencies.
cp/
* dump.c (dump_stmt): Moved here from c-dump.c.
* optimize.c: Include dumpfile.h instead of tree-dump.h.
* class.c: Likewise.
* decl2.c: Likewise.
* Make-lang.in: Fix dependencies.
fortran/
* f95-lang.c: Include dumpfile.h instead of tree-dump.h.
* Make-lang.in: Fix dependencies.
java/
* java-gimplify.c Include dumpfile.h instead of tree-dump.h
* Make-lang.in: Fix dependencies.
lto/
* lto.c: Do not include timevar.h.
* Make-lang.in: Fix dependencies.
ada/
* gcc-interface/utils.c: Include timevar.h.
* Make-lang.in: Fix dependencies.
From-SVN: r189519
Dehao Chen [Mon, 16 Jul 2012 11:08:21 +0000 (11:08 +0000)]
revert: tree.h (phi_arg_d): New field.
2012-07-16 Dehao Chen <dehao@google.com>
Revert
2012-07-10 Dehao Chen <dehao@google.com>
* tree.h (phi_arg_d): New field.
* tree-flow-inline.h (gimple_phi_arg_block): New function.
(gimple_phi_arg_block_from_edge): New function.
(gimple_phi_arg_set_block): New function.
(gimple_phi_arg_has_block): New function.
(redirect_edge_var_map_block): New function.
* tree-flow.h (_edge_var_map): New field.
* tree-ssa-live.c (remove_unused_locals): Mark phi_arg's block as used.
* tree-eh.c (cleanup_empty_eh_merge_phis): Add block debug info for
redirect_edge_var_map_add.
* tree-outof-ssa.c (_elim_graph): New field.
(insert_partition_copy_on_edge): New parameter.
(insert_value_copy_on_edge): New parameter.
(insert_rtx_to_part_on_edge): New parameter.
(insert_part_to_rtx_on_edge): New parameter.
(elim_graph_add_edge): New parameter.
(elim_graph_remove_succ_edge): New parameter.
(FOR_EACH_ELIM_GRAPH_SUCC): New parameter.
(FOR_EACH_ELIM_GRAPH_PRED): New parameter.
(new_elim_graph): Add block debug info.
(clear_elim_graph): Likewise.
(delete_elim_graph): Likewise.
(elim_graph_add_node): Likewise.
(elim_graph_add_edge): Likewise.
(elim_graph_remove_succ_edge): Likewise.
(eliminate_build): Likewise.
(elim_forward): Likewise.
(elim_unvisited_predecessor): Likewise.
(elim_backward): Likewise.
(elim_create): Likewise.
(eliminate_phi): Likewise.
(insert_backedge_copies): Likewise.
* tree-into-ssa.c (insert_phi_nodes_for): Add block debug info for
add_phi_arg.
(rewrite_add_phi_arguments): Likewise.
* tree-ssa-loop-im.c (execute_sm_if_changed): Likewise.
* tree-ssa-tail-merge.c (replace_block_by): Likewise.
* tree-ssa-threadupdate.c (copy_phi_args): Likewise.
* tree-loop-distribution.c (update_phis_for_loop_copy): Likewise.
* tree-ssa-loop-manip.c (create_iv): Likewise.
(add_exit_phis_edge): Likewise.
(split_loop_exit_edge): Likewise.
(copy_phi_node_args): Likewise.
(tree_transform_and_unroll_loop): Likewise.
* value-prof.c (gimple_ic): Likewise.
(gimple_stringop_fixed_value): Likewise.
* tree-tailcall.c (add_successor_phi_arg): Likewise.
(eliminate_tail_call): Likewise.
(create_tailcall_accumulator): Likewise.
(tree_optimize_tail_calls_1): Likewise.
* tree-phinodes.c (add_phi_arg): Likewise.
(make_phi_node): Likewise.
(resize_phi_node): Likewise.
(remove_phi_arg_num): Likewise.
* omp-low.c (expand_parallel_call): Likewise.
(expand_omp_for_static_chunk): Likewise.
* tree-vect-loop-manip.c (slpeel_update_phis_for_duplicate_loop):
Likewise.
(slpeel_update_phi_nodes_for_guard1): Likewise.
(slpeel_update_phi_nodes_for_guard2): Likewise.
(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
(set_prologue_iterations): Likewise.
(slpeel_tree_peel_loop_to_edge): Likewise.
(vect_loop_versioning): Likewise.
* tree-parloops.c (create_phi_for_local_result): Likewise.
(transform_to_exit_first_loop): Likewise.
(create_parallel_loop): Likewise.
* ipa-split.c (split_function): Likewise.
* tree-vect-loop.c (get_initial_def_for_induction): Likewise.
(vect_create_epilog_for_reduction): Likewise.
* tree-vect-data-refs.c (vect_setup_realignment): Likewise.
* graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
* tree-ssa-phiopt.c (cond_store_replacement): Likewise.
(cond_if_else_store_replacement_1): Likewise.
* tree-cfgcleanup.c (remove_forwarder_block): Likewise.
(remove_forwarder_block_with_phi): Likewise.
* tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
* tree-predcom.c (initialize_root_vars): Likewise.
(initialize_root_vars_lm): Likewise.
* sese.c (sese_add_exit_phis_edge): Likewise.
* tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
* tree-ssa.c (flush_pending_stmts): Likewise.
(redirect_edge_var_map_add): Likewise.
(ssa_redirect_edge): Likewise.
* gimple-streamer-in.c (input_phi): Likewise.
* tree-vect-stmts.c (vectorizable_load): Likewise.
* tree-inline.c (copy_phis_for_bb): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
* tree-switch-conversion.c (fix_phi_nodes): Likewise.
* tree-cfg.c (reinstall_phi_args): Likewise.
(gimple_make_forwarder_block): Likewise.
(add_phi_args_after_copy_edge): Likewise.
(gimple_duplicate_sese_tail): Likewise.
From-SVN: r189518
Arnaud Charlet [Mon, 16 Jul 2012 10:52:21 +0000 (12:52 +0200)]
[multiple changes]
2012-07-16 Vasiliy Fofanov <fofanov@adacore.com>
* ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2
switches.
2012-07-16 Bob Duff <duff@adacore.com>
* sinfo.ads: Minor comment fix.
2012-07-16 Bob Duff <duff@adacore.com>
* sem_elab.adb (Within_Elaborate_All): Walk the with clauses to
find pragmas Elaborate_All that may be found in the transitive
closure of the dependences.
From-SVN: r189517
Robert Dewar [Mon, 16 Jul 2012 10:49:46 +0000 (10:49 +0000)]
exp_pakd.adb, [...]: Minor reformatting.
2012-07-16 Robert Dewar <dewar@adacore.com>
* exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor
reformatting.
From-SVN: r189516
Janus Weil [Mon, 16 Jul 2012 10:13:19 +0000 (12:13 +0200)]
re PR fortran/53956 ([F03] PROCEDURE w/ interface: Bogus "EXTERNAL attribute conflicts with FUNCTION attribute")
2012-07-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/53956
* gfortran.h (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Modified
prototypes.
* symbol.c (gfc_copy_formal_args): New argument 'if_src'. Copy if_source
of dummy procedures.
(gfc_copy_formal_args_ppc): Ditto.
* resolve.c (resolve_procedure_interface): Pass IFSRC_DECL to
gfc_copy_formal_args.
(resolve_fl_derived0): Pass IFSRC_DECL to gfc_copy_formal_args_ppc.
2012-07-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/53956
* gfortran.dg/proc_decl_28.f90: New.
From-SVN: r189514
Sergey Melnikov [Mon, 16 Jul 2012 10:00:37 +0000 (10:00 +0000)]
i386.md (stack_protect_set): Disable the pattern for Android since Android libc (bionic) does not provide...
2012-07-16 Sergey Melnikov <sergey.melnikov@intel.com>
* config/i386/i386.md (stack_protect_set): Disable the pattern
for Android since Android libc (bionic) does not provide random
value for stack protection guard at gs:0x14. Guard value
will be provided from external symbol (default implementation).
(stack_protect_set_<mode>): Likewise.
(stack_protect_test): Likewise.
(stack_protect_test_<mode>): Likewise.
From-SVN: r189513
Andrew Pinski [Mon, 16 Jul 2012 07:17:49 +0000 (07:17 +0000)]
builtins-1.c: New testcase.
2012-07-16 Andrew Pinski <apinski@cavium.com>
* gcc.dg/torture/builtins-1.c: New testcase.
From-SVN: r189510
Hans-Peter Nilsson [Mon, 16 Jul 2012 06:11:09 +0000 (06:11 +0000)]
Commit hunk missing from last change
From-SVN: r189509
Hans-Peter Nilsson [Mon, 16 Jul 2012 03:33:35 +0000 (03:33 +0000)]
Tweak ChangeLog formatting for my recent entries
From-SVN: r189508
Hans-Peter Nilsson [Mon, 16 Jul 2012 03:31:12 +0000 (03:31 +0000)]
cris-protos.h (cris_legitimate_address_p): Declare.
* config/cris/cris-protos.h (cris_legitimate_address_p): Declare.
* config/cris/cris.h (CONSTANT_ADDRESS_P): Define in terms of
CONSTANT_P and cris_legitimate_address_p.
* config/cris/cris.c (cris_legitimate_address_p): Make non-static.
From-SVN: r189507
Hans-Peter Nilsson [Mon, 16 Jul 2012 03:24:14 +0000 (03:24 +0000)]
cris.c (cris_preferred_reload_class): Don't return GENERAL_REGS as preferred to MOF_SRP_REGS.
* config/cris/cris.c (cris_preferred_reload_class):
Don't return GENERAL_REGS as preferred to MOF_SRP_REGS.
From-SVN: r189506
Hans-Peter Nilsson [Mon, 16 Jul 2012 03:21:47 +0000 (03:21 +0000)]
sync-2i.c, [...]: For cris*-*-linux*, also pass -mno-unaligned-atomic-may-use-library.
* gcc.target/cris/sync-2i.c, gcc.target/cris/sync-2s.c,
gcc.target/cris/sync-3i.c, gcc.target/cris/sync-3s.c,
gcc.target/cris/sync-4i.c, gcc.target/cris/sync-4s.c,
gcc.target/cris/sync-1-v10.c,
gcc.target/cris/sync-1-v32.c: For cris*-*-linux*, also
pass -mno-unaligned-atomic-may-use-library.
* gcc.target/cris/sync-xchg-1.c: New test.
From-SVN: r189505
Hans-Peter Nilsson [Mon, 16 Jul 2012 03:18:23 +0000 (03:18 +0000)]
cris.c (cris_init_libfuncs): Handle initialization of library functions for basic atomic compare-and-swap.
* config/cris/cris.c (cris_init_libfuncs): Handle initialization
of library functions for basic atomic compare-and-swap.
* config/cris/cris.h (TARGET_ATOMICS_MAY_CALL_LIBFUNCS): New macro.
* config/cris/cris.opt (munaligned-atomic-may-use-library): New
option.
* config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")
("cris_atomic_fetch_<atomic_op_name><mode>_1")
("atomic_compare_and_swap<mode>")
("cris_atomic_compare_and_swap<mode>_1"): Make
conditional on TARGET_ATOMICS_MAY_CALL_LIBFUNCS for
sizes larger than byte.
From-SVN: r189504
Hans-Peter Nilsson [Mon, 16 Jul 2012 03:11:31 +0000 (03:11 +0000)]
cris.c (cris_print_operand): New cases.
* config/cris/cris.c (cris_print_operand) <case 'P', 'q'>: New cases.
* config/cris/sync.md (atomic_op_op_cnstr): New code_attr.
(atomic_op_op_pred): Ditto.
(atomic_op_mnem_pre_op2): Renamed from atomic_op_mnem_pre; to
reflect the change to include %2 in expansion. All callers changed.
(qm3): New mode_attr.
("atomic_fetch_<atomic_op_name><mode>"): Use <atomic_op_op_pred>
as predicate for operand 2.
("cris_atomic_fetch_<atomic_op_name><mode>_1"): Update FIXME. Use
"<atomic_op_op_pred>" "<atomic_op_op_cnstr>" for predicate and
constraint for operand 2.
("atomic_compare_and_swap<mode>"): Add FIXME. Change predicate to
nonmemory_operand for operand 3.
("cris_atomic_compare_and_swap<mode>_1"): Change operand 3 to
exclude memory. Improve emitted sync code for v10 and v32. Use
<qm3> instead of <m> for size designator for cmp.
From-SVN: r189503
Hans-Peter Nilsson [Mon, 16 Jul 2012 03:09:57 +0000 (03:09 +0000)]
20011127-1.c: Adjust to %P being a valid register operand output modifier.
* gcc.target/cris/
20011127-1.c: Adjust to %P being a
valid register operand output modifier.
From-SVN: r189502
Hans-Peter Nilsson [Mon, 16 Jul 2012 03:02:47 +0000 (03:02 +0000)]
sync.md ("atomic_compare_and_swap<mode>"): Change predicate to nonmemory_operand for operand 3.
* config/cris/sync.md ("atomic_compare_and_swap<mode>"): Change
predicate to nonmemory_operand for operand 3. Add FIXME.
("cris_atomic_compare_and_swap<mode>_1"): Change predicates and
From-SVN: r189501
Hans-Peter Nilsson [Mon, 16 Jul 2012 02:59:42 +0000 (02:59 +0000)]
* config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")
("atomic_compare_and_swap<mode>"): Gate expand_mem_thread_fence
calls on result of call to need_atomic_barrier_p.
From-SVN: r189500
GCC Administrator [Mon, 16 Jul 2012 00:18:10 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r189499
Richard Sandiford [Sun, 15 Jul 2012 16:26:48 +0000 (16:26 +0000)]
mips.md (move_type): Replace mfhilo and mthilo with mflo and mtlo.
gcc/
* config/mips/mips.md (move_type): Replace mfhilo and mthilo
with mflo and mtlo.
(type): Split mfhilo into mfhi and mflo. Split mthilo into mthi
and mtlo. Adjust move_type->type mapping.
(may_clobber_hilo): Split mthilo into mthi and mtlo.
(*movdi_32bit, *movdi_32bit_mips16, *movdi_64bit, *movdi_64bit_mips16)
(*mov<mode>_internal, *mov<mode>_mips16, *movhi_internal)
(*movhi_mips16, *movqi_internal, *movqi_mips16): Use mtlo and mflo
instead of mthilo and mfhilo.
(mfhi<GPR:mode>_<HILO:mode>): Use mfhi instead of mfhilo.
(mthi<GPR:mode>_<HILO:mode>): Use mthi instead of mthilo.
* config/mips/mips-dsp.md (mips_extr_w, mips_extr_r_w, mips_extr_rs_w)
(mips_extr_s_h, mips_extp, mips_extpdp, mips_shilo, mips_mthlip):
Use mflo instead of mfhilo.
* config/mips/10000.md (r10k_arith): Split mthilo.
(r10k_mfhi, r10k_mflo): Use mfhi and mflo directly.
* config/mips/sb1.md (ir_sb1_mfhi, ir_sb1_mflo): Likewise.
(ir_sb1_mthilo): Split mthilo into mthi and mtlo.
* config/mips/20kc.md (r20kc_imthilo, r20kc_imfhilo): Split
mthilo and mfhilo.
* config/mips/24k.md (r24k_int_mfhilo, r24k_int_mthilo): Likewise.
* config/mips/4130.md (vr4130_class, vr4130_mfhilo, vr4130_mthilo):
Likewise.
* config/mips/4k.md (r4k_int_mthilo, r4k_int_mfhilo): Likewise.
* config/mips/5400.md (ir_vr54_hilo): Likewise.
* config/mips/5500.md (ir_vr55_mthilo, ir_vr55_mfhilo): Likewise.
* config/mips/5k.md (r5k_int_mthilo, r5k_int_mfhilo): Likewise.
* config/mips/7000.md (rm7_mthilo, rm7_mfhilo): Likewise.
* config/mips/74k.md (r74k_int_mfhilo, r74k_int_mthilo): Likewise.
* config/mips/9000.md (rm9k_mfhilo, rm9k_mthilo): Likewise.
* config/mips/generic.md (generic_hilo): Likewise.
* config/mips/loongson2ef.md (ls2_alu): Likewise.
* config/mips/loongson3a.md (ls3a_mfhilo): Likewise.
* config/mips/octeon.md (octeon_imul_o1, octeon_imul_o2)
(octeon_mfhilo_o1, octeon_mfhilo_o2): Likewise.
* config/mips/sr71k.md (ir_sr70_hilo): Likewise.
* config/mips/xlr.md (xlr_hilo): Likewise.
From-SVN: r189496
Andreas Schwab [Sun, 15 Jul 2012 10:22:35 +0000 (10:22 +0000)]
pubnames-2.C: Support all known comment characters.
* g++.dg/debug/dwarf2/pubnames-2.C: Support all known comment
characters.
From-SVN: r189494
GCC Administrator [Sun, 15 Jul 2012 00:18:16 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r189489
Andrew Stubbs [Sun, 15 Jul 2012 00:02:47 +0000 (00:02 +0000)]
sh.h (SH_ASM_SPEC): Add spaces between options.
2012-07-14 Andrew Stubbs <ams@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/sh/sh.h (SH_ASM_SPEC): Add spaces between options.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r189486
Mike Stump [Sat, 14 Jul 2012 22:38:41 +0000 (22:38 +0000)]
Add missing pthread requirement.
From-SVN: r189485
Uros Bizjak [Sat, 14 Jul 2012 19:33:12 +0000 (21:33 +0200)]
i386.c (ix86_set_reg_reg_cost): Enable TFmode/TCmode for TARGET_SSE.
* config/i386/i386.c (ix86_set_reg_reg_cost): Enable TFmode/TCmode
for TARGET_SSE.
From-SVN: r189483
Steven Bosscher [Sat, 14 Jul 2012 17:28:31 +0000 (17:28 +0000)]
toplev.c (init_asm_output): Open asm_out_file in 'w' mode.
gcc/
* toplev.c (init_asm_output): Open asm_out_file in 'w' mode.
c-family/
* c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
Remove code conditional on it.
From-SVN: r189482
Steven Bosscher [Sat, 14 Jul 2012 13:50:59 +0000 (13:50 +0000)]
* config/t-darwin (crt3.0): Remove work-around for fixed PR26840.
From-SVN: r189479
Andrew Pinski [Sat, 14 Jul 2012 01:15:59 +0000 (01:15 +0000)]
octeon2-pipe-1.c: Use cleanup-rtl-dump rather than cleanup-tree-dump.
2012-07-13 Andrew Pinski <apinski@cavium.com>
* gcc.target/mips/octeon2-pipe-1.c: Use cleanup-rtl-dump
rather than cleanup-tree-dump.
* gcc.target/mips/octeon-pipe-1.c: Likewise.
tree
From-SVN: r189477
GCC Administrator [Sat, 14 Jul 2012 00:17:09 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189476
Bill Schmidt [Fri, 13 Jul 2012 22:33:31 +0000 (22:33 +0000)]
re PR bootstrap/53955 (Missing prototypes in i386.c, bootstrap failure with --disable-build-poststage1-with-cxx)
2012-07-13 Bill Schmidt <wschmidt@linux.ibm.com>
PR bootstrap/53955
* config/spu/spu.c (spu_init_cost): Mark static.
(spu_add_stmt_cost): Likewise.
(spu_finish_cost): Likewise.
(spu_destroy_cost_data): Likewise.
* config/i386/i386.c (ix86_init_cost): Mark static.
(ix86_add_stmt_cost): Likewise.
(ix86_finish_cost): Likewise.
(ix86_destroy_cost_data): Likewise.
* config/rs6000/rs6000.c (rs6000_init_cost): Mark static.
(rs6000_add_stmt_cost): Likewise.
(rs6000_finish_cost): Likewise.
(rs6000_destroy_cost_data): Likewise.
From-SVN: r189473
Doug Evans [Fri, 13 Jul 2012 22:12:28 +0000 (22:12 +0000)]
filenames.h: #include "hashtab.h".
include/
* filenames.h: #include "hashtab.h".
(filename_hash, filename_eq): Declare.
libiberty/
* filename_cmp.c (filename_hash, filename_eq): New functions.
From-SVN: r189472
Steven Bosscher [Fri, 13 Jul 2012 17:51:34 +0000 (17:51 +0000)]
ggc.h (ggc_internal_alloc_stat, [...]): Add ATTRIBUTE_MALLOC.
* ggc.h (ggc_internal_alloc_stat, ggc_alloc_typed_stat,
ggc_internal_cleared_alloc_stat, ggc_cleared_alloc_htab_ignore_args,
ggc_cleared_alloc_ptr_array_two_args, ggc_splay_alloc): Add
ATTRIBUTE_MALLOC.
* alloc-pool.h (pool_alloc): Likewise.
* final.c (final): Do not loop to find max_uid.
From-SVN: r189470
Steven Bosscher [Fri, 13 Jul 2012 15:56:04 +0000 (15:56 +0000)]
emit-rtl.c (make_debug_insn_raw, [...]): Make static.
* emit-rtl.c (make_debug_insn_raw, make_jump_insn_raw): Make static.
* rtl.h (make_debug_insn_raw, make_jump_insn_raw): Remove prototypes.
From-SVN: r189467
Jason Merrill [Fri, 13 Jul 2012 15:08:55 +0000 (11:08 -0400)]
re PR regression/53953 (g++.dg/cpp0x/lambda/lambda-ice2.C (warnings and errors not matching))
PR c++/53953
* method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
From-SVN: r189465
Richard Guenther [Fri, 13 Jul 2012 13:25:13 +0000 (13:25 +0000)]
ctors.exp: Explicitely specify -O0.
2012-07-13 Richard Guenther <rguenther@suse.de>
* testsuite/libmudflap.c++/ctors.exp: Explicitely specify -O0.
* testsuite/libmudflap.c++/c++frags.exp: Likewise.
* testsuite/libmudflap.cth/cthfrags.exp: Likewise.
* testsuite/libmudflap.c/cfrags.exp: Likewise.
* testsuite/libmudflap.c/externs.exp: Likewise.
From-SVN: r189464
Richard Guenther [Fri, 13 Jul 2012 13:11:37 +0000 (13:11 +0000)]
fail11-frag.c: Adjust to not look like memset.
2012-07-13 Richard Guenther <rguenther@suse.de>
* testsuite/libmudflap.c/fail11-frag.c: Adjust to not look like memset.
* testsuite/libmudflap.c/fail12-frag.c: Likewise.
From-SVN: r189463
Richard Guenther [Fri, 13 Jul 2012 13:01:06 +0000 (13:01 +0000)]
re PR target/53907 (gcc uses unaligned load when aligned load was requested)
2012-07-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53907
* tree-ssa-forwprop.c (associate_pointerplus): New function.
(ssa_forward_propagate_and_combine): Call it.
* gcc.target/i386/pr53907.c: New testcase.
From-SVN: r189462
Richard Guenther [Fri, 13 Jul 2012 11:21:39 +0000 (11:21 +0000)]
re PR tree-optimization/53922 (VRP: semantic conflict between range_includes_zero_p and value_inside_range)
2012-07-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53922
* tree-vrp.c (value_inside_range): Change prototype to take
min/max instead of value-range.
(range_includes_zero_p): Likewise. Return the result from
value_inside_range.
(extract_range_from_binary_expr_1): Adjust to handle dont-know
return value from range_includes_zero_p.
(extract_range_from_unary_expr_1): Likewise.
(compare_range_with_value): Likewise.
(vrp_meet_1): Likewise.
* gcc.dg/torture/pr53922.c: New testcase.
From-SVN: r189461
Bill Schmidt [Fri, 13 Jul 2012 11:12:33 +0000 (11:12 +0000)]
tm.texi: Regenerate.
2012-07-13 Bill Schmidt <wschmidt@linux.ibm.com>
* doc/tm.texi: Regenerate.
* doc/tm.texi.in (TARGET_VECTORIZE_INIT_COST): New hook.
(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
(TARGET_VECTORIZE_FINISH_COST): Likewise.
(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
* targhooks.c (default_init_cost): New function.
(default_add_stmt_cost): Likewise.
(default_finish_cost): Likewise.
(default_destroy_cost_data): Likewise.
* targhooks.h (default_init_cost): New decl.
(default_add_stmt_cost): Likewise.
(default_finish_cost): Likewise.
(default_destroy_cost_data): Likewise.
* target.def (init_cost): New DEFHOOK.
(add_stmt_cost): Likewise.
(finish_cost): Likewise.
(destroy_cost_data): Likewise.
* target.h (struct _stmt_vec_info): New extern decl.
(stmt_vectype): Likewise.
(stmt_in_inner_loop_p): Likewise.
* tree-vectorizer.h (stmt_info_for_cost): New struct/typedef.
(stmt_vector_for_cost): New VEC/typedef.
(add_stmt_info_to_vec): New function.
(struct _slp_tree): Remove cost.inside_of_loop field.
(struct _slp_instance): Remove cost.inside_of_loop field; add
stmt_cost_vec field.
(SLP_INSTANCE_INSIDE_OF_LOOP_COST): Remove macro.
(SLP_INSTANCE_STMT_COST_VEC): New accessor macro.
(SLP_TREE_INSIDE_OF_LOOP_COST): Remove macro.
(struct _vect_peel_extended_info): Add stmt_cost_vec field.
(struct _loop_vec_info): Add target_cost_data field.
(LOOP_VINFO_TARGET_COST_DATA): New accessor macro.
(struct _bb_vec_info): Add target_cost_data field.
(BB_VINFO_TARGET_COST_DATA): New accessor macro.
(struct _stmt_vec_info): Remove cost.inside_of_loop field.
(STMT_VINFO_INSIDE_OF_LOOP_COST): Remove macro.
(stmt_vinfo_set_inside_of_loop_cost): Remove function.
(init_cost): New function.
(add_stmt_cost): Likewise.
(finish_cost): Likewise.
(destroy_cost_data): Likewise.
(vect_model_simple_cost): Change parameter list.
(vect_model_store_cost): Likewise.
(vect_model_load_cost): Likewise.
(record_stmt_cost): New extern decl.
(vect_get_load_cost): Change parameter list.
(vect_get_store_cost): Likewise.
* tree-vect-loop.c (new_loop_vec_info): Call init_cost.
(destroy_loop_vec_info): Call destroy_cost_data.
(vect_estimate_min_profitable_iters): Remove old calculation of
inside costs; call finish_cost instead.
(vect_model_reduction_cost): Call add_stmt_cost instead of old
inside-costs calculation.
(vect_model_induction_cost): Likewise.
* tree-vect-data-refs.c (vect_get_data_access_cost): Change to
return a stmt_vector_for_cost; modify calls to vect_get_load_cost
and vect_get_store_cost to obtain the value to return.
(vect_peeling_hash_get_lowest_cost): Obtain a stmt_cost_vec from
vect_get_data_access_cost and store it in the minimum peeling
structure.
(vect_peeling_hash_choose_best_peeling): Change the parameter list
to add a (stmt_vector_for_cost *) output parameter, and set its value.
(vect_enhance_data_refs_alignment): Ignore the new return value from
calls to vect_get_data_access_cost; obtain stmt_cost_vec from
vect_peeling_hash_choose_best_peeling and pass its contents to the
target cost model.
* tree-vect-stmts.c (stmt_vectype): New function.
(stmt_in_inner_loop_p): Likewise.
(record_stmt_cost): Likewise.
(vect_model_simple_cost): Add stmt_cost_vec parameter; call
record_stmt_cost instead of old calculation; don't call
stmt_vinfo_set_inside_of_loop_cost.
(vect_model_promotion_demotion_cost): Call add_stmt_cost instead of
old calculation; don't call stmt_vinfo_set_inside_of_loop_cost.
(vect_model_store_cost): Add stmt_cost_vec parameter; call
record_stmt_cost instead of old calculation; add stmt_cost_vec
parameter to vect_get_store_cost call; don't call
stmt_vinfo_set_inside_of_loop_cost.
(vect_get_store_cost): Add stmt_cost_vec parameter; call
record_stmt_cost instead of old calculation.
(vect_model_load_cost): Add stmt_cost_vec parameter; call
record_stmt_cost instead of old calculation; add stmt_cost_vec
parameter to vect_get_load_cost call; don't call
stmt_vinfo_set_inside_of_loop_cost.
(vect_get_load_cost): Add stmt_cost_vec parameter; call
record_stmt_cost instead of old calculation.
(vectorizable_call): Add NULL parameter to vect_model_simple_cost call.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_store): Add NULL parameter to vect_model_store_cost call.
(vectorizable_load): Add NULL parameter to vect_model_load_cost call.
(new_stmt_vec_info): Don't set STMT_VINFO_INSIDE_OF_LOOP_COST.
* config/spu/spu.c (TARGET_VECTORIZE_INIT_COST): New macro def.
(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
(TARGET_VECTORIZE_FINISH_COST): Likewise.
(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
(spu_init_cost): New function.
(spu_add_stmt_cost): Likewise.
(spu_finish_cost): Likewise.
(spu_destroy_cost_data): Likewise.
* config/i386/i386.c (ix86_init_cost): New function.
(ix86_add_stmt_cost): Likewise.
(ix86_finish_cost): Likewise.
(ix86_destroy_cost_data): Likewise.
(TARGET_VECTORIZE_INIT_COST): New macro def.
(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
(TARGET_VECTORIZE_FINISH_COST): Likewise.
(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
* config/rs6000/rs6000.c (TARGET_VECTORIZE_INIT_COST): New macro def.
(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
(TARGET_VECTORIZE_FINISH_COST): Likewise.
(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
(rs6000_init_cost): New function.
(rs6000_add_stmt_cost): Likewise.
(rs6000_finish_cost): Likewise.
(rs6000_destroy_cost_data): Likewise.
* tree-vect-slp.c (vect_free_slp_instance): Free stmt_cost_vec.
(vect_create_new_slp_node): Don't set SLP_TREE_INSIDE_OF_LOOP_COST.
(vect_get_and_check_slp_defs): Add stmt_cost_vec parameter; add
stmt_cost_vec parameter to vect_model_store_cost and
vect_model_simple_cost calls.
(vect_build_slp_tree): Remove inside_cost parameter; add stmt_cost_vec
parameter; add stmt_cost_vec parameter to vect_get_and_check_slp_defs,
vect_model_load_cost, and recursive vect_build_slp_tree calls; prevent
calculating cost more than once for loads; remove inside_cost
parameter from recursive vect_build_slp_tree calls; call
record_stmt_cost instead of old calculation.
(vect_analyze_slp_instance): Allocate stmt_cost_vec and save it with
the instance; free it on premature exit; remove inside_cost parameter
from vect_build_slp_tree call; add stmt_cost_vec parameter to
vect_build_slp_tree call; don't set SLP_INSTANCE_INSIDE_OF_LOOP_COST.
(new_bb_vec_info): Call init_cost.
(destroy_bb_vec_info): Call destroy_cost_data.
(vect_bb_vectorization_profitable_p): Call add_stmt_cost for each
statement recorded with an SLP instance; call finish_cost instead of
the old calculation.
(vect_update_slp_costs_according_to_vf): Record statement costs from
SLP instances, multiplying by the appropriate number of copies; don't
update SLP_INSTANCE_INSIDE_OF_LOOP_COST.
From-SVN: r189460
Richard Guenther [Fri, 13 Jul 2012 09:45:00 +0000 (09:45 +0000)]
re PR c/53937 (Pack'ing struct causes gcc to not recognize that an field's address is aligned)
2012-07-13 Richard Guenther <rguenther@suse.de>
PR middle-end/53937
* builtins.c (get_pointer_alignment_1): Handle constant
pointers.
From-SVN: r189458
Paolo Carlini [Fri, 13 Jul 2012 08:59:58 +0000 (08:59 +0000)]
re PR libstdc++/53657 ([C++11] pair(pair&&) move constructor is non-trivial)
2012-07-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53657
* include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
per C++11.
* include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
(const_iterator, _Pair&&)): Constrain with std::is_constructible,
per LWG2005.
* include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
multimap<>::insert(const_iterator, _Pair&&)): Likewise.
* include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
_Insert<>::insert(const_iterator, _Pair&&)): Likewise.
* include/debug/unordered_map: Adjust.
* include/debug/map.h: Likewise.
* include/debug/multimap.h: Likewise.
* include/profile/unordered_map: Likewise.
* include/profile/map.h: Likewise.
* include/profile/multimap.h: Likewise.
From-SVN: r189456
Hans-Peter Nilsson [Fri, 13 Jul 2012 08:58:46 +0000 (08:58 +0000)]
re PR rtl-optimization/53908 (csa removes needed memory load)
PR rtl-optimization/53908
* gcc.dg/torture/pr53908.c: New test.
From-SVN: r189455
Richard Sandiford [Fri, 13 Jul 2012 08:53:24 +0000 (08:53 +0000)]
re PR rtl-optimization/53908 (csa removes needed memory load)
PR rtl-optimization/53908
* df-problems.c (can_move_insns_across): When doing
memory-reference book-keeping, handle call insns.
Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
From-SVN: r189454