summaryrefslogtreecommitdiffstats
path: root/gcc/ada
Commit message (Collapse)AuthorAgeFilesLines
...
* 2014-01-29 Robert Dewar <dewar@adacore.com>charlet2014-01-29150-561/+592
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb, ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads, a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads, a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb, atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb, a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb, cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb, eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb, freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb, gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads, krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads, live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb, par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb, rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb, s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb, s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads, sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb, s-regpat.adb, s-secsta.adb, s-stalib.ads, s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb, s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb, s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads, system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb, urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207260 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Robert Dewar <dewar@adacore.com>charlet2014-01-293-6/+20
| | | | | | | | | | | | | * expander.adb: Minor reformatting. 2014-01-29 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Predefined_Primitive_Bodies): Adding documentation to previous patch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207257 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Javier Miranda <miranda@adacore.com>charlet2014-01-293-0/+29
| | | | | | | | | | | | | | | | | | | * exp_ch3.adb (Predefined_Primitive_Bodies): Complete the code that checks if an interface types defines the predefined "=" function because the compiler was erroneously not generating the predefined "=" primitive as soon as the name of some interface primitive is "=" (formals were not checked). 2014-01-29 Ed Schonberg <schonberg@adacore.com> * expander.adb (Expander): In GNATprove mode, do not process transient scopes: they are in general not created in this mode, and an attempt to examine them will lead to constraint errors when processing configuration pragmas that have analyzable expressions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207256 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Vincent Celier <celier@adacore.com>charlet2014-01-297-1/+66
| | | | | | | | | | | | | | | | | | * clean.adb (Gnatclean): Fail if main project is an aggregate project or if there is an aggregate library project in the project tree. * gnatcmd.adb: Fail if the main project is an aggregate project or if there is an aggegate library project in the project tree. * make.adb (Initialize): : Fail if main project is an aggregate project or if there is an aggregate library project in the project tree. * makeutl.ads (Aggregate_Libraries_In): New Boolean function. * prj-makr.adb (Initialize): Fail if the main project is an aggregate project or an aggregate library project. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207255 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Vincent Celier <celier@adacore.com>charlet2014-01-293-11/+61
| | | | | | | | | | | | * prj-part.adb (Check_Import_Aggregate): New procedure to check if an imported project is an aggregate project. (Parse_Single_Project): Call Check_Import_Aggregate * projects.texi: Document that aggregate projects cannot be extended or imported. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207254 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Robert Dewar <dewar@adacore.com>charlet2014-01-296-118/+139
| | | | | | | | | | | * exp_ch9.adb, sem_ch7.ads, s-regexp.adb, sem_ch13.adb: Minor reformatting and code clean up. * gnat_ugn.texi: Add documentation section on Atomic Variables and Optimization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207253 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>charlet2014-01-295-70/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * einfo.adb Flag264 is now unused. (Has_Body_References): Removed. (Set_Has_Body_References): Removed. (Write_Entity_Flags): Remove the output for flag Has_Body_References. * einfo.ads Update the comment on usage of attribute Body_References. Remove attribute Has_Body_References and its usage in nodes. (Has_Body_References): Removed along with pragma Inline. (Set_Has_Body_References): Removed along with pragma Inline. * sem_prag.adb (Analyze_Global_Item): Move the call to Record_Possible_Body_Reference in the state related checks section. Add a comment intended function. (Analyze_Input_Output): Move the call to Record_Possible_Body_Reference in the state related checks section. Add a comment intended function. (Analyze_Refinement_Clause): Cleanup the illegal body reference reporting. Add a comment on timing of error reporting. (Record_Possible_Body_Reference): Reimplement the routine. 2014-01-29 Vincent Celier <celier@adacore.com> * makeutl.adb (Mains.Find_File_Add_Extension): Only look for specs for unit-based languages. (Mains.Complete_Mains.Do_Complete): Use the source file project tree when calling Find_File_Add_Extension. Use the correct project name when reporting an error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207252 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>charlet2014-01-2920-627/+1680
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * aspects.adb Add an entry for aspect Part_Of in table Canonical_Aspect. * aspects.ads Add an entry for aspect Part_Of in tables Aspect_Id, Aspect_Argument, Aspect_Names and Aspect_Delay. * atree.h Define Elist9. * atree.adb (Elist9): New routine. (Set_Elist9): New routine. * atree.ads (Elist9): New routine. (Set_Elist9): New routine. * einfo.adb Add Part_Of_Constituents and Encapsulating_State to the list of node usage. Remove Refined_State from the list of node usage. (Encapsulating_State): New routine. (Get_Pragma): Handle pragma Part_Of; (Part_Of_Constituents): New routine. (Refined_State): Removed. (Set_Encapsulating_State): New routine. (Set_Part_Of_Constituents): New routine. (Set_Refined_State): Removed. (Write_Field9_Name): Add an entry for Part_Of_Constituents (Write_Field10_Name): Add an entry for Encapsulating_State. Remove the entry for Refined_State. * einfo.ads Add new attributes Encapsulating_State and Part_Of_Constituents alond with their usage in entities. Remove attribute Refined_State along with its usage in entities. (Encapsulating_State): New routine and pragma Inline. (Get_Pragma): Update the comment on usage. (Part_Of_Constituents): New routine and pragma Inline. (Refined_State): Removed along with pragma Inline. (Set_Encapsulating_State): New routine and pragma Inline. (Set_Part_Of_Constituents): New routine and pragma Inline. (Set_Refined_State): Removed along with pragma Inline. * par-prag.adb Pragma Part_Of does not need any special processing by the parser. * sem_ch3.adb (Analyze_Declarations): Remove local variables Body_Id and Prag. Call separate routines to analyze the contract of a package [body]. (Analyze_Object_Contract): Update the comment on usage. Remove local variables Items and Nam. Use Get_Pragma rather than traversing the classification list. Verify whether the lack of indicator Part_Of agrees with the placement of the variable in state space. (Analyze_Object_Declaration): Initialize the encapsulating state of a variable. (Requires_State_Refinement): Moved to sem_util. * sem_ch7.adb (Analyze_Package_Body_Contract): New routine. (Analyze_Package_Contract): New routine. * sem_ch7.ads (Analyze_Package_Body_Contract): New routine. (Analyze_Package_Contract): New routine. * sem_ch10.adb (Decorate_State): Initialize the encapsulating state and Part_Of constituents. * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for aspect Part_Of. Update all calls to Decorate_Delayed_Aspect_And_Pragma. (Check_Aspect_At_Freeze_Point): Aspect Part_Of does not need any special processing at freeze time. (Decorate_Delayed_Aspect_And_Pragma): Renamed to Decorate_Aspect_And_Pragma. Add formal parameter Delayed and update the associated comment. * sem_prag.adb Add an entry for pragma Part_Of in table Sig_Flags. (Analyze_Abstract_State): Add new global variable State_Id. Remove local constants Errors and Loc. Remove local variables Is_Null and State_Nam. Create the entity of the abstract state on the spot, before all remaining checks are performed. Verify that a missing Part_Of option agrees with the placement of the abstract state within the state space. (Analyze_Depends_In_Decl_Part): Add new global variables Constits_Seen and States_Seen. Check that a state and a corresponding constituent do not appear in pragma [Refined_]Depends. (Analyze_Global_In_Decl_Part): Add new global variables Constits_Seen and States_Seen. Check that a state and a corresponding constituent do not appear in pragma [Refined_]Global. (Analyze_Global_Item): Remove the now obsolete code that deals with Part_Of. Add the entity of the global item to the list of processed items. (Analyze_Initializes_In_Decl_Part): Add new global variables Constits_Seen and States_Seen. Check that a state and a corresponding constituent do not appear in pragma Initializes. (Analyze_Initialization_Item): Add the entity of the initialization item to the list of processed items. (Analyze_Input_Item): Add the entity of the initialization item to the list of processed items. (Analyze_Input_Output): Remove the now obsolete code that deals with Part_Of. Add the entity of the input/output to the list of processed items. (Analyze_Part_Of): New routine. (Analyze_Part_Of_Option): Remove local constant Par_State. Add local constant Encaps and local variables Encaps_Id and Legal. Use Analyze_Part of to analyze the option. Turn the related state into a Part_Of constituent if the option is legal. (Analyze_Pragma): Add processing for pragma Part_Of. (Analyze_Refined_State_In_Decl_Part): Remove global constants Pack_Body and Spec_Id. Remove global variables Abstr_States and Hidden_States. Add new global variables Available_States, Body_Id, Body_States and Spec_Id. Add new local constant Body_Decl. Reimplement the logic that extracts the states available for refinement from the related package and the body hidden states of the said package. (Analyze_Refinement_Clause): Add local variable Part_Of_Constits. (Check_Applicable_Policy): Alphabetize body. (Check_Dependency_Clause): Replace Refined_State with Encapsulating_State. (Check_Matching_Constituent): Reimplement the logic that determines whether an item is a valid / invalid constituent of the current refined state. Return when a construct does not denote a valid abstract state. Extract the list of Part_Of constituents for further analysis. Check that all Part_Of constituents of a state have been used in its refinement. (Check_Matching_State): Update the comment on usage. Operate on the list of available states. (Check_Missing_Part_Of): New routine. (Check_Refined_Global_Item): Replace Refined_State with Encapsulating_State. (Check_State_And_Constituent_Use): New routine. (Create_Abstract_State): New routine. (Is_Matching_Input): Replace Refined_State with Encapsulating_State. (Is_Part_Of): Removed. (Collect_Body_States): New routine. (Collect_Constituent): Replace Refined_State with Encapsulating_State. (Collect_Hidden_States): Removed. (Report_Unrefined_States): Change the profile of the procedure along with the comment on usage. (Report_Unused_Constituents): New routine. (Report_Unused_Hidden_States): Removed. (Report_Unused_States): New routine. * sem_prag.ads (Check_Missing_Part_Of): New routine. * sem_util.adb (Add_Contract_Item): Pragma Part_Of can now appear in the classification pragmas of a package instantiation or a variable. (Find_Placement_In_State_Space): New routine. (Is_Child): Removed. (Is_Child_Or_Sibling): Remove formal parameter Private_Child. Remove the private child checks. (Requires_State_Refinement): Moved from sem_ch3. * sem_util.ads Add new type State_Space_Kind along with comment on its usage and values. (Add_Contract_Item): Update the comment on usage. (Find_Body_Discriminal): Alphabetize spec. (Find_Placement_In_State_Space): New routine. (Is_Child_Or_Sibling): Remove formal parameter Private_Child and update the comment on usage. (Requires_State_Refinement): Moved from sem_ch3. * sinfo.ads: Update the documentation of N_Contract. * snames.ads-tmpl The predefined name for Part_Of is now used to denote a pragma. Add Pragma_Id for Part_Of. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207251 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Emmanuel Briot <briot@adacore.com>charlet2014-01-293-154/+244
| | | | | | | | | | | | | | | * s-regexp.adb (Create_Secondary_Table): Automatically grow the state machine as needed. (Dump): New subprogram. 2014-01-29 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Add Expand_Entry_Declaration to factorize code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207250 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Ed Schonberg <schonberg@adacore.com>charlet2014-01-293-2/+19
| | | | | | | | | | | * checks.adb: minor clarification. * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Limit search for primitive operations to the entities that immediately follow the type declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207248 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Tristan Gingold <gingold@adacore.com>charlet2014-01-298-53/+67
| | | | | | | | | | | | | | | | | | | | | | * exp_ch9.adb (Build_Protected_Entry): Do not call Complete_Entry_Body anymore. * rtsfind.ads (RE_Complete_Single_Entry_Body): Remove. * s-tposen.ads, s-tposen.adb (Complete_Single_Entry_Body): Remove. 2014-01-29 Pierre-Marie Derodat <derodat@adacore.com> * s-os_lib.adb, s-os_lib.ads (Normalize_Pathname): Return an empty string when the Name input bigger than allowed. Adapt the function specification. 2014-01-29 Ed Schonberg <schonberg@adacore.com> * checks.adb (Install_Null_Excluding_Check): Do not emit warning if expression is within a case_expression of if_expression. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207247 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Robert Dewar <dewar@adacore.com>charlet2014-01-293-4/+6
| | | | | | | | * exp_ch9.adb, inline.ads: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207246 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Tristan Gingold <gingold@adacore.com>charlet2014-01-294-7/+61
| | | | | | | | | | | | | | | | | | | | | * exp_ch9.adb (Is_Exception_Safe): Return true if no exceptions. 2014-01-29 Yannick Moy <moy@adacore.com> * inline.ads (Pending_Body_Info): Add SPARK_Mode and SPARK_Mode_Pragma components to be able to analyze generic instance. * sem_ch12.adb (Analyze_Package_Instantiation, Inline_Instance_Body, Need_Subprogram_Instance_Body, Load_Parent_Of_Generic): Pass in SPARK_Mode from instantiation for future analysis of the instance. (Instantiate_Package_Body, Instantiate_Subprogram_Body, Set_Instance_Inv): Set SPARK_Mode from instantiation to analyze the instance. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207244 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Robert Dewar <dewar@adacore.com>charlet2014-01-297-126/+92
| | | | | | | | | | | | | | | | | * sem_ch7.adb, sem_prag.adb, sem_ch4.adb, sem_ch6.adb: Minor code reorganization. 2014-01-29 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Update description of SPARK_Mode pragma. 2014-01-29 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Expand_N_Protected_Body): Remove Num_Entries. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207243 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Thomas Quinot <quinot@adacore.com>charlet2014-01-296-94/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch4.adb (Find_Component_In_Instance): Update comment. 2014-01-29 Ed Schonberg <schonberg@adacore.com> * exp_util.adb (Build_Task_Image_Prefix): Indicate that the resulting string is an internal entity. and thus requires no initialization. This is relevant when Initialize_ Scalars is enabled, because the resultant spurious initialization may lead to secondary stack anomalies that produce a mangled name for a task. 2014-01-29 Yannick Moy <moy@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode not inherited from spec anymore. Check consistency rules after processing of declarations. * sem_ch7.adb (Analyze_Package_Body_Helper): SPARK_Mode not inherited from spec anymore. Check consistency rules after processing of declarations. (Analyze_Package_Declaration): Set SPARK_Mode only for non-generic packages. * sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode): Implement new consistency rules. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207242 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Robert Dewar <dewar@adacore.com>charlet2014-01-2715-31/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | * sem_res.adb (Resolve_Comparison_Op): Add type name/location to unordered msg. (Resolve_Range): Add type name/location to unordered msg. 2014-01-27 Claire Dross <dross@adacore.com> * a-cofove.adb/s (Copy): Add precondition so that Copy (Source, Capacity) is only called with Capacity >= Length (Source) and Capacity in Capacity_Range. * a-cfdlli.adb/s, a-cfhase.adb/s, a-cfhama.adb/s, a-cforse.adb/s, a-cforma.adb/s (Copy): Add precondition so that Copy (Source, Capacity) is only called with Capacity >= Source.Capacity. Raise Capacity_Error in the code is this is not the case. 2014-01-27 Thomas Quinot <quinot@adacore.com> * sem_ch4.adb (Analyze_Selected_Component): Fix handling of selected component in an instance where the component of the actual is not visibile at instantiation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207146 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Ed Schonberg <schonberg@adacore.com>charlet2014-01-272-0/+14
| | | | | | | | | | | * sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type has a dynamic predicate, generate freeze node for Actual_Subtype at once, because the declaration of the corresponding predicate function will make reference to it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207145 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Tristan Gingold <gingold@adacore.com>charlet2014-01-2713-117/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb, exp_ch9.adb: Adjust comments. 2014-01-27 Robert Dewar <dewar@adacore.com> * exp_ch4.adb (Expand_N_Op_Expon): Remove unsigned type test for 2**X optimization. 2014-01-27 Ed Schonberg <schonberg@adacore.com> * a-suenst.adb: strings.utf_encoding.strings (Decode): Check explicitly whether value is in range of Character, because the library is typically compiled with range checks disabled, and we cannot rely on the implicit check on the argument of 'Val. 2014-01-27 Vincent Celier <celier@adacore.com> * a-ciorma.adb, a-cihama.adb (Assign): Copy the Source to the Target, not the Target to itself. 2014-01-27 Robert Dewar <dewar@adacore.com> * vms_conv.ads, ali.adb, sem_ch6.ads, opt.ads, vms_cmds.ads: Minor changes to avoid incorrect use of unordered enum types. 2014-01-27 Thomas Quinot <quinot@adacore.com> * sem_ch4.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207144 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Robert Dewar <dewar@adacore.com>charlet2014-01-277-219/+207
| | | | | | | | | | | | | | | | | | | | | | | | * scn.adb (Check_End_Of_Line): Removed. (Error_Long_Line): Removed. (Determine_License): Use versions of above routines from Scanner. * scng.adb (Check_End_Of_Line): Moved to spec. (Error_Long_Line): Removed, no longer used. * scng.ads (Check_End_Of_Line): Moved here from body. 2014-01-27 Tristan Gingold <gingold@adacore.com> * exp_ch7.adb (Build_Cleanup_Statements): Call Build_Protected_Subprogram_Call_Cleanup to insert the cleanup for protected body. * exp_ch9.adb (Build_Protected_Subprogram_Body): Likewise. Remove Service_Name variable. (Build_Protected_SUbprogam_Call_Cleanup): New procedure that factorize code from the above subprograms. * exp_ch9.ads (Build_Protected_Subprogram_Call_Cleanup): New procedure. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207143 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Hristian Kirtchev <kirtchev@adacore.com>charlet2014-01-2710-193/+422
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * einfo.adb (Has_Option): Reimplemented. * sem_prag.adb (Analyze_Refinement_Clause): Add global variables AR_Constit, AW_Constit, ER_Constit, EW_Constit, External_Constit_Seen and State. Add local variables Body_Ref, Body_Ref_Elmt and Extra_State. Reimplement part of the logic to avoid a cumbersome while pool. Verify the legality of an external state and relevant properties. (Check_External_Property): New routine. (Check_Matching_State): Remove parameter profile and update comment on usage. (Collect_Constituent): Store the relevant external property of a constituent. * sem_util.adb (Async_Readers_Enabled): Update the call to Has_Enabled_Property. (Async_Writers_Enabled): Update the call to Has_Enabled_Property. (Effective_Reads_Enabled): Update the call to Has_Enabled_Property. (Effective_Writes_Enabled): Update the call to Has_Enabled_Property. (Has_Enabled_Property): Rename formal parameter Extern to State_Id. Update comment on usage. Reimplement the logic to recognize the various formats of properties. 2014-01-27 Ed Schonberg <schonberg@adacore.com> * par-ch5.adb: Minor reformatting. 2014-01-27 Tristan Gingold <gingold@adacore.com> * s-tposen.ads: Harmonize style and comments. 2014-01-27 Vincent Celier <celier@adacore.com> * projects.texi: Document that shared library projects, by default, cannot import projects that are not shared library projects. 2014-01-27 Robert Dewar <dewar@adacore.com> * sem_ch8.adb (Find_Selected_Component): Use Replace instead of Rewrite. 2014-01-27 Ed Schonberg <schonberg@adacore.com> * a-suenco.adb, a-suenst.adb (Decode): Raise encoding error if any other exception is raised. (Convert): If both Input_Scheme and Output_Scheme are UTF_8 it is still necessary to perform a conversion in order to remove overlong encodings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207142 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Robert Dewar <dewar@adacore.com>charlet2014-01-2713-15/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_smem.adb: Minor reformatting. 2014-01-27 Thomas Quinot <quinot@adacore.com> * a-calfor.ads: Fix incorrect reference to operator "-" in comment. 2014-01-27 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Make_Call_Into_Operator): In ASIS mode, relocate nodes for operands to the original node for the call, to preserve Original_Node pointers within the resolved operands, given that they may have been rewritten as well. Previous approach copied the operands into a new tree and lost those pointers. 2014-01-27 Claire Dross <dross@adacore.com> * a-cofove.adb, a-cofove.ads: Add Strict_Equal function to the API. 2014-01-27 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Check_Internal_Protected_Use): A call through an anonymous access parameter of the current protected function is not a potential modification of the current object. 2014-01-27 Ed Schonberg <schonberg@adacore.com> * a-cobove.adb (Reserve_Capacity): Procedure raises Capacity_Error, not Constraint_Error, when request cannot be satisfied. 2014-01-27 Vincent Celier <celier@adacore.com> * a-coorma.adb, a-cohama.adb (Assign): Copy the Source to the Target, not the Target to itself. 2014-01-27 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_Concatenate): If the target of the concatenation is a library-level entity, always use the off-line version of concatenation, regardless of optimization level. This is space-efficient, and prevents linking problems when some units are compiled with different optimization levels. 2014-01-27 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb: Code clean up. 2014-01-27 Ed Schonberg <schonberg@adacore.com> * par-ch5.adb (P_Iterator_Specification): Improve error recovery when an array or container iterator includes a subtype indication, which is only legal in an element iterator. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207141 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Thomas Quinot <quinot@adacore.com>charlet2014-01-2714-90/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb: Minor reformatting. 2014-01-27 Robert Dewar <dewar@adacore.com> * opt.adb (SPARK_Mode): Default for library units is None rather than Off. * opt.ads: Remove AUTO from SPARK_Mode_Type SPARK_Mode_Type is no longer ordered. * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Remove AUTO possibility. * snames.ads-tmpl (Name_Auto): Removed, no longer used. 2014-01-27 Robert Dewar <dewar@adacore.com> * par-ch5.adb (P_Sequence_Of_Statements): Make entry in Suspicious_Labels table if we have identifier; followed by loop or block. * par-endh.adb (Evaluate_End_Entry): Search Suspicious_Labels table. * par.adb (Suspicious_Labels): New table. 2014-01-27 Robert Dewar <dewar@adacore.com> * exp_aggr.adb (Check_Bounds): Reason is range check, not length check. 2014-01-27 Yannick Moy <moy@adacore.com> * get_spark_xrefs.adb (Get_SPARK_Xrefs): Accept new type 'c' for reference. * lib-xref-spark_specific.adb (Is_Global_Constant): Remove useless function now. (Add_SPARK_Xrefs): Include references to constants. * spark_xrefs.ads Document new character 'c' for references to constants. 2014-01-27 Thomas Quinot <quinot@adacore.com> * exp_smem.adb (Add_Write_After): For a function call, insert write as an after action in a transient scope. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207140 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Thomas Quinot <quinot@adacore.com>charlet2014-01-273-63/+95
| | | | | | | | | | | | | | * exp_smem.adb (Expand_Shared_Passive_Variable): For a reference to a shared variable as an OUT formal in a call to an init proc, the 'Read call must be emitted after, not before, the call. 2014-01-27 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Remove mention of AUTO mode for SPARK_Mode pragma. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207139 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Robert Dewar <dewar@adacore.com>charlet2014-01-2716-500/+849
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-wichha.adb (Character_Set_Version): Change to output proper value. 2014-01-27 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Is_Input_Only_State): Removed. (Is_Non_Volatile_State): Removed. (Is_Output_State): Removed. * einfo.ads (Is_Input_Only_State): Remove attribute and subprogram. Update related entity. (Is_Non_Volatile_State): Remove attribute and subprogram. Update related entity. (Is_Output_State): Removed attribute and subprogram. Update related entity. * exp_ch6.adb (Expand_Subprogram_Contract): Update comment on generated code. * sem_ch3.adb (Analyze_Declarations): Analyze the contract of an object, not just variables. (Analyze_Object_Contract): New routine. (Analyze_Variable_Contract): Removed. (Process_Discriminants): Detect an illegal use of volatile discriminant in SPARK mode. * sem_ch5.adb (Analyze_Iterator_Specification): Detect an illegal use of volatile loop variable. (Analyze_Loop_Parameter_Specification): Detect an illegal use of volatile loop variable. * sem_ch6.adb (Process_Formals): Update the volatile object detection. Detect an illegal formal of mode IN OUT or OUT in SPARK mode. Enhance the error messages with references. * sem_ch12.adb (Instantiate_Object): Update the volatile object detection. Enhance the error messages with references. * sem_prag.adb (Analyze_Abstract_State): Enhance the error messages with references. (Analyze_Contract_Case): Enhance the error messages with references. (Analyze_External_Property): Call Check_Duplicate_Property to process an external property. (Analyze_External_Property_In_Decl_Part): New routine. (Analyze_External_State_In_Decl_Part): Removed. (Analyze_Global_Item): Detect an illegal use of a volatile constant. Detect an illegal use of a variable with enabled Effective_Reads. Enhance the error messages with references. Remove obsolete checks concerning Input_Only and Output_Only states. (Analyze_Initialization_Item): Enhance the error messages with references. (Analyze_Initializes_In_Decl_Part): Do not collect the states and variables when the initialization list is null. (Analyze_Input_Item): Enhance the error messages with references. (Analyze_Input_Output): Enhance the error messages with references. (Analyze_Pragma): Enhance the error messages with references. (Analyze_Refinement_Clause): Code reformatting. (Analyze_Refined_Depends_In_Decl_Part): Rename global variable Global to Reg_Global and update all occurrences. Add local variables D7 and D8. Update the error messages with references. Update the call to Collect_Global_Items. (Analyze_Refined_Global_In_Decl_Part): Add local variables Has_Proof_In_State, Proof_In_Constits and Proof_In_Items. Update the call to Collect_Global_Items. Account for a Proof_In state in null / useless refinement checks. Verify the coverage of Proof_In states. (Check_Dependency_Clause): Remove local variable Out_Constits. Remove the retrieval and removal of constituents for an Output_Only state. Remove the reporting of unused Output_Only state constituents. (Check_Duplicate_Mode): Enhance the error message with a reference. (Check_Duplicate_Property): New routine. (Check_Duplicate_Option): Enhance the error message with a reference. (Check_External_Properties): Enhance the error message with a reference. (Check_Function_Return): Enhance the error message with a reference. (Check_In_Out_States): Update comment on usage. Add a specialized error message for Proof_In constituents. Enhance the error message with a reference. (Check_Input_States): Update comment on usage. Account for possible Proof_In constituents. Enhance the error message with a areference. (Check_Matching_Constituent): Enhance the error message with a reference. (Check_Matching_State): Enchance the error message with a reference. (Check_Mode): Add local variable From_Global. Update the call to Find_Mode. Emit more precise error messages concerning extra items (Check_Mode_Restriction_In_Enclosing_Context): Consider pragma Refined_Global. Enhance the error message with a reference. (Check_Mode_Restriction_In_Function): Enhance the error message with a reference. (Check_Output_States): Update comment on usage. Add local variable Posted. Account for possible Proof_In constituents. Produce a detailed list of missing constituents. (Check_Proof_In_States): New routine. (Check_Refined_Global_Item): Handle Proof_In constituents. Enchance the error message with a reference. (Collect_Global_Items): Add formal parameters Proof_In_Items and Has_Proof_In_State. Update the comment on usage. Account for Proof_In items. (Create_Or_Modify_Clause): Enchance the error message with a reference. (Find_Mode): Add formal parameter From_Global. Update the comment on usage. Detect when the mode is governed by pragma [Refined_]Global. (Output_Constituents): Removed. (Report_Extra_Constituents): Report extra Proof_In constituents. (Report_Unused_Constituents): Removed. (Usage_Error): Code reformatting. Enhance the error messages with reference. * sem_prag.ads (Analyze_External_Property_In_Decl_Part): New routine. (Analyze_External_State_In_Decl_Part): Removed. * sem_res.adb (Resolve_Actuals): Update the volatile object detection. Enhance the error message with a reference. (Resolve_Entity_Name): Update the volatile object detection. Enhance the error message with a reference. * sem_util.adb (Is_Refined_State): Add a guard to avoid a crash. (Is_SPARK_Volatile_Object): New routine. (Has_Volatile_Component): New routine. * sem_util.ads (Is_Delegate): Alphabetized. (Is_SPARK_Volatile_Object): New routine. (Has_Volatile_Component): New routine. * snames.ads-tmpl: Remove names Name_Input_Only and Name_Output_Only. 2014-01-27 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb: Resolve fully prefix of 'Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207138 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Ben Brosgol <brosgol@adacore.com>charlet2014-01-274-18/+61
| | | | | | | | | | | | | | | * gnat_rm.texi: Minor clarifications. 2014-01-27 Robert Dewar <dewar@adacore.com> * sem_elab.adb (Check_Internal_Call_Continue): Avoid complaining about call that is generated as part of an Initial_Condition check. * sem_prag.adb: Minor spelling correction. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207136 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Robert Dewar <dewar@adacore.com>charlet2014-01-274-6/+31
| | | | | | | | | | * sem_prag.adb (Set_Convention_From_Pragma): Check that convention Ghost can only apply to functions. * einfo.ads, einfo.adb (Is_Ghost_Subprogram): Add clarifying comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207135 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-27 Robert Dewar <dewar@adacore.com>charlet2014-01-275-2/+36
| | | | | | | | | | | | | | | * gnat_ugn.texi: Add Short_Enums to documentation of -gnatet/-gnateT. 2014-01-27 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Analyze_Input_Item): Correct check for input item in same package. * sem_util.ads, sem_util.adb (Within_Scope): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207134 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-26 Arnaud Charlet <charlet@adacore.com> charlet2014-01-2611-3988/+8
| | | | | | | | | | | | * a-intnam-lynxos.ads, mlib-tgt-specific-lynxos.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, system-lynxos-ppc.ads, system-lynxos-x86.ads: Removed, no longer maintained. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207114 138bc75d-0d04-0410-961f-82ee72b054a4
* Complete previous changes.charlet2014-01-261-95/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207113 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix pilot error in previous checkinebotcazou2014-01-251-18/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207098 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Makefile.in: Fix oversight.ebotcazou2014-01-252-1/+117
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207074 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (convert_to_fat_pointer): Un-obfuscate theebotcazou2014-01-253-27/+48
| | | | | | | | | | conversion from a thin pointer with a shifted value. * gcc-interface/utils2.c (gnat_build_constructor): Propagate the read-only flag from the values onto the result. (gnat_invariant_expr): Accept read-only CONSTRUCTORs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207073 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): Always build a variableebotcazou2014-01-252-0/+9
| | | | | | | for E_Variable with a pragma Linker_Section. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207072 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_param): Make sure an Out parameterebotcazou2014-01-252-2/+9
| | | | | | | with Default_Value aspect is passed in by copy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207071 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Eric Botcazou <ebotcazou@adacore.com>charlet2014-01-247-15/+94
| | | | | | | | | | | | | | | | | | * set_targ.adb: Set Short_Enums. * gcc-interface/lang.opt (fshort-enums): New option. * gcc-interface/misc.c (gnat_handle_option): Handle it. (gnat_post_options): Do not modify the global settings. 2014-01-24 Robert Dewar <dewar@adacore.com> * g-rannum.ads, g-rannum.adb (Random_Ordinary_Fixed): New generic function. (Random_Decimal_Fixed): New generic function. * s-rannum.ads: Minor comment clarifications. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207049 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Robert Dewar <dewar@adacore.com>charlet2014-01-2412-46/+60
| | | | | | | | | | | | | | | | | | | | * back_end.adb: Remove Short_Enums handling (handled in Ttypes/Get_Targ now) Minor added comments. * freeze.adb: Change name Short_Enums_On_Target to Target_Short_Enums. * get_targ.ads, get_targ.adb (Get_Short_Enums): New function. * opt.ads: Minor comment updates. * sem_ch13.adb: Change name Short_Enums_On_Target to Target_Short_Enums. * set_targ.adb: Set Short_Enums from gcc back end. * set_targ.ads (Short_Enums): New variable. * targparm.ads, targparm.adb: Remove Short_Enums entries (handled in Ttypes/Get_Targ now). * ttypes.ads (Target_Short_Enums): New constant boolean switch git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207045 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Pascal Obry <obry@adacore.com>charlet2014-01-242-3/+12
| | | | | | | | * g-sercom-mingw.adb: Fix serial port name for port number > 10. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207044 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Gary Dismukes <dismukes@adacore.com>charlet2014-01-242-4/+11
| | | | | | | | | | * exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when comparing it with Ctrl_Arg, since Ctrl_Arg may have had qualification stripped off. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207043 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Robert Dewar <dewar@adacore.com>charlet2014-01-247-39/+81
| | | | | | | | | | | | | | | | | | | | | | | | * sinfo.ads, make.adb, prj-env.adb: Minor reformatting. 2014-01-24 Vincent Celier <celier@adacore.com> * prj.adb (Add_Aggregated_Project): Do not add a project in the list if it is already there. 2014-01-24 Yannick Moy <moy@adacore.com> * lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package): Correct the search for a subrogram declaration to which a pragma is attached. 2014-01-24 Bob Duff <duff@adacore.com> * gnat_ugn.texi: Document --decimal-grouping and --based-grouping switches in gnatpp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207042 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Ed Schonberg <schonberg@adacore.com>charlet2014-01-244-22/+96
| | | | | | | | | | | | | | | | | | | | * sinfo.ads: Documentation update. 2014-01-24 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Constant_Redeclaration): New declaration is illegal if previous one has an initial expression that is an aggregate expanded into assignments. 2014-01-24 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Small code reorganization to remove spurious warning on a loop with an array element iterator that has a null range. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207041 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Robert Dewar <dewar@adacore.com>charlet2014-01-244-7/+12
| | | | | | | | * prj.adb, prj-env.adb, back_end.adb: Add comment, minor code clean ups. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207040 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Ed Schonberg <schonberg@adacore.com>charlet2014-01-244-3/+26
| | | | | | | | | | | | | | | | * sem_ch3.adb (Analyze_Declarations): At the end of an appropriate declarative part, call Freeze_All from the first declaration in the scope, not from the first unfrozen one. This is necessary to apply visibility checks to entities with delayed aspects. Otherwise, in the presence of instantiations and cleanups that they may generate, the delayed aspects may be analyzed too late and produce spurious visibility errors. * sem_attr.adb: Place etype on range. * sem_ch6.adb: Documentation expression functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207039 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Tristan Gingold <gingold@adacore.com>charlet2014-01-242-0/+10
| | | | | | | | | * gcc-interface/misc.c (flag_short_enums): Declare. (gnat_post_options): Set it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207037 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Robert Dewar <dewar@adacore.com>charlet2014-01-2415-41/+193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb: Minor change of Indices to Indexes (preferred terminology in compiler). 2014-01-24 Robert Dewar <dewar@adacore.com> * scans.ads: Remove Tok_Raise from Sterm, Eterm, After_SM categories, now that Ada 95 supports raise expressions. 2014-01-24 Robert Dewar <dewar@adacore.com> * freeze.adb (Freeze_Enumeration_Type): Use new target parameter Short_Enums_On_Target. * sem_ch13.adb (Set_Enum_Esize): Take Short_Enums_On_Target into account. * targparm.ads, targparm.adb: Add new target parameter Short_Enums. 2014-01-24 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): If subtype indication is given explicity, check that it matches the array component type or the container element type of the domain of iteration. 2014-01-24 Tristan Gingold <gingold@adacore.com> * back_end.adb (Scan_Compiler_Arguments): Set Short_Enums_On_Target. 2014-01-24 Vincent Celier <celier@adacore.com> * prj-env.adb (Ada_Objects_Path): Use Ada_Objects_Path_No_Libs to cache the result when Including_Libraries is False. * prj-env.ads (Ada_Objects_Path): Update documentation * prj.adb (Free (Project_Id)): Also free Ada_Objects_Path_No_Libs (Get_Object_Directory): Return the Library_Ali_Dir only when when Including_Libraries is True. * prj.ads (Get_Object_Directory): Fix and complete documentation (Project_Data): New component Ada_Objects_Path_No_Libs git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207036 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Robert Dewar <dewar@adacore.com>charlet2014-01-245-26/+93
| | | | | | | | | | | | | | | | | | | | | | * checks.adb (Expr_Known_Valid): Result of fpt operator never considered valid. 2014-01-24 Eric Botcazou <ebotcazou@adacore.com> * back_end.adb: Minor fix in comment. 2014-01-24 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Check_Abstract_Overriding): Code reestructuration required to report the error in case of task types. 2014-01-24 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb: Additional index checking. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207035 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Ed Schonberg <schonberg@adacore.com>charlet2014-01-2414-57/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_attr.adb (Analyze_Attribute, case 'Update): Analyze expressions in each component association, and for records note the entity in each association choice, for subsequent resolution. (Resolve_Attribute, case 'Update): Complete resolution of expressions in each component association. 2014-01-24 Robert Dewar <dewar@adacore.com> * sem.adb (Sem): Avoid premature reference to Current_Sem_Unit (this was causing Is_Main_Unit_Or_Main_Unit_Spec to be set wrong, leading to wrong handling of SPARK_Mode for library units). 2014-01-24 Robert Dewar <dewar@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set SPARK_Mode on generic instances (do not consider them to be internally generated) 2014-01-24 Doug Rupp <rupp@adacore.com> * s-osinte-android.ads (pthread_sigmask): Import sigprocmask vice pthread_sigmask. 2014-01-24 Vincent Celier <celier@adacore.com> * prj.adb (Debug_Output (Str, Str2)): Output if verbosity is not default. 2014-01-24 Vincent Celier <celier@adacore.com> * prj-ext.adb (Add): Do not output anything when Silent is True, whatever the verbosity. When Source is From_External_Attribute, set the corresponding environment variable if it is not already set. * prj-ext.ads (Add): New Boolean parameter Silent, defaulted to False * prj-proc.adb (Process_Expression_For_Associative_Array): For attribute External, call Prj.Ext.Add with Silent set to True for the child environment, to avoid useless output in non default verbosity. 2014-01-24 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Set_Slice_Subtype): Handle properly a discrete range given by a subtype indication, and force evaluation of the bounds, as for a simple range. * exp_util.adb (Evaluate_Slice_Bounds): Utility to force evaluation of bounds of slice for various kinds of discrete ranges. (Evaluate_Name, Evaluate_Subtype_From_Expr): use Evaluate_Slice_Bounds. 2014-01-24 Bob Duff <duff@adacore.com> * s-taskin.ads (Activator): Make this Atomic, because Activation_Is_Complete reads it, and that can be called from any task. Previously, this component was only modified by the activator before activation, and by Self after activation. * a-taside.ads, a-taside.adb (Environment_Task, Activation_Is_Complete): Implement these missing functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207034 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Doug Rupp <rupp@adacore.com>charlet2014-01-2415-56/+427
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * init.c: Add a handler section for Android. 2014-01-24 Arnaud Charlet <charlet@adacore.com> * i-cexten.ads (Unsigned_33..64, Unsigned_33..64): New types. 2014-01-24 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Operator_Check): If one operand is a Raise_Expression, set its type to that of the other operand. * sem_res.adb (Resolve_Raise_Expression): new procedure. (Resolve_Actuals): For an actual that is a Raise_Expression, set the type to that of the formal. * sem_type.adb (Find_Unique_Type): If one of the operands is a Raise_Expression, return type of the other operand. 2014-01-24 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Record_Aggregate): If a scalar component of the record has a type with a default aspect, and the corresponding aggregate component is initiaized with a box, use the default value in the rewritten aggregate. 2014-01-24 Tristan Gingold <gingold@adacore.com> * s-interr.ads, s-interr.adb, s-interr-hwint.adb, s-interr-vms.adb, s-interr-sigaction.adb, s-interr-dummy.adb (Install_Restricted_Handlers): Add Prio parameter. * exp_ch9.adb (Make_Initialize_Protection): Add Prio parameter to the call to Install_Restricted_Handlers. 2014-01-24 Emmanuel Briot <briot@adacore.com> * prj-nmsc.adb (Check_File): Add protection when the source is not fully initialized. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207033 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Ed Schonberg <schonberg@adacore.com>charlet2014-01-246-98/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_util.adb (Is_Post_State): In a postcondition, a selected component that denotes an implicit dereference is a reference to the post state of the subprogram. 2014-01-24 Robert Dewar <dewar@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode OFF for generated subprograms. (Analyze_Subprogram_Specification): Ditto. 2014-01-24 Vincent Celier <celier@adacore.com> * prj-dect.adb (Check_Attribute_Allowed): Detect more forbidden attributes in package Builder of aggregate and aggregate library projects. * prj-nmsc.adb (Process_Naming_Scheme.Check.Check_Aggregate): Remove procedure (Process_Naming_Scheme.Check.Check_Aggregated): Remove parameters. Change error message from "... externally build library ..." to "... externally built project ...". (Process_Naming_Scheme.Check): Do not do any check in aggregate project, as attribute Library_Dir and Library_Name have already been detected as forbidden. 2014-01-24 Vincent Celier <celier@adacore.com> * prj-env.adb (Find_Project): If cached project path is not in project directory, look in current directory first and use cached project path only if project is not found in project directory. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207032 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Robert Dewar <dewar@adacore.com>charlet2014-01-243-12/+29
| | | | | | | | * sem_util.adb, lib-xref.adb: Correct false positive warnings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207031 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Vincent Celier <celier@adacore.com>charlet2014-01-244-27/+77
| | | | | | | | | | | | | | | | | | * projects.texi: Document that aggregate projects are only supported by gprbuild, but not by gnatmake. Document that the only attribute Switches in package Binder of aggregate projects will be ignored if its index is not others. Document that attribute Global_Config_File is allowed in package Binder of aggregate projects. 2014-01-24 Robert Dewar <dewar@adacore.com> * sem_prag.adb: Minor code reorganization. * sem_util.adb: Minor fix of potential latent bug in Is_LHS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207029 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud