aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
AgeCommit message (Collapse)AuthorFilesLines
2014-11-20sem_util.adb (Extensions_Visible_Status): Modify the logic to account for ↵Hristian Kirtchev2-40/+52
non-SPARK code. 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_util.adb (Extensions_Visible_Status): Modify the logic to account for non-SPARK code. (Object_Access_Level): In ASIS mode, recognize a selected component with an implicit dereference so that it yields the same value with and without expansion. From-SVN: r217839
2014-11-20[multiple changes]Arnaud Charlet18-34/+104
2014-11-20 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Analyze_Pragma, case Implemented): In ASIS (compile-only) mode, use original type declaration to determine whether protected type implements an interface. 2014-11-20 Yannick Moy <moy@adacore.com> * a-cfdlli.adb, a-cfdlli.ads, a-cfinve.adb, a-cfinve.ads, * a-cofove.adb, a-cofove.ads: Mark spec as SPARK_Mode, and private part/body as SPARK_Mode Off. * a-cfhama.adb, a-cfhama.ads, a-cfhase.adb, a-cfhase.ads, * a-cforma.adb, a-cforma.ads, a-cforse.adb, a-cforse.ads: Use aspect instead of pragma for uniformity. 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_util.adb (Is_EVF_Expression): Include attributes 'Loop_Entry, 'Old and 'Update to the logic. 2014-11-20 Bob Duff <duff@adacore.com> * sem_res.adb (Make_Call_Into_Operator): Don't call Left_Opnd in the case of unary operators, because they only have Right. From-SVN: r217838
2014-11-20[multiple changes]Arnaud Charlet8-83/+310
2014-11-20 Pascal Obry <obry@adacore.com> * initialize.c (ProcListCS): New extern variable (critical section). (ProcListEvt): New extern variable (handle). (__gnat_initialize)[Win32]: Initialize the ProcListCS critical section object and the ProcListEvt event. * final.c (__gnat_finalize)[Win32]: Properly finalize the ProcListCS critical section and the ProcListEvt event. * adaint.c (ProcListEvt): New Win32 event handle. (EnterCS): New routine to enter the critical section when dealing with child processes chain list. (LeaveCS): As above to exit from the critical section. (SignalListChanged): Routine to signal that the chain process list has been updated. (add_handle): Use EnterCS/LeaveCS, also call SignalListChanged when the handle has been added. (__gnat_win32_remove_handle): Use EnterCS/LeaveCS, also call SignalListChanged if the handle has been found and removed. (remove_handle): Routine removed, implementation merged with the above. (win32_wait): Use EnterCS/LeaveCS for the critical section. Properly copy the PID list locally to ensure that even if the list is updated the local copy remains valid. Add into the hl (handle list) the ProcListEvt handle. This handle is used to signal that a change has been made into the process chain list. This is to ensure that a waiting call can be resumed to take into account new processes. We also make sure that if the handle was not found into the list we start over the wait call. Indeed another concurrent call to win32_wait() could already have handled this process. 2014-11-20 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Actuals): The legality rule concerning the use of class-wide actuals for a non-controlling formal are not rechecked in an instance. 2014-11-20 Pascal Obry <obry@adacore.com> * g-dirope.ads: Minor typo fix. 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, Expand_Update_Attribute): Preserve the tag of a prefix by offering a specific view of the class-wide version of the prefix. From-SVN: r217837
2014-11-20[multiple changes]Arnaud Charlet4-2/+64
2014-11-20 Javier Miranda <miranda@adacore.com> * sem_ch6.adb (Analyze_Function_Return): For functions returning an access to an interface add an implicit conversion to the target type to force the displacement of the pointer to the object to reference the secondary dispatch table. (Check_Anonymous_Return): Skip internally built functions which handle the case of null access when locating the master of a task. * sem_res.adb (Valid_Conversion): Return true for internally generated conversions of access to interface types added to force the displacement of the pointer to reference the corresponding dispatch table. 2014-11-20 Pascal Obry <obry@adacore.com> * adaint.c (add_handle): realloc with a size of +100. From-SVN: r217836
2014-11-20[multiple changes]Arnaud Charlet7-14/+109
2014-11-20 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Make_Call_Into_Operator): In ASIS mode, propagate back the resolved operands to the original call node, taking into account that the original call may have named associations. 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> * inline.adb (Has_Some_Contract): Change the guard to test the Ekind of the entity rather than the Analyzed flag. This handles partially analyzed contexts. 2014-11-20 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Analyze_Object_Renaming): In Ada 83 mode, do not reject the renaming of a function result if the renaming does not come for source. 2014-11-20 Robert Dewar <dewar@adacore.com> * exp_util.ads: Minor addition of ??? clause. 2014-11-20 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Is_Variable): For an Ada 2012 implicit dereference introduced for an indexing opertion, check that the type of the corresponding access discriminant is not an access to constant. 2014-11-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch6.adb (Find_Corresponding_Spec): Inherit the ghostness of the matching spec, the same way convention is inherited. From-SVN: r217835
2014-11-20sem_ch3.adb (Analyze_Object_Declaration): Swap a couple of tests in a ↵Eric Botcazou3-1/+17
condition so Following_Address_Clause is invoked... 2014-11-20 Eric Botcazou <ebotcazou@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): Swap a couple of tests in a condition so Following_Address_Clause is invoked only if need be. * exp_util.ads (Following_Address_Clause): Add small note. From-SVN: r217834
2014-11-20Minor reformatting.Arnaud Charlet1-1/+2
From-SVN: r217833
2014-11-20adaint.c (remove_handle): New local routine without a lock.Pascal Obry2-13/+25
2014-11-20 Pascal Obry <obry@adacore.com> * adaint.c (remove_handle): New local routine without a lock. (win32_wait): fix the critical section to properly protect needed code, use new remove_handle. (__gnat_win32_remove_handle): refactor code with remove_handle. From-SVN: r217832
2014-11-20[multiple changes]Arnaud Charlet5-18/+36
2014-11-20 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Analyze_Inlined_Bodies): Iterate between loading of the inlined bodies and instantiation of the generic bodies until no more bodies need to be loaded. 2014-11-20 Vincent Celier <celier@adacore.com> * prj.adb, prj.ads, prj-conf.adb: Minor change of procedure name: Update_Ignore_Missing_With becomes Set_Ignore_Missing_With. From-SVN: r217831
2014-11-20[multiple changes]Arnaud Charlet8-11/+26
2014-11-20 Robert Dewar <dewar@adacore.com> * exp_ch7.adb, sem_ch5.adb, sem_ch7.adb, sem_util.adb, sem_ch6.adb: Minor reformatting. 2014-11-20 Javier Miranda <miranda@adacore.com> * exp_ch4.adb (Expand_N_Type_Conversion): Add missing implicit conversion to force the displacement of the pointer to the object to reference the secondary dispatch table. From-SVN: r217829
2014-11-11re PR ada/42978 (gnatmake doesn't report the options it actually provides to ↵Simon Wright2-0/+9
ranlib) PR ada/42978 * mlib-utl.adb (ar): Output the options passed to ranlib. From-SVN: r217346
2014-11-07[multiple changes]Arnaud Charlet25-77/+186
2014-11-07 Arnaud Charlet <charlet@adacore.com> * debug.adb, snames.adb-tmpl (Is_Keyword_Name): Consider 'overriding' a keyword in Ada 95 mode when -gnatd.D is used. * gnat_ugn.texi: Document -gnatd.D. 2014-11-07 Vasiliy Fofanov <fofanov@adacore.com> * gnatls.adb: Lower severity of the program's return value in some common cases. 2014-11-07 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Decorate_Type): The limited view of a tagged type has an empty list of primitive operations. 2014-11-07 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): Update references to SPARK RM. (Process_Full_View): Update references to SPARK RM. * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references to SPARK RM. (Analyze_Subprogram_Body_Helper): Update references to SPARK RM. * sem_ch7.adb (Analyze_Package_Body_Helper): Update references to SPARK RM. * sem_prag.adb (Check_Ghost_Constituent): Update references to SPARK RM. * sem_res.adb (Check_Ghost_Policy): Update references to SPARK RM. (Resolve_Actuals): Ensure that the actual parameter of a Ghost subprogram whose formal is of mode IN OUT or OUT is Ghost. * sem_util.adb (Check_Ghost_Completion): Update references to SPARK RM. 2014-11-07 Ed Schonberg <schonberg@adacore.com> * exp_ch7.adb (Make_Final_Call): If type of designated object is derived from that of the formal of the Deep_Finalize procedure, add an unchecked conversion to prevent spurious type error. 2014-11-07 Robert Dewar <dewar@adacore.com> * table.adb, inline.adb, einfo.adb, gnat1drv.adb, exp_ch13.adb, exp_fixd.adb, prj-conf.adb, exp_strm.adb, a-cofove.adb, exp_ch3.ads: Minor reformatting. 2014-11-07 Robert Dewar <dewar@adacore.com> * sem_ch12.adb, sem_ch13.adb, prj-tree.adb: Minor reformatting. From-SVN: r217227
2014-11-07[multiple changes]Arnaud Charlet6-33/+67
2014-11-07 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Set_Is_Checked_Ghost_Entity, Set_Is_Ignored_Ghost_Entity): Add exceptions to the assertion check. * sem_ch6.adb (Check_Conformance): Consider only source subprograms when checking for Ghost conformance. * sem_prag.adb (Analyze_Pragma): Handle the case where pragma Ghost applies to a stand alone subprogram body that acts as a compilation unit. * sem_res.adb: Minor reformatting (merge if statements). 2014-11-07 Ed Schonberg <schonberg@adacore.com> * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Check whether underlying type is constrained before generating the object declaration for the result object of the function. From-SVN: r217226
2014-11-07[multiple changes]Arnaud Charlet10-25/+81
2014-11-07 Robert Dewar <dewar@adacore.com> * freeze.adb: Code clean up. 2014-11-07 Yannick Moy <moy@adacore.com> * a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cfinve.ads, * a-cforma.ads, a-cforse.ads, a-cofove.ads: Mark First_To_Previous, Current_To_Last and Strict_Equal as Ghost. 2014-11-07 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: Code clean up. From-SVN: r217225
2014-11-07[multiple changes]Arnaud Charlet9-76/+116
2014-11-07 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb (Freeze_Entity): Issue an error regardless of the SPARK_Mode when a ghost type is effectively volatile. * sem_ch3.adb (Analyze_Object_Contract): Decouple the checks related to Ghost from SPARK_Mode. * sem_res.adb (Check_Ghost_Policy): Issue an error regardless of the SPARK_Mode when the Ghost policies do not match. * sem_util.adb (Check_Ghost_Completion): Issue an error regardless of the SPARK_Mode when the Ghost policies do not match. 2014-11-07 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): return if name in iterator does not have any usable aspect for iteration. 2014-11-07 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Null_Procedure): Reject a null procedure that there is a previous null procedure in scope with a matching profile. 2014-11-07 Hristian Kirtchev <kirtchev@adacore.com> * atree.adb (Copy_Separate_Tree): Copy the aspect specifications. * inline.adb (Has_Some_Contract): Do the check only when the related entity has been analyzed. From-SVN: r217224
2014-11-07[multiple changes]Arnaud Charlet3-26/+86
2014-11-07 Ed Schonberg <schonberg@adacore.com> * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Integer): If the restriction No_Floating_Point is in effect, and the operands have the same type, introduce a temporary to hold the fixed point result, to prevent the use of floating-point operations at run-time. 2014-11-07 Robert Dewar <dewar@adacore.com> * freeze.adb (Check_Address_Clause): Minor reformatting (Find_Constant): Minor reformatting. (Freeze_Array_Type): Modify check for packed declarations. (Freeze_Entity): Minor reformatting. From-SVN: r217223
2014-11-05* gnatvsn.ads (Library_Version): Bump to 5.0.Eric Botcazou2-1/+5
From-SVN: r217157
2014-11-05trans.c (Subprogram_Body_to_gnu): For a function with copy-in/copy-out ↵Eric Botcazou2-30/+68
parameters and which returns by invisible... * gcc-interface/trans.c (Subprogram_Body_to_gnu): For a function with copy-in/copy-out parameters and which returns by invisible reference, do not create the variable for the return value; instead, manually generate the indirect copy out statements on exit. (gnat_to_gnu) <N_Simple_Return_Statement>: Adjust accordingly and build a simple indirect assignment for the return value. From-SVN: r217155
2014-11-05decl.c (gnat_to_gnu_entity): For a derived untagged type that renames ↵Eric Botcazou2-3/+32
discriminants... * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: For a derived untagged type that renames discriminants, be prepared for a type derived from a private discriminated type when changing the type of the stored discriminants. From-SVN: r217153
2014-11-05trans.c (Handled_Sequence_Of_Statements_to_gnu): Set the SLOC of the node on ↵Eric Botcazou2-3/+13
the call to set_jmpbuf_address_soft emitted on... * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Set the SLOC of the node on the call to set_jmpbuf_address_soft emitted on block entry with SJLJ. From-SVN: r217152
2014-11-05utils.c (create_subprog_decl): Move code dealing with conflicting inlining ↵Eric Botcazou3-13/+67
status of nested subprograms to... * gcc-interface/utils.c (create_subprog_decl): Move code dealing with conflicting inlining status of nested subprograms to... * gcc-interface/trans.c (check_inlining_for_nested_subprog): ...here. (Attribute_to_gnu) <Attr_Access>: Call it. (Call_to_gnu): Likewise. (Subprogram_Body_to_gnu): Drop the body if it is an inlined external function that has been marked uninlinable. From-SVN: r217151
2014-10-312014-10-31 Hristian Kirtchev <kirtchev@adacore.com>Arnaud Charlet27-505/+1873
* aspects.adb Add an entry for aspect Ghost in table Canonical_Aspect. * aspects.ads Add an entry for aspect Ghost in tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names and Implementation_Defined_Aspect. * einfo.adb: Flags 277 and 278 are now in use. (Is_Checked_Ghost_Entity): New routine. (Is_Ghost_Entity): Removed. (Is_Ghost_Subprogram): Removed. (Is_Ignored_Ghost_Entity): New routine. (Set_Is_Checked_Ghost_Entity): New routine. (Set_Is_Ignored_Ghost_Entity): New routine. (Write_Entity_Flags): Output flags Is_Checked_Ghost_Entity and Is_Ignored_Ghost_Entity. * einfo.ads: Add new flags Is_Checked_Ghost_Entity and Is_Ignored_Ghost_Entity along with usage in nodes. (Is_Checked_Ghost_Entity): New routine and pragma Inline. (Is_Ghost_Entity): Removed along with synthesized flag description and usage in nodes. (Is_Ghost_Subprogram): Removed along with synthesized flag description and usage in nodes. (Is_Ignored_Ghost_Entity): New routine and pragma Inline. (Set_Is_Checked_Ghost_Entity): New routine and pragma Inline. (Set_Is_Ignored_Ghost_Entity): New routine and pragma Inline. * freeze.adb (Freeze_Entity): A Ghost type cannot be effectively volatile. * par-prag.adb Pragma Ghost does not need special handling by the parser. * repinfo.adb (List_Mechanisms): Remove the entry for convention Ghost. * sem_attr.adb (Analyze_Access_Attribute): Remove obsolete check. * sem_ch3.adb (Analyze_Full_Type_Declaration): Mark the type as Ghost when its enclosing context is Ghost. (Analyze_Incomplete_Type_Decl): Mark the type as Ghost when its enclosing context is Ghost. (Analyze_Number_Declaration): Mark the number as Ghost when its enclosing context is Ghost. (Analyze_Object_Declaration): Mark the object as Ghost when its enclosing context is Ghost. Verify the Ghost policy between initial declaration and completion of a deferred constant. (Analyze_Object_Contract): A Ghost variable cannot be effectively volatile, imported or exported. (Build_Derived_Record_Type): Mark a type extension as Ghost when it implements a Ghost interface. (Build_Record_Type): Inherit volatility and "ghostness" from the parent type. (Check_Completion): A Ghost entity declared in a non-Ghost package does not require completion in a body. (Implements_Ghost_Interface): New routine. (Process_Full_View): Inherit "ghostness" from the partial view. Verify the Ghost policy between the partial and full views. Verify the completion of a Ghost type extension. * sem_ch4.adb (Check_Ghost_Subprogram_Call): Removed. * sem_ch5.adb (Analyze_Assignment): Analyze the left hand side first. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Mark the subprogram as Ghost when its enclosing context is Ghost. (Analyze_Generic_Subprogram_Body): Mark the generic body as Ghost when its enclosing context is Ghost. Verify the Ghost policy between the spec and body. (Analyze_Subprogram_Body_Helper): Mark the body as Ghost when its enclosing context is Ghost. Verify the Ghost policy between the spec and body. (Check_Conformance): A Ghost subprogram profile and a non-Ghost subprogram profile are not subtype conformant. (Convention_Of): Removed. * sem_ch7.adb (Analyze_Package_Body_Helper): Inherit the "ghostness" from the spec. Verify the Ghost policy between the spec and body. (Analyze_Private_Type_Declaration): Mark the type as Ghost when its enclosing context is Ghost. (Requires_Completion_In_Body): New routine. (Unit_Requires_Body): Use Requires_Completion_In_Body. (Unit_Requires_Body_Info): Rename formal parameter P to Pack_Id, update comment on usage and all uses of P in the body. Use Requires_Completion_In_Body. * sem_ch7.ads (Unit_Requires_Body): Rename formal parameter P to Pack_Id, update comment on usage and all uses of P in the body. * sem_ch8.adb (Analyze_Exception_Renaming): Inherit the "ghostness" from the renamed excention. (Analyze_Generic_Renaming): Inherit the "ghostness" from the renamed generic subprogram. (Analyze_Object_Renaming): Inherit the "ghostness" from the renamed object. (Analyze_Package_Renaming): Inherit the "ghostness" from the renamed package. (Analyze_Subprogram_Renaming): Inherit the "ghostness" from the renamed subprogram. * sem_ch11.adb (Analyze_Exception_Declaration): Mark an exception as Ghost when its enclosing context is Ghost. * sem_ch12.adb (Analyze_Generic_Package_Declaration, Analyze_Generic_Subprogram_Declaration): Mark an exception as Ghost when its enclosing context is Ghost. (Preanalyze_Actuals): Remove obsolete check. * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for aspect Ghost. (Check_Aspect_At_Freeze_Point): Aspects Depends and Global do no need special checking at freeze point. (Insert_After_SPARK_Mode): Update comment on usage. * sem_mech.adb (Set_Mechanisms): Remove the entry for convention Ghost. * sem_prag.adb Add an entry for pragma Ghost in table Sig_Flags. (Analyze_Abstract_State): Update the grammar of the pragma. Add formal parameter Pack_Id along with comment on usage. Mark an abstract state as Ghost when its enclosing context is Ghost. Add processing for option Ghost. (Analyze_Constituent): Verify that a Ghost abstract state is refined by Ghost constituents. (Analyze_Pragma): "Ghost" is now a valid policy. Add checks related to the use and placement of Check_Policy Ghost. Add processing for pragma Ghost. (Check_Ghost_Constituent): New routine. (Is_Valid_Assertion_Kind): "Ghost" is now a valid assertion. (Process_Convention): Remove obsolete check. (Set_Convention_From_Pragma): Remove the processing for convention Ghost. * sem_res.adb (Check_Ghost_Context): New routine. (Resolve_Call): Verify that a reference to a Ghost entity appears in a suitable context. Verify the Ghost polity between point of declaration and point of use. (Resolve_Entity_Name): Verify that a reference to a Ghost entity appears in a suitable context. Verify the Ghost polity between point of declaration and point of use. * sem_util.adb (Check_Ghost_Completion): New routine. (Check_Ghost_Derivation): New routine. (Incomplete_Or_Partial_View): New routine. (Incomplete_Or_Private_View): Removed. (Is_Ghost_Entity): New routine. (Is_Ghost_Statement_Or_Pragma): New routine. (Is_Subject_To_Ghost): New routine. (Policy_In_Effect): New routine. (Set_Is_Ghost_Entity): New routine. (Within_Ghost_Scope): New routine. * sem_util.ads (Check_Ghost_Completion): New routine. (Check_Ghost_Derivation): New routine. (Incomplete_Or_Partial_View): New routine. (Incomplete_Or_Private_View): Removed. (Is_Ghost_Entity): New routine. (Is_Ghost_Statement_Or_Pragma): New routine. (Is_Subject_To_Ghost): New routine. (Policy_In_Effect): New routine. (Set_Is_Ghost_Entity): New routine. (Within_Ghost_Scope): New routine. * snames.adb-tmpl (Get_Convention_Id): Remove the entry for convention Ghost. (Get_Convention_Name): Remove the entry for convention Ghost. * snames.ads-tmpl Remove the convention id for Ghost. Add a pragma id for Ghost. 2014-10-31 Sergey Rybin <rybin@adacore.com frybin> * gnat_ugn.texi: Add description of --RTS option for ASIS tools. From-SVN: r216981
2014-10-31Makefile.in (arm-vxworks): Update target pairs.Olivier Hainque2-1/+7
2014-10-31 Olivier Hainque <hainque@adacore.com> * gcc-interface/Makefile.in (arm-vxworks): Update target pairs. From-SVN: r216980
2014-10-31[multiple changes]Arnaud Charlet8-49/+131
2014-10-31 Vincent Celier <celier@adacore.com> * prj-part.adb (Parse_Single_Project): Call Set_Display_Name_Of. * prj-proc.adb (Recursive_Process): Call Display_Name_Of to get the project Display_Name. * prj-tree.adb (Display_Name_Of): New function (Set_Display_Name_Of): New procedure. (Create_Project): Call Set_Display_Name_Of. * prj-tree.ads (Display_Name_Of): New function. (Set_Display_Name_Of): New procedure. (Project_Node_Record): New component Display_Name. (Project_Name_And_Node): Remove component Display_Name. * prj-conf.adb (Parse_Project_And_Apply_Config): Use the full Config_File_Path as the Config_File_Name, not just its simple name. 2014-10-31 Thomas Quinot <quinot@adacore.com> * get_scos.adb: Minor reformatting. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Formal_Container_Loop): Create block to capture declaration for cursor to prevent spurious errors when several formal iterators that use the same cursoe name appear in the same context. From-SVN: r216978
2014-10-31prj-proc.adb (Recursive_Process): Make sure that the project display name is ↵Vincent Celier2-1/+14
never No_Name. 2014-10-31 Vincent Celier <celier@adacore.com> * prj-proc.adb (Recursive_Process): Make sure that the project display name is never No_Name. From-SVN: r216970
2014-10-31[multiple changes]Arnaud Charlet9-7/+69
2014-10-31 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Access_Attribute): Do not emit error message if reference does not come from source, as in the case for the controlling argument of a dispatching call. Error is diagnosed when call is resolved. * sem_ch4.adb (Complete_Object_Operation); Fix incorrect RM reference in error message. * sem_res.adb (Check_Prefixed_Call): ditto. 2014-10-31 Yannick Moy <moy@adacore.com> * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Do not suppress checks when pragma Restrictions (No_Exception) is used in CodePeer or GNATprove mode. 2014-10-31 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Explicitly mark language checks as not suppressed in GNATprove mode. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * sem_elab.adb (Check_Elab_Call): Nothing to check if call is being pre-analyzed. * sem_ch3.adb (Complete_Private_Subtype): If all rep items of full view are those of the base, use rep_item chain of partial view, which may include aspects. * sem_cat.adb (Is_non_Remote_Access_Type): Use underlying type of base type, to handle properly declared subtypes. From-SVN: r216969
2014-10-31[multiple changes]Arnaud Charlet5-4/+137
2014-10-31 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Generic_Package_Declaration): If there is a default storage pool, add a corresponding aspect to the generic unit, to be used at the point of instantiation. (Analyze_Package_Instantiation): If generic unit has aspect specifications, propagate them to instance. If instance has a Default_Storage_Pool aspect, make sure that it overrides the one that may be inherited from the generic. 2014-10-31 Vincent Celier <celier@adacore.com> * prj-attr.adb: Minor removal of attributes of package Linker that have never been used and never been documented. * projects.texi: Add documentation for attribute Runtime. * prj-nmsc.adb (Check_Configuration): Do not report a warning for unknown compilers when the project is externally built. From-SVN: r216968
2014-10-31[multiple changes]Arnaud Charlet11-1414/+1003
2014-10-31 Vasiliy Fofanov <fofanov@adacore.com> * prj-conf.adb (Do_Autoconf): Refactor the code so that empty Normalized_Pathname doesn't inhibit the custom Selected_Target value. * prj-conf.adb (Parse_Project_And_Apply_Config): Make sure that Automatically_Generated is correctly set after the first call to Process_Project_And_Apply_Config and not modified after the second call, if any. 2014-10-31 Yannick Moy <moy@adacore.com> * Makefile.rtl, gnat_rm.texi, impunit.adb: Add mention of new library files. * a-cfinve.adb, a-cfinve.ads: New unit for formal indefinite vectors, suitable for use in client SPARK code, also more efficient than the standard vectors. * a-coboho.adb, a-coboho.ads New unit for bounded holders, that are used to define formal indefinite vectors in terms of formal definite ones. * a-cofove.adb, a-cofove.ads: Simplification of the API of formal definite vectors, similar to the API of the new indefinite ones. A new formal parameter of the generic unit called Bounded allows to define growable vectors that use dynamic allocation. From-SVN: r216967
2014-10-31[multiple changes]Arnaud Charlet14-18/+558
2014-10-31 Vincent Celier <celier@adacore.com> * prj-conf.adb (Look_For_Project_Paths): New procedure (Parse_Project_And_Apply_Config): Initially, parse the project files ignoring missing withs. If there are missing withs, extend the project path with directories rooted at the compiler roots, including directories rooted at the runtime roots, if there are non default runtimes, in the PATH orser. * prj-env.adb (Initialize_Default_Project_Path): Do not add any directory from the prefix if the target is "-". * prj-part.adb (Parse): Initialize the tables, as Parse may be call several times by gprbuild. * prj.adb (Update_Ignore_Missing_With): New procedure. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * sem_aux.adb (First_Stored_Discriminant, Has_Completely_Hidden_Discriminant): When scanning the list of discriminants to locate possibly hidden (inherited) discriminants, ignore itypes that may appear in the entity list, when an access discriminants is constrained by an access attribute reference. 2014-10-31 Javier Miranda <miranda@adacore.com> * freeze.adb (Freeze_Record_Type): Add missing check to verify that all the primitives of an interface type are abstract or null procedures. 2014-10-31 Vincent Celier <celier@adacore.com> * s-os_lib.adb, s-os_lib.ads: New function Non_Blocking_Spawn that redirects standard output and standard error to two different files. 2014-10-31 Bob Duff <duff@adacore.com> * makeutl.ads: Minor comment fix. 2014-10-31 Arnaud Charlet <charlet@adacore.com> * system-linux-x86_64.ads, system-mingw-x86_64.ads (Word_Size, Memory_Size): Use Standard'Word_Size so that the value can be changed via a target configuration file. From-SVN: r216965
2014-10-31[multiple changes]Arnaud Charlet10-122/+69
2014-10-31 Eric Botcazou <ebotcazou@adacore.com> * exp_ch4.adb: Minor tweak. 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> * sem_ch12.adb (Analyze_Package_Instantiation): Do not inline with back-end inlining. (Must_Inline_Subp): Delete. * sem_util.ads, sem_util.adb (Must_Inline): Likewise. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): A default_pool does not apply to internal access types generated for 'access references. * sem_prag (Analyze_Pragma, case Default_Pool): If the name is not null it must designate a variable. 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> * inline.adb: Minor reformatting. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Build_Derived_Private_Type): If the derived type has access discriminants, create itype references for their anonymous types, so that they are elaborated before the generated bodies for the primitive operations of the type. 2014-10-31 Tristan Gingold <gingold@adacore.com> * prj-conf.adb (Locate_Runtime): Remove procedure. From-SVN: r216963
2014-10-31[multiple changes]Arnaud Charlet5-281/+52
2014-10-31 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Has_Excluded_Declaration): With back-end inlining, only return true for nested packages. (Cannot_Inline): Issue errors/warnings whatever the optimization level for back-end inlining and remove assertion. 2014-10-31 Sergey Rybin <rybin@adacore.com frybin> * table.adb (Tree_Read, Tree_Write): Use parentheses to specify the desired order of '*' and '/' operations to avoid overflow. 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> * exp_ch6.adb (Do_Inline): Remove unreachable code. (Do_Inline_Always): Likewise. 2014-10-31 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Check_Stand_Alone_Library): Change error message when library has no Ada interfaces and Library_Standalone is declared. From-SVN: r216961
2014-10-31[multiple changes]Arnaud Charlet4-5/+33
2014-10-31 Arnaud Charlet <charlet@adacore.com> * sem_ch13.adb (Check_Constant_Address_Clause): Disable checks on address clauses in CodePeer mode. 2014-10-31 Javier Miranda <miranda@adacore.com> * inline.adb (Expand_Inlined_Call): Do not skip inlining of calls to subprogram renamings. 2014-10-31 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Resolve_Entity_Name): Account for the case where the immediate parent of a reference to an entity is a parameter association. From-SVN: r216960
2014-10-31[multiple changes]Arnaud Charlet5-38/+33
2014-10-31 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Check_And_Split_Unconstrained_Function): Do not test for the presence of nested subprograms. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * aspects.ads, aspects.adb: Add aspect Default_Storage_Pool. * sem_ch13.adb (Analyze_One_Aspect): Generate pragma for aspect Default_Storage_Pool. From-SVN: r216959
2014-10-31[multiple changes]Arnaud Charlet6-30/+50
2014-10-31 Eric Botcazou <ebotcazou@adacore.com> * sem_ch6.adb: Remove obsolete comment. 2014-10-31 Olivier Hainque <hainque@adacore.com> * g-allein.ads: bind vec_sld for pixels to 8hi vsldoi instead of 4si, as pixels are short. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Call): Do not reject a call to a protected operation in the spec of a protected type, when the call appears in a pre/postcondition for another protected operation. 2014-10-31 Tristan Gingold <gingold@adacore.com> * prj-conf.adb: Locate_Runtime: Always search the runtime in project path. 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Check_Package_Body_For_Inlining): Adjust previous change to use correct idiom for back-end inlining. From-SVN: r216958
2014-10-31[multiple changes]Arnaud Charlet7-110/+96
2014-10-31 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Record_Type): Do not check component size if its type is generic. 2014-10-31 Bob Duff <duff@adacore.com> * gnat_rm.texi: Fix documentation w.r.t -gnatw.w. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Try_Container_Indexing): Use Check_Implicit_Dereference. * sem_util.adb (Check_Implicit_Dereference): a) Handle generalized indexing as well as function calls. b) If the context is a selected component and whe are in an instance, remove entity from selector name to force resolution of the node, so that explicit dereferences can be generated in the instance if they were in the generic unit. 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Back_End_Cannot_Inline): Delete. (Add_Inlined_Subprogram): Do not call it. From-SVN: r216956
2014-10-31[multiple changes]Arnaud Charlet8-65/+131
2014-10-31 Ed Schonberg <schonberg@adacore.com> * exp_ch3.ads (Make_Tag_Assignment): New function, used to re-initialize the tag in a tagged object declaration with initial value. * exp_ch3.adb (Expand_N_Object_Declaration): Use Make_Tag_Assignment to simplify code for a tagged object declaration. * exp_ch13.adb (Expand_Freeze_Entity): Analyze freeze actions for the freeze node of an object. * freeze.adb (Check_Address_Clause): Use Make_Tag_Assignment when needed to extend Freeze_Actions for a tagged object declaration. 2014-10-31 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi: Further minor improvement to -flto entry. 2014-10-31 Gary Dismukes <dismukes@adacore.com> * g-dynhta.adb, g-dynhta.ads: Minor typo fixes and reformatting. From-SVN: r216955
2014-10-30[multiple changes]Arnaud Charlet5-26/+517
2014-10-30 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Expand_N_Object_Declaration): Code cleanup. 2014-10-30 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): If a subtype indication is provided, check properly that it covers the element type of of the container type. 2014-10-30 Hristian Kirtchev <kirtchev@adacore.com> * g-dynhta.ads, g-dynhta.adb: Add the implementation of a load facto -based hash table. From-SVN: r216926
2014-10-30Recommit wrongly reverted change.Arnaud Charlet4-17/+20
From-SVN: r216924
2014-10-30Recommit wrongly reverted change.Arnaud Charlet2-20/+24
From-SVN: r216923
2014-10-30Re-commit wrongly reverted previous change.Arnaud Charlet2-5/+4
From-SVN: r216922
2014-10-30[multiple changes]Arnaud Charlet39-75/+222
2014-10-30 Ed Schonberg <schonberg@adacore.com> * exp_util.ads, exp_util.adb (Following_Address_Clause): Modify Has_Following_Address_Clause so that it returns the address clause if present, rather than a boolean value. * sem_ch3.adb (Analyze_Object_Declaration): use Following_Address_Clause. * exp_ch3.adb (Expand_N_Object_Declaration): When a tagged object is initialized, insert tag assignment after object is frozen, which may be after an address clause that follows the declaration. 2014-10-30 Tristan Gingold <gingold@adacore.com> * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads, system-vxworks-arm.ads, system-freebsd-x86_64.ads, system-linux-hppa.ads, system-linux-s390.ads, system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads, system-aix64.ads, system-linux-sh4.ads, system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads, system-vxworks-ppc.ads, system-hpux.ads, system-linux-armel.ads, system-darwin-ppc.ads, system-solaris-sparc.ads, system-vxworks-m68k.ads, system-hpux-ia64.ads, system.ads, system-solaris-x86_64.ads, system-mingw-x86_64.ads, system-vxworks-mips.ads, system-linux-sparc.ads, system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads, system-vxworks-x86.ads: Add pragma No_Elaboration_Code_All. 2014-10-30 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi: Minor improvement to -flto entry. From-SVN: r216921
2014-10-30[multiple changes]Arnaud Charlet7-16/+45
2014-10-30 Hristian Kirtchev <kirtchev@adacore.com> * sem_util.adb (Inherit_Subprogram_Contract): Add a guard to protect against enumeration literal overriding. * sem_ch3.adb, sem_ch4.adb, sem_res.adb, sem_util.adb: Minor reformatting (add SPARK RM references). 2014-10-30 Robert Dewar <dewar@adacore.com> * exp_dbug.adb, opt.ads: Minor reformatting. From-SVN: r216920
2014-10-30[multiple changes]Arnaud Charlet18-136/+869
2014-10-30 Yannick Moy <moy@adacore.com> * inline.adb (Has_Single_Return_In_GNATprove_Mode): Return False when return statement is inside one or more blocks. 2014-10-30 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Is_Subprogram_Call): Account for the case where an object declaration initialized by a function call that returns an unconstrained result may be rewritted as a renaming of the secondary stack result. 2014-10-30 Hristian Kirtchev <kirtchev@adacore.com> * aspects.adb: Add an entry for aspect Extensions_Visible in table Canonical_Aspect. * aspects.ads: Add entry for aspect Extensions_Visible in tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names, Implementation_Defined_Aspect. * einfo.adb (Get_Pragma): Include pragma Extensions_Visible in the list of contract pragmas. * par-prag.adb Pragma Extensions_Visible does not require special processing from the parser. * sem_ch3.adb (Analyze_Object_Declaration): Prevent an implicit class-wide conversion of a formal parameter of a specific tagged type whose related subprogram is subject to pragma Extensions_Visible with value "False". (Check_Abstract_Overriding): Add various overriding checks related to pragma Extensions_Visible. (Derive_Subprogram): A subprogram subject to pragma Extensions_Visible with value False requires overriding if the subprogram has at least one controlling OUT parameter. (Is_EVF_Procedure): New routine. * sem_ch4.adb (Analyze_Type_Conversion): A formal parameter of a specific tagged type whose related subprogram is subject to pragma Extensions_Visible with value "False" cannot appear in a class-wide conversion. * sem_ch6.adb (Analyze_Subprogram_Contract): Remove the assertion to account for pragma Extensions_Visible. (Check_Overriding_Indicator): An overriding subprogram inherits the contact of the overridden subprogram. (New_Overloaded_Entity): An overriding subprogram inherits the contact of the overridden subprogram. * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for aspect Extensions_Visible. (Check_Aspect_At_Freeze_Point): Aspect Extensions_Visible does not require special processing at the freeze point. * sem_prag.adb Add an entry for pragma Extensions_Visible in table Sig_Flags. (Analyze_Pragma): Ensure that various SPARK pragmas lack identifiers in their arguments. Add processing for pragma Extensions_Visible. (Chain_CTC): Code reformatting. * sem_res.adb (Resolve_Actuals): A formal parameter of a specific tagged type whose related subprogram is subject to pragma Extensions_Visible with value "False" cannot act as an actual in a subprogram with value "True". * sem_util.adb (Add_Classification): New routine. (Add_Contract_Item): Account for pragma Extensions_Visible. Code reformatting. (Add_Contract_Test_Case): New routine. (Add_Pre_Post_Condition): New routine. (Extensions_Visible_Status): New routine. (Inherit_Subprogram_Contract): New routine. (Is_EVF_Expression): New routine. (Is_Specific_Tagged_Type): New routine. * sem_util.ads Add type Extensions_Visible_Mode and document all values. (Add_Contract_Item): Add pragma Extensions_Visible to the comment on usage. (Inherit_Subprogram_Contract): New routine. (Is_EVF_Expression): New routine. (Is_Specific_Tagged_Type): New routine. * sinfo.adb (Is_Inherited): New routine. (Set_Is_Inherited): New routine. * sinfo.ads Add flag Is_Inherited along with its usage in nodes. (Is_Inherited): New routine along with pragma Inline. (Set_Is_Inherited): New routine along with pragma Inline. * snames.ads-tmpl: Add predefined name "Extensions_Visible" and a new Pragma_Id for the pragma. From-SVN: r216919
2014-10-29decl.c, [...]: Remove redundant enum from machine_mode.Richard Sandiford7-19/+25
gcc/ada/ * gcc-interface/decl.c, gcc-interface/gigi.h, gcc-interface/misc.c, gcc-interface/trans.c, gcc-interface/utils.c, gcc-interface/utils2.c: Remove redundant enum from machine_mode. gcc/c-family/ * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant enum from machine_mode. gcc/c/ * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from machine_mode. gcc/cp/ * constexpr.c: Remove redundant enum from machine_mode. gcc/fortran/ * trans-types.c, trans-types.h: Remove redundant enum from machine_mode. gcc/go/ * go-lang.c: Remove redundant enum from machine_mode. gcc/java/ * builtins.c, java-tree.h, typeck.c: Remove redundant enum from machine_mode. gcc/lto/ * lto-lang.c: Remove redundant enum from machine_mode. gcc/ * addresses.h, alias.c, asan.c, auto-inc-dec.c, bt-load.c, builtins.c, builtins.h, caller-save.c, calls.c, calls.h, cfgexpand.c, cfgloop.h, cfgrtl.c, combine.c, compare-elim.c, config/aarch64/aarch64-builtins.c, config/aarch64/aarch64-protos.h, config/aarch64/aarch64-simd.md, config/aarch64/aarch64.c, config/aarch64/aarch64.h, config/aarch64/aarch64.md, config/alpha/alpha-protos.h, config/alpha/alpha.c, config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h, config/arc/predicates.md, config/arm/aarch-common-protos.h, config/arm/aarch-common.c, config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h, config/arm/arm.md, config/arm/neon.md, config/arm/thumb2.md, config/avr/avr-log.c, config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.md, config/bfin/bfin-protos.h, config/bfin/bfin.c, config/c6x/c6x-protos.h, config/c6x/c6x.c, config/c6x/c6x.md, config/cr16/cr16-protos.h, config/cr16/cr16.c, config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.md, config/darwin-protos.h, config/darwin.c, config/epiphany/epiphany-protos.h, config/epiphany/epiphany.c, config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv-protos.h, config/frv/frv.c, config/frv/predicates.md, config/h8300/h8300-protos.h, config/h8300/h8300.c, config/i386/i386-builtin-types.awk, config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.md, config/i386/predicates.md, config/i386/sse.md, config/i386/sync.md, config/ia64/ia64-protos.h, config/ia64/ia64.c, config/iq2000/iq2000-protos.h, config/iq2000/iq2000.c, config/iq2000/iq2000.md, config/lm32/lm32-protos.h, config/lm32/lm32.c, config/m32c/m32c-protos.h, config/m32c/m32c.c, config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m68k/m68k-protos.h, config/m68k/m68k.c, config/mcore/mcore-protos.h, config/mcore/mcore.c, config/mcore/mcore.md, config/mep/mep-protos.h, config/mep/mep.c, config/microblaze/microblaze-protos.h, config/microblaze/microblaze.c, config/mips/mips-protos.h, config/mips/mips.c, config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430-protos.h, config/msp430/msp430.c, config/nds32/nds32-cost.c, config/nds32/nds32-intrinsic.c, config/nds32/nds32-md-auxiliary.c, config/nds32/nds32-protos.h, config/nds32/nds32.c, config/nios2/nios2-protos.h, config/nios2/nios2.c, config/pa/pa-protos.h, config/pa/pa.c, config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c, config/rl78/rl78-protos.h, config/rl78/rl78.c, config/rs6000/altivec.md, config/rs6000/rs6000-c.c, config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/rx/rx-protos.h, config/rx/rx.c, config/s390/predicates.md, config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h, config/s390/s390.md, config/sh/predicates.md, config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.md, config/sparc/predicates.md, config/sparc/sparc-protos.h, config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu-protos.h, config/spu/spu.c, config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c, config/tilegx/tilegx-protos.h, config/tilegx/tilegx.c, config/tilegx/tilegx.md, config/tilepro/tilepro-protos.h, config/tilepro/tilepro.c, config/v850/v850-protos.h, config/v850/v850.c, config/v850/v850.md, config/vax/vax-protos.h, config/vax/vax.c, config/vms/vms-c.c, config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c, coverage.c, cprop.c, cse.c, cselib.c, cselib.h, dbxout.c, ddg.c, df-problems.c, dfp.c, dfp.h, doc/md.texi, doc/rtl.texi, doc/tm.texi, doc/tm.texi.in, dojump.c, dse.c, dwarf2cfi.c, dwarf2out.c, dwarf2out.h, emit-rtl.c, emit-rtl.h, except.c, explow.c, expmed.c, expmed.h, expr.c, expr.h, final.c, fixed-value.c, fixed-value.h, fold-const.c, function.c, function.h, fwprop.c, gcse.c, gengenrtl.c, genmodes.c, genopinit.c, genoutput.c, genpreds.c, genrecog.c, gensupport.c, gimple-ssa-strength-reduction.c, graphite-clast-to-gimple.c, haifa-sched.c, hooks.c, hooks.h, ifcvt.c, internal-fn.c, ira-build.c, ira-color.c, ira-conflicts.c, ira-costs.c, ira-emit.c, ira-int.h, ira-lives.c, ira.c, ira.h, jump.c, langhooks.h, libfuncs.h, lists.c, loop-doloop.c, loop-invariant.c, loop-iv.c, loop-unroll.c, lower-subreg.c, lower-subreg.h, lra-assigns.c, lra-constraints.c, lra-eliminations.c, lra-int.h, lra-lives.c, lra-spills.c, lra.c, lra.h, machmode.h, omp-low.c, optabs.c, optabs.h, output.h, postreload.c, print-tree.c, read-rtl.c, real.c, real.h, recog.c, recog.h, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c, regs.h, reload.c, reload.h, reload1.c, rtl.c, rtl.h, rtlanal.c, rtlhash.c, rtlhooks-def.h, rtlhooks.c, sched-deps.c, sel-sched-dump.c, sel-sched-ir.c, sel-sched-ir.h, sel-sched.c, simplify-rtx.c, stmt.c, stor-layout.c, stor-layout.h, target.def, targhooks.c, targhooks.h, tree-affine.c, tree-call-cdce.c, tree-complex.c, tree-data-ref.c, tree-dfa.c, tree-if-conv.c, tree-inline.c, tree-outof-ssa.c, tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-ivopts.h, tree-ssa-loop-manip.c, tree-ssa-loop-prefetch.c, tree-ssa-math-opts.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-streamer-in.c, tree-switch-conversion.c, tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c, tree-vrp.c, tree.c, tree.h, tsan.c, ubsan.c, valtrack.c, var-tracking.c, varasm.c: Remove redundant enum from machine_mode. gcc/ * gengtype.c (main): Treat machine_mode as a scalar typedef. * genmodes.c (emit_insn_modes_h): Hide inline functions if USED_FOR_TARGET. From-SVN: r216834
2014-10-28cgraph.h: Flatten.Andrew MacLeod3-0/+26
* cgraph.h: Flatten. Remove all include files. (symbol_table::initialize): Move to cgraph.c. * cgraph.c: Adjust include files. (symbol_table::initialize): Relocate from cgraph.h. * gengtype.c (open_base_files): Adjust include files. * gccplugin.h: Add hash-map.h, is-a.h, plugin-api.h, and ipa-ref.h to included files. * ipa-inline.h: Remove all include files. * ipa-prop.h: Ditto. * ipa-reference.h: Ditto. * ipa-utils.h: Ditto: * lto-streamer.h: Remove cgraph.h from include list. * asan.c: Adjust include files. * auto-profile.c: Ditto. * bb-reorder.c: Ditto. * calls.c: Ditto. * cfgexpand.c: Ditto. * cgraphbuild.c: Ditto. * cgraphclones.c: Ditto. * cgraphunit.c: Ditto. * combine.c: Ditto. * coverage.c: Ditto. * data-streamer.c: Ditto. * data-streamer-in.c: Ditto. * data-streamer-out.c: Ditto. * dbxout.c: Ditto. * dwarf2out.c: Ditto. * except.c: Ditto. * expr.c: Ditto. * final.c: Ditto. * fold-const.c: Ditto. * ggc-page.c: Ditto. * gimple-fold.c: Ditto. * gimple-iterator.c: Ditto. * gimple-pretty-print.c: Ditto. * gimple-streamer-in.c: Ditto. * gimple-streamer-out.c: Ditto. * gimplify.c: Ditto. * ipa.c: Ditto. * ipa-comdats.c: Ditto. * ipa-cp.c: Ditto. * ipa-devirt.c: Ditto. * ipa-icf.c: Ditto. * ipa-icf-gimple.c: Ditto. * ipa-inline-analysis.c: Ditto. * ipa-inline.c: Ditto. * ipa-inline-transform.c: Ditto. * ipa-polymorphic-call.c: Ditto. * ipa-profile.c: Ditto. * ipa-prop.c: Ditto. * ipa-pure-const.c: Ditto. * ipa-ref.c: Ditto. * ipa-reference.c: Ditto. * ipa-split.c: Ditto. * ipa-utils.c: Ditto. * ipa-visibility.c: Ditto. * langhooks.c: Ditto. * lto-cgraph.c: Ditto. * lto-compress.c: Ditto. * lto-opts.c: Ditto. * lto-section-in.c: Ditto. * lto-section-out.c: Ditto. * lto-streamer.c: Ditto. * lto-streamer-in.c: Ditto. * lto-streamer-out.c: Ditto. * omp-low.c: Ditto. * opts-global.c: Ditto. * passes.c: Ditto. * predict.c: Ditto. * print-tree.c: Ditto. * profile.c: Ditto. * ree.c: Ditto. * stor-layout.c: Ditto. * symtab.c: Ditto. * toplev.c: Ditto. * trans-mem.c: Ditto. * tree.c: Ditto. * tree-cfg.c: Ditto. * tree-eh.c: Ditto. * tree-emutls.c: Ditto. * tree-inline.c: Ditto. * tree-nested.c: Ditto. * tree-pretty-print.c: Ditto. * tree-profile.c: Ditto. * tree-sra.c: Ditto. * tree-ssa-alias.c: Ditto. * tree-ssa-loop-ivcanon.c: Ditto. * tree-ssa-loop-ivopts.c: Ditto. * tree-ssa-pre.c: Ditto. * tree-ssa-structalias.c: Ditto. * tree-streamer.c: Ditto. * tree-streamer-in.c: Ditto. * tree-streamer-out.c: Ditto. * tree-switch-conversion.c: Ditto. * tree-tailcall.c: Ditto. * tree-vect-data-refs.c: Ditto. * tree-vectorizer.c: Ditto. * tree-vect-stmts.c: Ditto. * tsan.c: Ditto. * ubsan.c: Ditto. * value-prof.c: Ditto. * varasm.c: Ditto. * varpool.c: Ditto. * config/arm/arm.c: Ditto. * config/bfin/bfin.c: Ditto. * config/c6x/c6x.c: Ditto. * config/cris/cris.c: Ditto. * config/darwin.c: Ditto. * config/darwin-c.c: Ditto. * config/i386/i386.c: Ditto. * config/i386/winnt.c: Ditto. * config/microblaze/microblaze.c: Ditto. * config/mips/mips.c: Ditto. * config/rs6000/rs6000.c: Ditto. * config/rx/rx.c: Ditto. * ada/gcc-interface/trans.c: Adjust include files. * ada/gcc-interface/utils.c: Ditto. * c/c-decl.c: Adjust include files. * c/c-parser.c: Ditto. * c-family/c-common.c: Adjust include files. * c-family/c-gimplify.c: Ditto. * c-family/cilk.c: Ditto. * c-family/c-pragma.c: Ditto. * c-family/c-ubsan.c: Ditto. * cp/call.c: Adjust include files. * cp/class.c: Ditto. * cp/decl2.c: Ditto. * cp/decl.c: Ditto. * cp/lambda.c: Ditto. * cp/mangle.c: Ditto. * cp/method.c: Ditto. * cp/optimize.c: Ditto. * cp/parser.c: Ditto. * cp/semantics.c: Ditto. * cp/tree.c: Ditto. * cp/vtable-class-hierarchy.c: Ditto. * fortran/f95-lang.c: Adjust include files. * fortran/trans-decl.c: Ditto. * go/go-gcc.cc: Adjust include files. * java/class.c: Adjust include files. * java/decl.c: Ditto. * java/jcf-parse.c: Ditto. * java/resource.c: Ditto. * lto/lto.c: Adjust include files. * lto/lto-lang.c: Ditto. * lto/lto-object.c: Ditto. * lto/lto-partition.c: Ditto. * lto/lto-symtab.c: Ditto. * objc/objc-act.c: Adjust include files. From-SVN: r216805
2014-10-27* gcc-interface/utils.c (create_subprog_decl): Adjust condition.Eric Botcazou2-1/+5
From-SVN: r216733
2014-10-27misc.c (gnat_init_options_struct): Parameterize errno support here instead of...Eric Botcazou2-16/+25
* gcc-interface/misc.c (gnat_init_options_struct): Parameterize errno support here instead of... Do not set flag_delete_dead_exceptions to 1 unconditionally. (gnat_init_gcc_eh): Set flag_delete_dead_exceptions to 1. (gnat_init_gcc_fp): ...here. From-SVN: r216731
2014-10-27* gcc-interface/trans.c (gnat_to_gnu) <N_Real_Literal>: Minor tweaks.Eric Botcazou2-11/+12
From-SVN: r216730
2014-10-27utils.c (create_var_decl_1): For a variable declared in the unit...Eric Botcazou2-28/+40
* gcc-interface/utils.c (create_var_decl_1): For a variable declared in the unit, set TREE_PUBLIC only if it has static storage duration. From-SVN: r216729
2014-10-27decl.c (gnat_to_gnu_entity): Apply special treatment of derived packed array ↵Eric Botcazou2-1/+8
types to constrained subtypes only. * gcc-interface/decl.c (gnat_to_gnu_entity): Apply special treatment of derived packed array types to constrained subtypes only. From-SVN: r216727