summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>charlet2016-04-219-89/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch3.adb: Code cleanup. * sem_ch6.adb: Code cleanup. (Is_Matching_Limited_View): New routine. (Matches_Limited_With_View): Reimplemented. * sem_ch10.adb (Decorate_Type): Code cleanup. 2016-04-21 Doug Rupp <rupp@adacore.com> * tracebak.c (PPC ELF): Add macro defs for lynxos178e. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Try_Container_Indexing): If there are overloaded indexing functions, collect all overloadings of the call firts, and then transfer them to indexing node, to prevent interleaving of the set of interpretations of the nodes involved. * sem_res.adb (Resolve): Suppress cascaded errors that report ambiguities when one of the actuals in an overloaded generatlized indexing operation is illegal and has type Any_Type, as is done for similar cascaded errors in subprogram calls. (Valid_Tagged_Conversion): Cleanup conversion checks when one of the types involved is a class-wide subtype. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Load_Parent_Of_Generic): When looking for the subprogram declaration within a wrapper package, skip pragmas that may have been generated by aspect specifications on the generic instance. 2016-04-21 Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Component_Not_OK_For_Backend): Generating C code return True for array identifiers since the backend needs to initialize such component by means of memcpy(). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235330 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Arnaud Charlet <charlet@adacore.com>charlet2016-04-214-8/+23
| | | | | | | | | | * a-tasatt.adb, a-tasatt.ads (Fast_Path): Rewritten to avoid reading potentially uninitialized memory. * sem_ch3.adb: Minor style fix in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235329 138bc75d-0d04-0410-961f-82ee72b054a4
* * gnat_rm.texi, gnat_ugn.texi,charlet2016-04-2114-919/+1130
| | | | | | | | | | | | | | | | | | doc/gnat_ugn/gnat_project_manager.rst, doc/gnat_ugn/building_executable_programs_with_gnat.rst, doc/gnat_ugn/gnat_and_program_execution.rst, doc/gnat_ugn/gnat_utility_programs.rst, doc/gnat_ugn/the_gnat_compilation_model.rst, doc/gnat_rm/implementation_defined_attributes.rst, doc/gnat_rm/standard_and_implementation_defined_restrictions.rst, doc/gnat_rm/implementation_defined_pragmas.rst, doc/gnat_rm/the_gnat_library.rst, doc/gnat_rm/implementation_defined_aspects.rst: Update doc. * doc/Makefile: Cleanups. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235328 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>charlet2016-04-215-45/+98
| | | | | | | | | | | | | | * exp_pakd.adb, sem_ch13.adb: Minor reformatting. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * exp_dbug.adb, exp_dbug.ads (Qualify_Entity_Name): Add suffixes to disambiguate local variables that may be hidden from inner visibility by nested block declarations or loop variables. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235327 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Jerome Lambourg <lambourg@adacore.com>charlet2016-04-2116-323/+629
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-soflin.adb: Initialize the Stack_Limit global variable. 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com> * lib-writ.adb: Minor reformatting. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * exp_pakd.adb (Compute_Number_Components): New function to build an expression that computes the number of a components of an array that may be multidimensional. (Expan_Packed_Eq): Use it. 2016-04-21 Arnaud Charlet <charlet@adacore.com> * g-traceb.ads: Update list of supported platforms. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Add_Predicates): if the type is declared in an inner package it may be frozen outside of the package, and the generated pragma has not been analyzed yet, the expression for the predicate must be captured and added to the predicate function at this point. 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com> * contracts.adb (Analyze_Package_Body_Contract): Do not check for a missing package refinement because 1) packages do not have "refinement" and 2) the check for proper state refinement is performed in a different place. * einfo.adb (Has_Non_Null_Visible_Refinement): Reimplemented. (Has_Null_Visible_Refinement): Reimplemented. * sem_ch3.adb (Analyze_Declarations): Determine whether all abstract states have received a refinement and if not, emit errors. * sem_ch7.adb (Analyze_Package_Declaration): Code cleanup. Determine whether all abstract states of the package and any nested packages have received a refinement and if not, emit errors. (Requires_Completion_In_Body): Add new formal parameter Do_Abstract_States. Update the comment on usage. Propagate the Do_Abstract_States flag to all Unit_Requires_Body calls. (Unit_Requires_Body): Remove formal parameter Ignore_Abstract_States. Add new formal paramter Do_Abstract_States. Propagate the Do_Abstract_States flag to all Requires_Completion_In calls. * sem_ch7.ads (Unit_Requires_Body): Remove formal parameter Ignore_Abstract_States. Add new formal paramter Do_Abstract_States. Update the comment on usage. * sem_ch9.adb (Analyze_Single_Protected_Declaration): Do not initialize the constituent list as this is now done on a need-to-add-element basis. (Analyze_Single_Task_Declaration): Do not initialize the constituent list as this is now done on a need-to-add-element basis. * sem_ch10.adb (Decorate_State): Do not initialize the constituent lists as this is now done on a need-to-add-element basis. * sem_prag.adb (Analyze_Constituent): Set the refinement constituents when adding a new element. (Analyze_Part_Of_In_Decl_Part): Set the Part_Of constituents when adding a new element. (Analyze_Part_Of_Option): Set the Part_Of constituents when adding a new element. (Analyze_Pragma): Set the Part_Of constituents when adding a new element. (Check_Constituent_Usage (all versions)): Reimplemented. (Collect_Constituent): Set the refinement constituents when adding a new element. (Create_Abstract_State): Do not initialize the constituent lists as this is now done on a need-to-add-element basis. (Propagate_Part_Of): Set the Part_Of constituents when adding a new element. * sem_util.adb (Check_State_Refinements): New routine. (Has_Non_Null_Refinement): Reimplemented. (Has_Null_Refinement): Reimplemented. (Requires_State_Refinement): Removed. * sem_util.ads (Check_State_Refinements): New routine. (Requires_State_Refinement): Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235326 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>charlet2016-04-214-13/+24
| | | | | | | | | * lib-writ.adb, sem_ch6.adb: Minor reformatting and code cleanup. * sem.adb: Fix comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235325 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Ed Schonberg <schonberg@adacore.com>charlet2016-04-216-47/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype declaration with no aspects, whose subtype_mark is a subtype with predicates, inherits the list of subprograms for the type. 2016-04-21 Arnaud Charlet <charlet@adacore.com> * exp_aggr.adb (Has_Per_Object_Constraint): Refine previous change. 2016-04-21 Thomas Quinot <quinot@adacore.com> * g-socket.adb (Raise_Host_Error): Include additional Name parameter. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * lib-writ.adb (Write_ALI): Do not record in ali file units that are present in the files table but not analyzed. These units are present because they appear in the context of units named in limited_with clauses, and the unit being compiled does not depend semantically on them. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Simplify code to create the procedure body for an function returning an array type, when generating C code. Reuse the subprogram body rather than creating a new one, both as an efficiency measure and because in an instance the body may contain global references that must be preserved. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235324 138bc75d-0d04-0410-961f-82ee72b054a4
* max(INT_MIN, x) -> xglisse2016-04-214-8/+35
| | | | | | | | | | | | | 2016-04-21 Marc Glisse <marc.glisse@inria.fr> gcc/ * match.pd (min(int_max, x), max(int_min, x)): New transformations. gcc/testsuite/ * gcc.dg/tree-ssa/minmax-1.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235323 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>charlet2016-04-215-6/+14
| | | | | | | | | * sem_ch3.adb, exp_attr.adb, exp_ch6.adb, exp_aggr.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235322 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Javier Miranda <miranda@adacore.com>charlet2016-04-212-1/+35
| | | | | | | | | | | * exp_aggr.adb (Component_Check): Extend the check that verifies that the aggregate has no function calls to handle transformations performed by the frontend. (Ultimate_Original_Expression): New subprogram. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235321 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Philippe Gil <gil@adacore.com>charlet2016-04-213-2/+17
| | | | | | | | | | | | | * krunch.adb (Krunch): Fix krunching of i-java. 2016-04-21 Arnaud Charlet <charlet@adacore.com> * exp_ch8.adb (Evaluation_Required): Always return True when Modify_Tree_For_C. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235320 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-inline.c (can_inline_edge_p): Pass caller info tohubicka2016-04-212-4/+13
| | | | | | | | | | ultiimate_alias_target. (update_callee_keys): Likewise. (lookup_recursive_calls): Likewise. (speculation_useful_p): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235319 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ipa/70018hubicka2016-04-216-19/+110
| | | | | | | | | | | | | | | | | * cgraph.c (cgraph_set_nothrow_flag_1): Rename to ... (set_nothrow_flag_1): ... this; handle interposition correctly; recurse on aliases and thunks. (cgraph_node::set_nothrow_flag): New. * ipa-pure-const.c (ignore_edge_for_nothrow): Ignore calls to functions compiled with non-call exceptions that binds to current def. (propagate_nothrow): Be safe WRT interposition. * cgraph.h (set_nothrow_flag): Update prototype. * g++.dg/ipa/nothrow-1.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235318 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Eric Botcazou <ebotcazou@adacore.com>charlet2016-04-218-18/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnatlink.adb (Gnatlink): Robustify detection of Windows target. * alloc.ads: Minor comment fixes. * einfo.ads: Fix typo. 2016-04-21 Arnaud Charlet <charlet@adacore.com> * exp_aggr.adb (Component_Not_OK_For_Backend): Redo previous changes to handle all cases of components depending on the discriminant, not just string literals. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Subtype_Declaration): If the subtype declaration is the generated declaration for a generic actual, inherit predicates from the actual if it is a predicated subtype. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Rewrite_Function_Call_For_C): If the function is inherited and its result is controlling, introduce a conversion on the actual for the corresponding procedure call, to avoid spurious type errors. 2016-04-21 Jerome Lambourg <lambourg@adacore.com> * krunch.adb (Krunch): Fix krunching of i-vxworks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235317 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Gary Dismukes <dismukes@adacore.com>charlet2016-04-213-53/+67
| | | | | | | | | | | | | | * exp_aggr.adb: Minor reformatting and code cleanup. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Resolve_Name): Omit quantified expressions from resolution, because they introduce local names. Full resolution will take place when predicate function is constructed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235316 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use alsohubicka2016-04-212-0/+10
| | | | | | | | max_loop_iterations_int. (tree_unswitch_outer_loop): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235315 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Arnaud Charlet <charlet@adacore.com>charlet2016-04-213-7/+15
| | | | | | | | | | | * exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous change to take into account Per_Object_Constraint field rather than special casing strings. * exp_ch6.adb: Fix typo in Replace_Returns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235314 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>charlet2016-04-217-31/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch5.adb: Minor reformatting. 2016-04-21 Eric Botcazou <ebotcazou@adacore.com> * exp_ch2.adb (Expand_Current_Value): Make an appropriate character literal if the entity is of a character type. 2016-04-21 Arnaud Charlet <charlet@adacore.com> * exp_aggr.adb (Backend_Processing_Possible): Return False when generating C and aggregate contains function calls. 2016-04-21 Tristan Gingold <gingold@adacore.com> * krunch.adb (Krunch): Only partially krunch children of Interfaces that aren't known. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Make_Inline): Handle properly the instantiation of a generic subpprogram that carries an Inline aspect. Place inline info on the anonymous subprogram that is constructed in the wrapper package. (Analyze_Pragma, case Pure): Do not check placement if pragma appears within an instantiation, which can be nested at any level. * sem_ch12.adb (Analyze_Instance_And_Renamings): Do not copy Freeze node from anonymous subprogram to its visible renaming. The freeze node will be constructed if the subprogram carries delayed aspects. (Set_Global): Preserve dimension information if present (from code reading). 2016-04-21 Vasiliy Fofanov <fofanov@adacore.com> * gnatlink.adb: Change wording of the warning message on problematic filenames to be more neutral. Add a new substring "patch" introduced on Windows 10. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235313 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Philippe Gil <gil@adacore.com>charlet2016-04-2112-103/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tracebak.c (__gnat_backtrace): handle bad RIP values (win64 only) 2016-04-21 Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Component_Not_OK_For_Backend): Return true for string literals. 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Has_Non_Null_Abstract_State): New routine. * einfo.ads New synthesized attribute Has_Non_Null_Abstract_State along with occurrences in entities. (Has_Non_Null_Abstract_State): New routine. * sem_ch7.adb (Unit_Requires_Body): Add local variable Requires_Body. A package declaring an abstract state requires a body only when the state is non-null and the package contains at least one other construct that requires completion in a body. * sem_util.adb (Mode_Is_Off): Removed. (Requires_State_Refinement): Remove an obsolete check. Code cleanup. 2016-04-21 Bob Duff <duff@adacore.com> * sem_attr.adb (Analyze_Attribute): In processing the 'Old attribute, a warning is given for infinite recursion. Fix the code to not crash when the prefix of 'Old denotes a protected function. * sem_ch5.adb (Analyze_Iterator_Specification): Avoid calling Is_Dependent_Component_Of_Mutable_Object in cases where the parameter would not be an object. 2016-04-21 Eric Botcazou <ebotcazou@adacore.com> * sem_eval.adb (Compile_Time_Compare): Be prepared for an empty Etype or Underlying_Type of the operands. 2016-04-21 Eric Botcazou <ebotcazou@adacore.com> * atree.adb (Print_Statistics): Protect against overflows and print the memory consumption in bytes. * table.adb (Reallocate): Do the intermediate calculation of the new size using the Memory.size_t type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235312 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Gary Dismukes <dismukes@adacore.com>charlet2016-04-214-16/+55
| | | | | | | | | | | | | | | | | | | | | * exp_attr.adb (Is_Inline_Floating_Point_Attribute): Suppress expansion of Attribute_Machine and Attribute_Model for AAMP. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * freeze.adb: Disable previous change for now. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Find_Selected_Component): If prefix has an access type and designated type is a limited view, introduce an explicit dereference before continuing the analysis, and set its type to the non-limited view of the designated type, if we are in context where it is available. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235311 138bc75d-0d04-0410-961f-82ee72b054a4
* Minor reformatting.charlet2016-04-212-14/+13
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235310 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Ed Schonberg <schonberg@adacore.com>charlet2016-04-212-15/+24
| | | | | | | | * freeze.adb: Freeze profile in ASIS mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235309 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>charlet2016-04-219-61/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_aux.ads, sem_aux.adb (Has_Rep_Item): New variant. * sem_util.adb (Inherit_Rep_Item_Chain): Reimplemented. 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb: Minor reformatting. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: Minor comment update. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * freeze.ads, freeze.adb (Freeze_Entity, Freeze_Before): Add boolean parameter to determine whether freezing an overloadable entity freezes its profile as well. This is required by AI05-019. The call to Freeze_Profile within Freeze_Entity is conditioned by the value of this flag, whose default is True. * sem_attr.adb (Resolve_Attribute, case 'Access): The attribute reference freezes the prefix, but it the prefix is a subprogram it does not freeze its profile. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235308 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Javier Miranda <miranda@adacore.com>charlet2016-04-214-11/+38
| | | | | | | | | | | | | | | | | | * exp_util.adb (Build_Procedure_Form): No action needed for subprogram renamings since the backend can generate the call using the renamed subprogram. This leaves the tree more clean to the backend. * exp_ch6.adb (Expand_Call): Extend previous patch for rewritten-for-c entities to handle subprogram renamings. (Rewrite_Function_Call_For_C): Handle subprogram renamings. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: Code cleanup. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235307 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Ed Schonberg <schonberg@adacore.com>charlet2016-04-214-4/+61
| | | | | | | | | | | | | | | | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is created for SPARK_To_C, the entity must remain invisible so it does not overload subsequent references to the original function. * exp_ch6.adb (Build_Procedure_Body_Form, Replace_Returns): Handle Extended_Return_Statements by replacing it with a block with assignments and a simple return statement. * exp_util.adb (Build_Procedure_Form): Make procedure entity invisible after analyzing declaration, to prevent improper overloading. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235306 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Javier Miranda <miranda@adacore.com>charlet2016-04-214-3/+121
| | | | | | | | | | | | | | | | | | | * sem_ch6.adb (Build_Subprogram_Declaration): Propagate the attribute Rewritten_For_C to the body since since the expander may generate calls using that entity. * exp_ch6.adb (Expand_Call): For internally generated calls ensure that they reference the entity of the spec of the called function. (Rewritten_For_C_Func_Id): New subprogram. (Rewritten_For_C_Proc_Id): New subprogram. (Rewrite_Function_Call_For_C): Invoke the new subprogram to ensure that we skip freezing entities. * exp_util.adb (Build_Procedure_Form): No action needed if the procedure was already built. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235305 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>charlet2016-04-2113-80/+148
| | | | | | | | | | | | | | | | | | | | | | | | * sem_ch3.adb, exp_util.adb, sem_ch13.adb, exp_unst.adb: Minor reformatting. 2016-04-21 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Denotes_Iterator): Use root type to determine whether the ultimate ancestor is the predefined iterator interface pakage. * exp_ch5.adb (Expand_Iterator_Over_Container): simplify code and avoid reuse of Pack local variable. 2016-04-21 Olivier Hainque <hainque@adacore.com> * system-vxworks-arm.ads, system-vxworks-sparcv9.ads, system-vxworks-ppc.ads, system-vxworks-m68k.ads, system-vxworks-mips.ads, system-vxworks-x86.ads: Define Executable_Extension to ".out". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235304 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Javier Miranda <miranda@adacore.com>charlet2016-04-217-73/+97
| | | | | | | | | | | | | | * frontend.adb: Update call to Unnest_Subprograms. * exp_ch6.ads, exp_ch6.adb, exp_unst.ads, exp_unst.adb (Unnest_Subprograms): Moved to package exp_unst. * exp_unst.ads (Unnest_Subprogram): Moved to the body of the package. * exp_dbug.adb (Qualify_Entity_Name): Enable qualification of enumeration literals when generating C code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235303 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-21 Javier Miranda <miranda@adacore.com>charlet2016-04-217-126/+86
| | | | | | | | | | | | | | | | | | | | | | * frontend.adb: Remove call to initialize Exp_Ch6. * exp_ch6.ads, exp_ch6.adb (Initialize): removed. (Unest_Entry/Unest_Bodies): Removed. (Unnest_Subprograms): Code cleanup. 2016-04-21 Arnaud Charlet <charlet@adacore.com> * set_targ.adb (Read_Target_Dependent_Values): close target description file once its contents is read. * s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File and Stderr_File): Close local file descriptors before spawning child process. * exp_util.adb (Containing_Package_With_Ext_Axioms): Limit scope of local variables to make the code easier to understand and avoid duplicated calls to Parent and Generic_Parent. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235302 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2016-04-211-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235301 138bc75d-0d04-0410-961f-82ee72b054a4
* cp/nathan2016-04-205-15/+113
| | | | | | | | | | | | | | | PR c++/55635 * init.c (build_vec_delete_1): Protect operator delete call in try finally. (build_delete): Likewise. * optimize.c (build_delete_destructor_body): Likewise. testsuite/ PR c++/55635 * g++.dg/eh/delete1.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235297 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -mtune-ctrl=sse_typeless_stores to avx256-unaligned-store-2.chjl2016-04-202-1/+6
| | | | | | | | | | | Since avx256-unaligned-store-2.c scans typeless SSE stores, add -mtune-ctrl=sse_typeless_stores to enable typeless SSE stores. * gcc.target/i386/avx256-unaligned-store-2.c: Add -mtune-ctrl=sse_typeless_stores. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235296 138bc75d-0d04-0410-961f-82ee72b054a4
* Update load scan avx256-unaligned-load-1.chjl2016-04-202-2/+6
| | | | | | | | | | | Since avx_loadups256 and sse_loadups have been replaced by movv8sf_internal and movv4sf_internal, respectively, we need to scan movv8sf_internal and movv4sf_internal for load. * gcc.target/i386/avx256-unaligned-load-1.c: Update load scan. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235295 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix std::codecvt_utf8* for big-endian targetsredi2016-04-202-3/+9
| | | | | | | | PR libstdc++/69703 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in, __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235293 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/69489amker2016-04-204-6/+93
| | | | | | | | | | | | | | | | * tree-if-conv.c (phi_convertible_by_degenerating_args): New. (if_convertible_phi_p): Call phi_convertible_by_degenerating_args. Revise dump message. (if_convertible_bb_p): Remove check on edge count of basic block's predecessors. gcc/testsuite/ChangeLog PR tree-optimization/69489 * gcc.dg/tree-ssa/ifc-pr69489-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235292 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-20 Martin Galvan <martin.galvan@tallertechnologies.com>sandra2016-04-202-12/+16
| | | | | | | | | libgcc/ * config/arm/ieee754-df.S: Fix typos in comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235291 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR c++/69363iverbin2016-04-2015-75/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/c-family/ PR c++/69363 * c-cilkplus.c (c_finish_cilk_clauses): Remove function. * c-common.h (c_finish_cilk_clauses): Remove declaration. gcc/c/ PR c++/69363 * c-parser.c (c_parser_cilk_all_clauses): Use c_finish_omp_clauses instead of c_finish_cilk_clauses. * c-tree.h (c_finish_omp_clauses): Add new default argument. * c-typeck.c (c_finish_omp_clauses): Add new argument. Allow floating-point variables in the linear clause for Cilk Plus. gcc/cp/ PR c++/69363 * cp-tree.h (finish_omp_clauses): Add new default argument. * parser.c (cp_parser_cilk_simd_all_clauses): Use finish_omp_clauses instead of c_finish_cilk_clauses. * semantics.c (finish_omp_clauses): Add new argument. Allow floating-point variables in the linear clause for Cilk Plus. gcc/testsuite/ PR c++/69363 * c-c++-common/cilk-plus/PS/clauses3.c: Adjust dg-error string. * c-c++-common/cilk-plus/PS/clauses4.c: New test. * c-c++-common/cilk-plus/PS/pr69363.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235290 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/56625amker2016-04-206-21/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR tree-optimization/69489 * tree-data-ref.h (DR_INNERMOST): New macro. * tree-if-conv.c (innermost_loop_behavior_hash): New class for hashing struct innermost_loop_behavior. (ref_DR_map): Remove. (innermost_DR_map): New map. (baseref_DR_map): Revise comment. (hash_memrefs_baserefs_and_store_DRs_read_written_info): Store DR to innermost_DR_map accroding to its innermost loop behavior. (ifcvt_memrefs_wont_trap): Get DR from innermost_DR_map according to its innermost loop behavior. (if_convertible_loop_p_1): Remove intialization for ref_DR_map. Add initialization for innermost_DR_map. Record memory reference in DR_BASE_ADDRESS if the reference is compound one or it doesn't have innermost loop behavior. (if_convertible_loop_p): Remove release for ref_DR_map. Release innermost_DR_map. gcc/testsuite/ChangeLog PR tree-optimization/56625 PR tree-optimization/69489 * gcc.dg/vect/pr56625.c: New test. * gcc.dg/tree-ssa/ifc-pr69489-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235289 138bc75d-0d04-0410-961f-82ee72b054a4
* * semantics.c (finish_compound_lteral): Don't wrap VECTOR_TYPEs in anathan2016-04-202-4/+14
| | | | | | | TARGET_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235288 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't build 32-bit libatomic with -march=i486 on x86-64hjl2016-04-202-8/+8
| | | | | | | | | | | | | Gcc uses the same -march= for both -m32 and -m64 on x86-64 unless --with-arch-32= is used. There is no need for -march=i486 to compile 32-bit libatomic on x86-64. PR target/70454 * configure.tgt (XCFLAGS): Don't add -march=i486 to compile 32-bit x86 target library on x86-64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235287 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.md (*lea<mode>_general_1): Rename fromuros2016-04-202-109/+97
| | | | | | | | | | | | | | | | *lea_general_1. Use explicit SWI12 mode interator. (*lea<mode>_general_2): Rename from *lea_general_2. Use explicit SWI12 mode interator. (*lea<mode>_general_3): Rename from *lea_general_3. Use explicit SWI12 mode interator. (*lea<SWI12:mode>_general_4): Split from *lea_general_4. Use explicit SWI12 mode interator. (*lea<SWI48:mode>_general_4): Split from *lea_general_4. Use explicit SWI48 mode interator. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235286 138bc75d-0d04-0410-961f-82ee72b054a4
* Simplify ix86_expand_vector_move_misalignhjl2016-04-202-171/+90
| | | | | | | | | | | | | | | | Since mov<mode>_internal patterns handle both aligned/unaligned load and store, we can simplify ix86_avx256_split_vector_move_misalign and ix86_expand_vector_move_misalign. * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Short-cut unaligned load and store cases. Handle all integer vector modes. (ix86_expand_vector_move_misalign): Short-cut unaligned load and store cases. Call ix86_avx256_split_vector_move_misalign directly without checking mode class. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235283 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Work around PR target/64971ktkachov2016-04-204-0/+39
| | | | | | | | | | | | | | | | 2016-04-20 Andrew Pinski <apinski@cavium.com> Kyrylo Tkachov <kyrylo.tkachov@arm.com> PR target/64971 * config/aarch64/aarch64.md (sibcall): Force call address to be DImode for ILP32. (sibcall_value): Likewise. * gcc.c-torture/compile/pr37433-1.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235281 138bc75d-0d04-0410-961f-82ee72b054a4
* Replace -skip-rax-setup with -mskip-rax-setuphjl2016-04-202-1/+5
| | | | | | | * doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235275 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-20 Richard Biener <rguenther@suse.de>rguenth2016-04-204-8/+15
| | | | | | | | | | | * gimple-match.h (maybe_build_generic_op): Adjust prototype. * gimple-match-head.c (maybe_build_generic_op): Pass all ops by reference, clear op1 and op2 when GENERICizing BIT_FIELD_REF. (maybe_push_res_to_seq): Adjust. * gimple-fold.c (maybe_build_generic_op): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235274 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-if-conv.c (is_false_predicate): For NULL_TREE return falsempolacek2016-04-202-3/+8
| | | | | | | rather than true. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235272 138bc75d-0d04-0410-961f-82ee72b054a4
* * gnat.dg/self1.adb: Remove now incorrect test.charlet2016-04-202-21/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235271 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ienkovich2016-04-202-3/+8
| | | | | | | | * config/i386/sse.md (vec_unpacks_lo_hi): Always use kmovw to support AVX512F target. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235270 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-scalar-evolution.c (interpret_rhs_expr): Handle BIT_AND_EXPR.amker2016-04-205-0/+97
| | | | | | | | * gcc.dg/tree-ssa/scev-11.c: New test. * gcc.dg/tree-ssa/scev-12.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235269 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-04-20 Bob Duff <duff@adacore.com>charlet2016-04-2011-84/+354
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-os_lib.ads: Minor comment fix. 2016-04-20 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_N_Assignment_Statement): Do no generate a discriminant check for a type whose partial view has unknown discriminants when the full view has discriminants with defaults. 2016-04-20 Javier Miranda <miranda@adacore.com> * exp_util.adb (Remove_Side_Effects): When generating C code remove side effect of type conversion of access to unconstrained array type. (Side_Effect_Free): Return false for the type conversion of access to unconstrained array type when generating C code. * sem_res.adb (Resolved_Type_Conversion): Remove side effects of access to unconstrained array type conversion when generating C code. 2016-04-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Build_Predicate_Function_Declaration): New function, to construct the declaration of a predicate function at the end of the current declarative part rather than at the (possibly later) freeze point of the type. This also allows uses of a type with predicates in instantiations elsewhere. (Resolve_Aspect_Expression): New procedure to detect visiblity errors in aspect expressions, at the end of the declarative part that includes the type declaration. * sem_ch3.adb (Complete_Private_Subtype): Propagate properly the predicate function from private to full view. * einfo.adb (Predicate_Function): Refine search for predicate function when type has a full view and predicate function may be defined on either view. 2016-04-20 Javier Miranda <miranda@adacore.com> * frontend.adb: Passing the root of the tree to Unnest_Subprograms(). * exp_ch6.adb (Expand_N_Subprogram_Body): Remove code that took care of adding subprograms to the Unest_Bodies table since performing such action too early disables the ability to process generic instantiations. (Unnest_Subprograms): Adding parameter. (Search_Unnesting_Subprograms): New subprogram. * exp_ch6.ads (Unnest_Subrograms): Update documentation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235268 138bc75d-0d04-0410-961f-82ee72b054a4