aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-05-12[multiple changes]Arnaud Charlet21-1495/+2731
2015-05-12 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb Node32 is now used as Encapsulating_State. Node37 is now used as Associated_Entity. (Associated_Entity): New routine. (Encapsulating_State): Update the assertion guard to include constants. (Set_Associated_Entity): New routine. (Set_Encapsulating_State): Update the assertion guard to include constants. (Write_Field10_Name): Remove the output for Encapsulating_State. (Write_Field32_Name): Add output for Encapsulating_State. (Write_Field37_Name): Add output for Associated_Entity. * einfo.ads New attribute Associated_Entity along with placement in entities. Attribute Encapsulating_State now uses Node32. (Associated_Entity): New routine along with pragma Inline. (Set_Associated_Entity): New routine along with pragma Inline. * inline.ads Code reformatting. * sem_attr.adb (Analyze_Attribute): Correct the prefix of attribute 'Result when the context is a generic instantiation. (Analyze_Attribute_Old_Result): Pragmas Depends and Refined_Depends are a valid context for attribute 'Result. (Denote_Same_Function): Allow attribute 'Result to denote generic functions. * sem_ch3.adb Add with and use clauses for Sem_Ch12. (Analyze_Declarations): Capture global references within the contracts of packages, subprograms and their respective bodies. * sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): Removed. (Analyze_Completion_Contract): Removed. (Analyze_Generic_Subprogram_Body): Enchange the aspects after creating the generic copy. Create a generic contract for the template. Analyze the aspects of the generic body. Analyze the contract of the generic body when it is a compilation unit and capture global references. (Analyze_Subprogram_Body_Contract): Code cleanup. (Analyze_Subprogram_Contract): Do not save global references here. (Save_Global_References_In_List): Removed. * sem_ch7.adb (Analyze_Package_Body_Contract): Code cleanup. (Analyze_Package_Body_Helper): Create a generic contract for the template. (Analyze_Package_Contract): Code cleanup. * sem_ch10.adb Add with and use clauses for Sem_Ch12. (Analyze_Compilation_Unit): Capture global references in a generic subprogram declaration that acts as a compilation unit. * sem_ch12.adb Add with and use clauses for Sem_Prag. Illustrate the implementation of generic contracts. Alphabetize various subprograms. (Analyze_Generic_Package_Declaration): Create a generic contract for the template. (Analyze_Generic_Subprogram_Declaration): Create a generic contract for the template. (Analyze_Subprogram_Instantiation): Instantiate the contract of the subprogram. (Copy_Generic_Node): Link defining entities of the generic template with the corresponding defining entities of the generic copy. Update the processing of pragmas. (Instantiate_Contract): Removed. (Instantiate_Subprogram_Contract): New routine. (Requires_Delayed_Save): New routine. (Save_Global_References): Rename formal parameter N to Templ. Various cleanups. (Save_Global_References_In_Aspects): Moved from the spec. (Save_Global_References_In_Contract): New routine. (Save_References_In_Aggregate): New routine. (Save_References_In_Char_Lit_Or_Op_Symbol): New routine. (Save_References_In_Descendants): New routine. (Save_References_In_Identifier): New routine. (Save_References_In_Operator): New routine. (Save_References_In_Pragma): New routine. * sem_ch12.ads (Save_Global_References): Rename formal parameter N to Templ. Update the comment on usage. (Save_Global_References_In_Aspects): Moved to the body. (Save_Global_References_In_Contract): New routine. * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub): New routine. * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub): New routine. * sem_prag.adb (Add_Item_To_Name_Buffer): Add support for generic parameters. (Analyze_Contract_Cases_In_Decl_Part): Code cleanup. (Analyze_Depends_Global): New routine. (Analyze_Depends_In_Decl_Part): Code cleanup. (Analyze_Global_In_Decl_Part): Code cleanup. (Analyze_Global_Item): Constants are now valid global items. Do not perform state-related checks in an instance. Change the way renamings are handled. (Analyze_Initial_Condition_In_Decl_Part): Code cleanup. (Analyze_Initializes_In_Decl_Part): Code cleanup. (Analyze_Input_Output): The analysis of attribute 'Result in the context of pragmas Depends or Refined_Depends now reuses the existing attribute analysis machinery. Constants and generic parameters are now valid dependency items. Do not perform state-related checks in an instance. Change the way renamings are handled. (Analyze_Pragma): Add a "characteristics" section for pragmas Abstract_State, Contract_Cases, Depends, Extensions_Visible, Global, Initial_Condition, Initializes, Post, Post_Class, Postcondition, Pre, Pre_Class, Precondition, Refined_Depends, Refined_Global, Refined_Post, Refined_State, Test_Case. (Analyze_Pre_Post_Condition): Do not create a generic template here. (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup. (Analyze_Refined_Depends_Global_Post): New routine. (Analyze_Refined_Depends_In_Decl_Part): Code cleanup. (Analyze_Refined_Global_In_Decl_Part): Code cleanup. (Analyze_Refined_Pragma): Removed. (Analyze_Refined_State_In_Decl_Part): Code cleanup. (Analyze_Test_Case_In_Decl_Part): Code cleanup. (Check_Dependency_Clause): Do not perform this check in an instance. (Check_Function_Return): Add support for generic functions. (Check_In_Out_States): Do not perform this check in an instance. (Check_Input_States): Do not perform this check in an instance. (Check_Mode_Restriction_In_Function): Add support for generic functions. (Check_Output_States): Do not perform this check in an instance. (Check_Postcondition_Use_In_Inlined_Subprogram): Rename parameter Subp_Id to Spec_Id and update comment on usage. (Check_Proof_In_States): Do not perform this check in an instance. (Check_Refined_Global_Item): Add support for constants. (Check_Refined_Global_List): Do not perform this check in an instance. (Collect_Global_Items): Reimplemented. (Collect_Subprogram_Inputs_Outputs): Add support for generic parameters. (Create_Generic_Template): Removed. (Find_Related_Package_Or_Body): Moved to spec. (Find_Role): Add support for generic parameters and constants. (Get_Argument): Moved to spec. Rename parameter Spec_Id to Context_Id. (Match_Item): Add support for constants. (Preanalyze_Test_Case_Arg): Reimplemented. (Report_Extra_Clauses): Do not perform this check in an instance. (Report_Extra_Constituents): Do not perform this check in an instance. * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update the comment on usage. (Find_Related_Package_Or_Body): Moved from body. (Get_Argument): Moved from body. * sem_util.adb Add with and use clauses for Sem_Ch12. (Corresponding_Spec_Of): Add support for packages and package bodies. (Create_Generic_Contract): New routine. (Is_Contract_Annotation): Reimplemented. (Is_Generic_Declaration_Or_Body): New routine. (Is_Package_Contract_Annotation): New routine. (Is_Subprogram_Contract_Annotation): New routine. * sem_util.ads (Corresponding_Spec_Of): Update the comment on usage. (Create_Generic_Contract): New routine. (Is_Generic_Declaration_Or_Body): New routine. (Is_Package_Contract_Annotation): New routine. (Is_Subprogram_Contract_Annotation): New routine. * sinfo.adb (Is_Generic_Contract_Pragma): New routine. (Set_Is_Generic_Contract_Pragma): New routine. * sinfo.ads Add new attribute Is_Generic_Contract_Pragma along with occurrences in nodes. (Is_Generic_Contract_Pragma): New routine along with pragma Inline. (Set_Is_Generic_Contract_Pragma): New routine along with pragma Inline. * treepr.adb (Print_Entity_Info): Output fields 36 to 41. 2015-05-12 Robert Dewar <dewar@adacore.com> * a-taster.ads: Minor comment fix: fix bad header, this is a pure RM unit. From-SVN: r223064
2015-05-12sem_intr.adb: (Check_Shift): Diagnose bad modulus value.Robert Dewar4-4/+42
2015-05-12 Robert Dewar <dewar@adacore.com> * sem_intr.adb: (Check_Shift): Diagnose bad modulus value. 2015-05-12 Robert Dewar <dewar@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Default to suppressing Alignment_Checks on non-strict alignment machine. * sem_ch13.adb (Validate_Address_Clauses): Don't give compile-time alignment warnings if run time Alignment_Check is suppressed. From-SVN: r223063
2015-05-12[multiple changes]Arnaud Charlet4-10/+29
2015-05-12 Thomas Quinot <quinot@adacore.com> * g-sercom.ads, g-sercom-linux.adb (GNAT.Serial_Communications. Data_Rate): New literals B75, B110, B150, B300, B600. 2015-05-12 Doug Rupp <rupp@adacore.com> * init.c (__gnat_init_float) [vxworks]: For e500v2, do nothing and leave the responsibility to install the handler and enable the exceptions to the BSP. From-SVN: r223062
2015-05-12re PR tree-optimization/37021 (Fortran Complex reduction / multiplication ↵Richard Biener5-7/+185
not vectorized) 2015-05-12 Richard Biener <rguenther@suse.de> PR tree-optimization/37021 * tree-vectorizer.h (struct _slp_tree): Add two_operators flag. (SLP_TREE_TWO_OPERATORS): New define. * tree-vect-slp.c (vect_create_new_slp_node): Initialize SLP_TREE_TWO_OPERATORS. (vect_build_slp_tree_1): Allow two mixing plus/minus in an SLP node. (vect_build_slp_tree): Adjust. (vect_analyze_slp_cost_1): Likewise. (vect_schedule_slp_instance): Vectorize mixing plus/minus by emitting two vector stmts and mixing the results. * gcc.target/i386/vect-addsub.c: New testcase. From-SVN: r223059
2015-05-12Remove dead code in print_z_candidates.Dominik Vogt2-4/+4
2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com> * call.c (print_z_candidates): Remove dead code. From-SVN: r223057
2015-05-122827.md: Split zEC12_simple into zEC12_simple_int and zEC12_simple_fp.Andreas Krebbel3-3/+18
2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int and zEC12_simple_fp. * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12 to 1. From-SVN: r223056
2015-05-12* gcc.target/i386/pr65753.c: Use -O2 instead of -O.Alexander Monakov2-1/+5
From-SVN: r223055
2015-05-12Don't take address of ap unless necessaryTom de Vries8-38/+91
2015-05-12 Tom de Vries <tom@codesourcery.com> PR tree-optimization/66010 * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of ifn_va_arg. * gimplify.h (gimplify_va_arg_internal): Remove loc parameter. (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed va_lists are passed, and remove corresponding handling. (gimplify_va_arg_expr): Only take address of ap if necessary. Add do_deref argument to ifn_va_arg. * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of ifn_va_arg. * c-common.c (build_va_arg): Don't mark ap addressable unless necessary. * gcc.dg/tree-ssa/stdarg-2.c: Undo scan xfails for f15. From-SVN: r223054
2015-05-12sem_ch9.adb, [...]: Minor reformatting.Robert Dewar9-25/+75
2015-05-12 Robert Dewar <dewar@adacore.com> * sem_ch9.adb, einfo.ads, exp_intr.adb: Minor reformatting. * sem_disp.adb: Minor code reorganization (remove junk redundant null statement). * exp_unst.adb (Unnest_Subprogram.Uplev_Refs): Ignore uplevel references to bounds of types coming from original type reference. * checks.ads: Minor reformatting. * checks.adb: Minor reformatting. * sem_prag.adb (Analyze_Pragma, case Check): If in ignored assertion, then make sure we do not drag in bignum stuff. From-SVN: r223053
2015-05-12sem_ch9.adb (Collect_Interfaces): Initialize Direct_Primitive_Operations for ↵Ed Schonberg4-4/+36
a tagged synchronized type... 2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch9.adb (Collect_Interfaces): Initialize Direct_Primitive_Operations for a tagged synchronized type, so it can used in ASIS mode. * sem_disp.adb (Check_Dispatching_Operation): If expansion is disabled, attach subprogram to list of Direct_Primitive_Operations of synchronized type itself, for ASIS use, because in this case Corresponding_Record_Type is not built. * einfo.ads: Indicate use of Direct_Primitive_Operations on synchronized type. From-SVN: r223051
2015-05-12[multiple changes]Arnaud Charlet11-28/+58
2015-05-12 Pierre-Marie de Rodat <derodat@adacore.com> * exp_pakd.adb: Make clearer the comment in exp_pakd.adb about ___XP suffixes. 2015-05-12 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, sem_util.adb, sem_ch6.adb: Minor reformatting. 2015-05-12 Robert Dewar <dewar@adacore.com> * exp_unst.adb (Visit_Node): Deal with subprogram and package stubs. 2015-05-12 Ed Schonberg <schonberg@adacore.com> * exp_intr.adb (Expand_Dispatching_Constructor_Call): The tag to be retrieved for the generated call is the first entry in the dispatch table for the return type of the instantiated constructor. 2015-05-12 Bob Duff <duff@adacore.com> * exp_ch7.adb, exp_ch7.ads, exp_intr.adb, exp_util.adb, exp_util.ads: Update comments. From-SVN: r223050
2015-05-12[ARM] Fix PR 65955: Do not take REGNO on non-REG operand in movcond_addsiKyrylo Tkachov2-1/+7
PR target/65955 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a REG before taking its REGNO. From-SVN: r223049
2015-05-12[multiple changes]Arnaud Charlet7-197/+305
2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Add_Internal_Interface_Entities): Do no generate freeze nodes for these in ASIS mode, because they lead to elaoration order issues in gigi. 2015-05-12 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch6.adb (Analyze_Expression_Function): Code cleanup. Use Copy_Subprogram_Spec to create a proper spec. (Analyze_Subprogram_Body_Helper): Code cleanup. Do not prepare a stand alone body for inlining in GNATprove mode when inside a generic. (Body_Has_Contract): Reimplemented. (Build_Subprogram_Declaration): New routine. * sem_ch10.adb (Analyze_Compilation_Unit): Capture global references within generic bodies by loading them. * sem_util.adb (Copy_Parameter_List): Code cleanup. (Copy_Subprogram_Spec): New routine. (Is_Contract_Annotation): New routine. * sem_util.ads (Copy_Subprogram_Spec): New routine. (Is_Contract_Annotation): New routine. 2015-05-12 Hristian Kirtchev <kirtchev@adacore.com> * sem_attr.adb (Resolve_Attribute): Do not analyze the generated body of an expression function when the prefix of attribute 'Access is the body. From-SVN: r223048
2015-05-12re PR c++/65133 ([C++11] Result type deduction proceeds even though argument ↵Paolo Carlini2-0/+38
deduction fails) 2015-05-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/65133 * g++.dg/cpp0x/trailing10.C: New. From-SVN: r223047
2015-05-12[multiple changes]Arnaud Charlet5-7/+46
2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Build_Derived_Enumeration_Type): The anonymous base created for a derived enumeration type is not a first subtype, even though it is defined through a full type declaration. * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not process aspects for the anonymous base type constructed for a derived scalar type, because they will be set when the first subtype is frozen. (Inherit_Aspects_At_Freeze_Point): Fix typos on handling of Default_Value and Default_Component_Value, that prevented the proper inheritance of these aspects. 2015-05-12 Gary Dismukes <dismukes@adacore.com> * exp_ch6.adb, exp_unst.adb: Minor typo fixes. From-SVN: r223045
2015-05-12[multiple changes]Arnaud Charlet14-881/+1197
2015-05-12 Robert Dewar <dewar@adacore.com> * sem_ch3.adb: Minor reformatting. 2015-05-12 Vincent Celier <celier@adacore.com> * gnatcmd.adb: If we want to invoke gnatmake (gnatclean) with -P, then check if gprbuild (gprclean) is available; if it is, use gprbuild (gprclean) instead of gnatmake (gnatclean). 2015-05-12 Robert Dewar <dewar@adacore.com> * debug.adb: Add flag -gnatd.3 to output diagnostic info from Exp_Unst. * einfo.ad, einfo.adb: Reorganize (and remove most of) flags used by Exp_Unst. * exp_ch6.adb (Unest_Bodies): Table for delayed calls to Unnest_Subprogram (Expand_N_Subprogram_Body): Add entry to table for later call instead of calling Unnest_Subprogram directly (Initialize): New procedure (Unnest_Subprograms): New procedure * exp_ch6.ads (Add_Extra_Actual_To_Call): Move into proper alpha order. (Initialize): New procedure. (Unnest_Subprograms): New procedure. * exp_unst.adb (Unnest_Subprogram): Major rewrite, moving all processing to this routine which is now called late after instantiating bodies. Fully handles the case of generic instantiations now. * exp_unst.ads: Major rewrite, moving all processing to Unnest_Subprogram. * frontend.adb (Frontend): Add call to Exp_Ch6.Initialize. (Frontend): Add call to Unnest_Subprograms. * sem_ch8.adb (Find_Direct_Name): Back to old calling sequence for Check_Nested_Access. * sem_util.adb (Build_Default_Subtype): Minor reformatting (Check_Nested_Access): Back to original VM-only form (we now do all the processing for Unnest_Subprogram at the time it is called. (Denotes_Same_Object): Minor reformatting (Note_Possible_Modification): Old calling sequence for Check_Nested_Access. * sem_util.ads (Check_Nested_Access): Back to original VM-only form (we now do all the processing for Unnest_Subprogram at the time it is called. From-SVN: r223043
2015-05-12sem_ch3.adb, [...]: Minor reformatting.Robert Dewar4-54/+56
2015-05-12 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, freeze.adb, sem_ch6.adb: Minor reformatting. From-SVN: r223042
2015-05-12sem_ch3.adb (Analyze_Object_Declaration): New function Has_Delayed_Aspect...Ed Schonberg4-172/+275
2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): New function Has_Delayed_Aspect, used to defer resolution of an aggregate expression when the object declaration carries aspects Address and/or Alignment. * freeze.adb (Freeze_Object_Declaration): New subsidiary procedure to Freeze_Entity. In addition to the previous processing steps at the freeze point of an object, this procedure also handles aggregates in object declarations, when the declaration carries delayed aspects that require that the initialization of the object be attached to its freeze actions. 2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Declaration): Following AI12-0147, null procedures and expression functions are allowed in protected bodies. From-SVN: r223041
2015-05-12[multiple changes]Arnaud Charlet5-11/+54
2015-05-12 Tristan Gingold <gingold@adacore.com> * i-cpoint.adb (Copy_Terminated_Array): Copy nothing if Length is 0. 2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Complete_Private_Subtype): Propagate Has_Delayed_Aspects flag from private to full view, to ensure that predicate functions are constructed. 2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Process_Formals): If a tagged formal is an incomplete class-wide type, the subprogram must have a delayed freeze even though the opertation is not a primitive of the type. THis ensures that the backend can recover the full view when elaborating the subprogram declaration. 2015-05-12 Ed Schonberg <schonberg@adacore.com> * exp_util.adb (Get_Current_Value_Condition): Nothing to be done if an elsif part has been rewritten so that it is not part of an enclosing if_statement. From-SVN: r223040
2015-05-12[multiple changes]Arnaud Charlet10-30/+88
2015-05-12 Robert Dewar <dewar@adacore.com> * sem_type.adb, sem_ch10.adb, freeze.adb, sem_ch6.adb, exp_disp.adb: Minor reformatting. 2015-05-12 Bob Duff <duff@adacore.com> * exp_attr.adb (Size): Remove unnecessary check for types with unknown discriminants. That was causing the compiler to build a function call _size(T), where T is a type, not an object. 2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Extended_Primitive_Ops): Exclude overriding primitive operations of a type extension declared in the package body, to prevent duplicates in extended list. 2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Component_Declaration): If the component is an unconstrained synchronized type with discriminants, create a constrained default subtype for it, so that the enclosing record can be given the proper size. * sem_util.adb (Build_Default_Subtype): If the subtype is created for a record discriminant, do not analyze the declarztion at once because it is added to the freezing actions of the enclosing record type. From-SVN: r223039
2015-05-12[multiple changes]Arnaud Charlet22-178/+205
2015-05-12 Robert Dewar <dewar@adacore.com> * exp_prag.adb (Expand_N_Pragma): Rewrite ignored pragma as Null statements. * namet.ads (Boolean3): Document this flag used for Ignore_Pragma. * par-prag.adb (Prag): Implement Ignore_Pragma. * sem_prag.adb: Implement Ignore_Pragma. * snames.ads-tmpl: Add entries for pragma Ignore_Pragma. 2015-05-12 Javier Miranda <miranda@adacore.com> * sem_ch10.adb (Build_Shadow_Entity): Link the class-wide shadow entity with its corresponding real entity. (Decorate_Type): Unconditionally build the class-wide shadow entity of tagged types. * einfo.ads, einfo.adb (Has_Non_Limited_View): New synthesized attribute. (Non_Limited_View): Moved from field 17 to field 19 be available in class-wide entities. * exp_attr.adb (Access_Cases): Code cleanup. * exp_disp.adb (Expand_Interface_Actuals): Ditto. * exp_util.adb (Non_Limited_Designated_Type): Ditto. * freeze.adb (Build_Renamed_Bdody): Ditto. * sem_aux.adb (Available_View): Ditto. * sem_ch4.adb (Analyze_Selected_Component): Ditto. (Try_One_Prefix_Interpretation): Ditto. * sem_ch5.adb (Analyze_Assignment): Ditto. * sem_ch6.adb (Detect_And_Exchange): Ditto. * sem_ch8.adb (Find_Expanded_Name): Ditto. * sem_disp.adb (Check_Controlling_Type): Ditto. * sem_res.adb (Resolve_Type_Conversion): Ditto. (Full_Designated_Type): Ditto. * sem_type.adb (Covers): Ditto. * sem_util.adb: Fix typo in comment. From-SVN: r223038
2015-05-12Minor reformatting.Arnaud Charlet1-5/+5
From-SVN: r223037
2015-05-12[multiple changes]Arnaud Charlet4-35/+182
2015-05-12 Robert Dewar <dewar@adacore.com> * exp_unst.adb (Get_Real_Subp): New subprogram. (Unnest_Subprogram): Use Get_Real_Subp. (Uplev_Refs_For_One_Subp): Skip if no ARECnU entity. (Uplev_Refs_For_One_Subp): Use actual subtype in unconstrained case. 2015-05-12 Robert Dewar <dewar@adacore.com> * a-reatim.adb ("/"): Add explicit check for Time_Span_First / -1. 2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Extended_Primitive_Ops): New subprogram, auxiliary to Try_Primitive_Operation to handle properly prefixed calls where the operation is not a primitive of the type, but is declared in the package body that is in the immediate scope of the type. From-SVN: r223036
2015-05-12[multiple changes]Arnaud Charlet6-52/+105
2015-05-12 Robert Dewar <dewar@adacore.com> * sem_util.adb (Is_Variable): Allow X'Deref(Y) as a variable. 2015-05-12 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Find_Expanded_Name): Handle properly a fully qualified name for an instance of a generic grand-child unit in the body its parent. 2015-05-12 Robert Dewar <dewar@adacore.com> * exp_unst.adb (Upref_Name): New subprogram. (Unnest_Subprogram): Use Upref_Name. (Unnest_Subprogram): Use new Deref attribute. * exp_unst.ads: Doc updates. 2015-05-12 Thomas Quinot <quinot@adacore.com> * adaint.c: Enable Large File Support in adaint so that __gnat_readdir can access files on filesystems mounted from servers that use large NFS file handles. From-SVN: r223035
2015-05-12combine.c i (set_nonzero_bits_and_sign_copies): Split code updating ↵Thomas Preud'homme2-16/+54
rsp->sign_bit_copies and rsp->nonzero_bits into ... 2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com> * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating rsp->sign_bit_copies and rsp->nonzero_bits into ... (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if present to get more accurate information about the number of sign bit copies and non zero bits. From-SVN: r223034
2015-05-12tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization do not allow ↵Richard Biener4-0/+35
unrolling. 2015-05-12 Richard Biener <rguenther@suse.de> * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization do not allow unrolling. * gcc.dg/vect/bb-slp-35.c: New testcase. From-SVN: r223033
2015-05-12re PR fortran/66041 (Matmul ICE)Thomas Koenig3-0/+15
2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66041 PR fortran/37131 * gfortran.h (gfc_array_spec): Add field resolved. * array.c (gfc_resolve_array_spec): Resolve array spec only once. From-SVN: r223031
2015-05-12Daily bump.GCC Administrator1-1/+1
From-SVN: r223030
2015-05-11i386: Add CCPmodeRichard Henderson3-8/+19
For testing parity coming out of asm flags. From-SVN: r223026
2015-05-11Convert to md_asm_adjustRichard Henderson17-449/+445
Using proper vectors instead of lists of trees. From-SVN: r223025
2015-05-11Canonicalize asm volatility earlierRichard Henderson3-9/+8
If gimple_asm_volatile_p is correct, no point re-checking. This is also done by the C and C++ front ends, but not Ada. So we can't yet trust ASM_VOLATILE_P from the front end. From-SVN: r223024
2015-05-11Merge expand_asm_operands into expand_asm_stmtRichard Henderson2-95/+75
Prepatory to converting from tree chains to vectors. From-SVN: r223023
2015-05-11Only resolve_asm_operand_names onceRichard Henderson3-5/+10
We do it in the front end already; no need to repeat. From-SVN: r223022
2015-05-11class.c (fixup_type_variants): Do not copy TYPE_METHODSJan Hubicka9-28/+66
* class.c (fixup_type_variants): Do not copy TYPE_METHODS (one_inheriting_sig): Assert tat we always set TYPE_METHODS of main variant. * semantics.c (finish_member_declaration): Likewise. * method.c (lazily_declare_fn): Allways add method to main variant list. * dwarf2out.c (gen_member_die): Sanity check that we access TYPE_MAIN_VARIANT for TYPE_METHODS. * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when checking TYPE_METHODS. * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node if non-null. (build_distinct_type_copy): Clear TYPE_METHODS. (verify_type_variant): Verify that TYPE_METHODS is NULL for variants. (verify_type): Allow TYPE_METHODS to be error_mark_node. * tree.def: Update docs of YTPE_STUB_DECL and TYPE_METHODS. From-SVN: r223021
2015-05-11emit-rtl.c (emit_pattern_after_setloc): Add missing guard.Eric Botcazou2-2/+11
* emit-rtl.c (emit_pattern_after_setloc): Add missing guard. (emit_pattern_before_setloc): Likewise. From-SVN: r223020
2015-05-11Fix fortran/66100 bound simplification ICEMikael Morin4-2/+39
PR fortran/66100 gcc/fortran/ * simplify.c (simplify_bound): Fix assert to accept subobject * arrays. gcc/testsuite/ * gfortran.dg/bound_simplification_6.f90: New. From-SVN: r223019
2015-05-11* sv.po: Update.Joseph Myers2-397/+209
From-SVN: r223016
2015-05-11genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE for ↵Richard Sandiford2-19/+49
define_peephole2s. gcc/ * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE for define_peephole2s. (get_peephole2_pattern): New function. (main): Use it. Call validate_pattern. From-SVN: r223015
2015-05-11* MAINTAINERS (Write After Approval): Add myself.Paulo Matos2-0/+5
From-SVN: r223012
2015-05-11configure.ac: Fix typo.Paulo Matos3-4/+9
* configure.ac: Fix typo. * configure: Regenerate. From-SVN: r223011
2015-05-11* gcc.target/mips/branch-1.c: Pass argument to bar().Steve Ellcey2-5/+9
From-SVN: r223010
2015-05-11avr.c (avr_hard_regno_call_part_clobbered): Use LAST_CALLEE_SAVED_REG ↵Pitchumani Sivanupandi2-2/+9
instead of hard-coded register number. * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use LAST_CALLEE_SAVED_REG instead of hard-coded register number. (Last callee saved reg is different for AVR_TINY architecture) From-SVN: r223009
2015-05-11i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn) when looking for memory ↵Uros Bizjak2-4/+9
references. * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn) when looking for memory references. From-SVN: r223008
2015-05-11runtime: Fix runtime/pprof test when libgo is not optimized.Ian Lance Taylor1-3/+3
When libgo is not optimized the static function profilealloc in malloc.goc shows up in the stack trace. Rename it to runtime_profilealloc so that runtime/pprof.printStackRecord ignores it. From-SVN: r223006
2015-05-11re PR target/65753 ([i386] Incorrect tail call inhibition logic on i386 ↵Alexander Monakov4-3/+22
(32-bit)) PR target/65753 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls via function pointers. testsuite: * gcc.target/i386/pr65753.c: New test. From-SVN: r223005
2015-05-11calls.c (prepare_call_address): Transform PLT call to GOT lookup and ↵Alexander Monakov4-1/+29
indirect call by forcing address into a... * calls.c (prepare_call_address): Transform PLT call to GOT lookup and indirect call by forcing address into a pseudo with -fno-plt. * common.opt (flag_plt): New option. * doc/invoke.texi (Code Generation Options): Add -fno-plt. ([-fno-plt]): Document. From-SVN: r223003
2015-05-11re PR bootstrap/66105 (genpreds.c compile error in stage2 on powerpc64-linux)Markus Trippelsdorf2-2/+8
Fix PR66105 2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de> PR bootstrap/66105 * config/rs6000/option-defaults.h: Add space between string literal and macro name. From-SVN: r223002
2015-05-11pr64616.c: Test dump rather than assembly to work accross ARM targets.Thomas Preud'homme2-2/+8
2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * gcc.target/arm/pr64616.c: Test dump rather than assembly to work accross ARM targets. From-SVN: r223001
2015-05-11arm-protos.h (thumb_code, [...]): Remove.Christian Bruel3-7/+6
2015-05-11 Christian Bruel <christian.bruel@st.com> * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove. * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB. From-SVN: r223000
2015-05-11re PR rtl-optimization/66076 (ICE: in vec_safe_grow, at vec.h:618 with ↵Richard Sandiford4-1/+27
-funroll-loops -mno-prefer-avx128 -march=bdver4) gcc/ PR rtl-optimization/66076 * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue): Don't grow the heap array if it is already big enough from a previous iteration. gcc/testsuite/ PR rtl-optimization/66076 * gcc.dg/torture/pr66076.c: New test. From-SVN: r222999