* cfgcleanup.c (try_forward_edges): Do not throw away previous steps
when stopping because of a different locus on edge or insn.
(try_optimize_cfg): Add comment.
* cfgrtl.c (rtl_merge_blocks): Tweak log message. If the destination
block is a forwarder block, propagate locus on the edge.
(cfg_layout_merge_blocks): Likewise.
From-SVN: r165789
* config/mn10300/mn10300.c: Fold code to 80-character width.
Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
MEM, CONST_INT and CONST_DOUBLE.
(targetm): Move initialization to end of file.
(print_operand): Rename to mn10300_print_operand.
(print_operand_address): Rename to mn10300_print_operand_address.
(can_use_return_insn): Rename to mn10300_can_use_return_insn.
(expand_prologue): Rename to mn10300_expand_prologue.
(expand_epilogue): Rename to mn10300_expand_epilogue.
(initial_offset): Rename to mn10300_initial_offset.
(function_arg): Rename to mn10300_function_arg.
(mask_ok_for_mem_btst): Rename to mn10300_mask_ok_for_mem_btst.
(symbolic_operand): Rename to mn10300_symbolic_operand.
(legitimize_pic_address): Rename to mn10300_legitimize_pic_address.
(legitimate_pic_operand_p): Rename to mn10300_legitimate_pic_operand_p.
* config/mn10300/mn10300-protos.h: Update prototypes.
* config/mn10300/mn10300.h: Fold code to 80-character width.
Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
MEM, CONST_INT and CONST_DOUBLE.
(CPP_SPEC): Move to...
(TARGET_CPU_CPP_BUILTINS): ... here.
* config/mn10300/mn10300.md: Fold code to 80-character width.
Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
MEM, CONST_INT and CONST_DOUBLE.
From-SVN: r165778
PR tree-optimization/46049
PR tree-optimization/46052
* tree-vectorizer.h (enum stmt_vec_info_type): Add new value for
shift.
(vect_get_slp_defs): Add arguments.
* tree-vect-loop.c (vect_create_epilog_for_reduction): Pass scalar
operands to vect_get_slp_defs.
(vectorizable_reduction): Fix comment, pass scalar operands to
vect_get_slp_defs.
* tree-vect-stmts.c (vect_get_vec_def_for_operand): Use operand's
type to determine number of units in the created vector.
(vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
(vectorizable_conversion): Fix comment.
(vectorizable_shift): New function.
(vectorizable_operation): Move code that handles shifts to
vectorizable_shift.
(vectorizable_type_demotion): Fix comment, pass scalar operands to
vect_get_slp_defs.
(vectorizable_type_promotion, vectorizable_store): Likewise.
(vectorizable_condition): Fix comment.
(vect_analyze_stmt): Call vectorizable_shift.
(vect_transform_stmt): Likewise.
* tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
Use it as the operand to create vectors for, except reduction
initial definition and store. Use operands type.
(vect_get_slp_defs): Add new arguments. Pass them to
vect_get_constant_vectors.
From-SVN: r165777
2010-10-21 Thomas Quinot <quinot@adacore.com>
* sem_res.adb, exp_ch13.adb: Minor reformatting.
2010-10-21 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb (Check_Or_Process_Discriminant): Reject illegal attempt
to provide a tagged full view as the completion of an untagged partial
view if the partial view has a discriminant with default.
From-SVN: r165775
2010-10-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/46060
* match.h (gfc_matching_ptr_assignment): New global variable to indicate
we're currently matching a (non-proc-)pointer assignment.
* decl.c (match_pointer_init): Set it.
* match.c (gfc_match_pointer_assignment): Ditto.
* primary.c (matching_actual_arglist): New global variable to indicate
we're currently matching an actual argument list.
(gfc_match_actual_arglist): Set it.
(gfc_match_varspec): Reject procedure pointer component calls with
missing argument list.
2010-10-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/46060
* gfortran.dg/proc_ptr_comp_25.f90: New.
From-SVN: r165769
2010-10-21 Richard Guenther <rguenther@suse.de>
Michael Matz <matz@suse.de>
PR tree-optimization/45764
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
Adjust initial misalignment for negative DR_STEP.
(vect_find_same_alignment_drs): Two DRs with different DR_STEP
do not have the same alignment over the whole iteration domain.
* gcc.dg/torture/pr45764.c: New testcase.
Co-Authored-By: Michael Matz <matz@suse.de>
From-SVN: r165768
2010-10-21 Geert Bosch <bosch@adacore.com>
* urealp.adb (UR_Write): Write hexadecimal constants with exponent 1 as
decimal constants, and write any others using the exponent notation.
Minor reformatting throughout
(Store_Ureal_Normalized): New function (minor code reorganization)
2010-10-21 Robert Dewar <dewar@adacore.com>
* einfo.ads, xeinfo.adb: Minor reformatting.
* s-stalib.ads: Minor comment fixes.
From-SVN: r165762
2010-10-21 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Enter_Overloaded_Entity): Refine warning message about
hiding, to remove noise warnings about hiding predefined operators.
2010-10-21 Emmanuel Briot <briot@adacore.com>
* g-comlin.adb (Add_Switch): Fix handling of switches with no separator
when the parameter has length 1.
2010-10-21 Jose Ruiz <ruiz@adacore.com>
* sem_prag.adb (Set_Ravenscar_Profile): Enforce the restrictions of no
dependence on Ada.Execution_Time.Timers,
Ada.Execution_Time.Group_Budget, and
System.Multiprocessors.Dispatching_Domains which are part of the
Ravenscar Profile.
* impunit.adb (Non_Imp_File_Names_05): Add the file "a-etgrbu" to the
list of Ada 2005 files for package Ada.Execution_Time.Group_Budgets.
(Non_Imp_File_Names_12): Add the file "s-mudido" to the list of Ada 2012
files for package System.Mutiprocessors.Dispatching_Domains.
2010-10-21 Tristan Gingold <gingold@adacore.com>
* ug_words, vms_data.ads: Define the VMS qualifier for -gnateE.
2010-10-21 Thomas Quinot <quinot@adacore.com>
* sem_ch3.ads (Process_Discriminants): Clarify cases where this is
called for a completion.
2010-10-21 Geert Bosch <bosch@adacore.com>
* uintp.ads: Expand image buffer to have enough room for 128-bit values
* urealp.ads (UR_Write): Write constants in base 16 in hexadecimal
notation; either as fixed point literal or in canonical radix 16
floating point form.
From-SVN: r165761
2010-10-21 Vincent Celier <celier@adacore.com>
* vms_data.ads: Add new qualifiers /SRC_INFO= and
/UNCHECKED_SHARED_LIB_IMPORTS for GNAT COMPILE.
Correct qualifier /SRC_INFO= for GNAT MAKE
2010-10-21 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Flatten): An association for a subtype may be an
expanded name.
(Safe_Left_Hand_Side): An unchecked conversion is part of a safe
left-hand side if the expression is.
(Is_Safe_Index): new predicate
* exp_ch3.adb (Expand_Freeze_Enumeration_Type): Indicate that the
generated Rep_To_Pos function is a Pure_Function.
2010-10-21 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document Invariant pragma.
From-SVN: r165759
2010-10-21 Javier Miranda <miranda@adacore.com>
* exp_ch5.adb: Update comment.
2010-10-21 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Build_Invariant_Procedure): Remove commented out code
for interfaces, since invariants are not allowed on interfaces in any
case.
From-SVN: r165758
2010-10-21 Javier Miranda <miranda@adacore.com>
* sem_attr.adb (Resolve_Attribute): After replacing the range attribute
node with a range expression ensure that its evaluation will not have
side effects.
* exp_ch5.adb (Expand_Assign_Array): Propagate the Parent to the
unchecked conversion node generated to handle assignment of private
types. Required to allow climbing the subtree if Insert_Action is
invoked later.
2010-10-21 Robert Dewar <dewar@adacore.com>
* par-ch3.adb (P_Interface_Type_Definition): Allow for possibility of
aspect clause presence terminating the type definition.
From-SVN: r165757
In gcc/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* parser.c (c_parser_objc_method_type): Mark inline. Return a
bool instead of a tree.
(c_parser_objc_method_decl): Added bool argument. Updated call to
objc_build_method_signature.
(c_parser_objc_method_definition): Do not call
objc_set_method_type. Updated calls to c_parser_objc_method_type,
c_parser_objc_method_decl and objc_start_method_definition.
(c_parser_objc_methodproto): Do not call objc_set_method_type.
Updated calls to c_parser_objc_method_type,
c_parser_objc_method_decl and objc_add_method_declaration.
In gcc/c-family/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* c-common.h (objc_set_method_type): Removed.
(objc_add_method_declaration): Added boolean argument.
(objc_start_method_definition): Same change.
(objc_build_method_signature): Same change.
* stub-objc.c (objc_set_method_type): Removed.
(objc_add_method_declaration): Added boolean argument.
(objc_start_method_definition): Same change.
(objc_build_method_signature): Same change.
In gcc/cp/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* parser.c (cp_parser_objc_method_type): Mark inline. Return a
bool instead of calling objc_set_method_type.
(cp_parser_objc_method_signature): Updated calls to
cp_parser_objc_method_type and to objc_build_method_signature.
(cp_parser_objc_method_prototype_list): Updated calls to
objc_add_method_declaration. Use token->type to determine if it
is a class method or not.
(cp_parser_objc_method_definition_list): Same change.
In gcc/objc/:
2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.h (objc_inherit_code): Removed.
* objc-act.c (objc_inherit_code): Removed.
(objc_set_method_type): Removed.
(objc_build_method_signature): Added is_class_method argument.
Use it instead of the global objc_inherit_code variable.
(objc_add_method_declaration): Same change.
(objc_start_method_definition): Same change.
(objc_generate_cxx_ctor_or_dtor): Updated call to
objc_start_method_definition. Do not call objc_set_method_type.
(adjust_type_for_id_default): Mark as inline.
(objc_synthesize_getter): Updated call to
objc_start_method_definition. Do not set objc_inherit_code.
(objc_synthesize_setter): Updated call to
objc_start_method_definition. Do not set objc_inherit_code.
From-SVN: r165741
* config/m32c/m32c.c (m32c_option_override): Always disable
function-cse in 16-bit mode. Indirect calls are always worse than
direct calls as there is no 16-bit indirect call opcode.
(m32c_override_options_after_change): New, likewise.
From-SVN: r165737