aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
AgeCommit message (Collapse)AuthorFilesLines
2013-04-23[multiple changes]Arnaud Charlet6-29/+40
2013-04-23 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_N_Subprogram_Body): When compiling with initialize_scalars, disable predicate checks on the generated assignment to an out scalar parameter. 2013-04-23 Gary Dismukes <dismukes@adacore.com> * sem_ch4.adb (Analyze_Allocator): Remove error check for "constrained in partial view" constraints entirely. 2013-04-23 Robert Dewar <dewar@adacore.com> * einfo.ads, sem_prag.ads: Minor reformatting. * errout.ads: Comment update. From-SVN: r198194
2013-04-23[multiple changes]Arnaud Charlet5-14/+32
2013-04-23 Yannick Moy <moy@adacore.com> * exp_ch5.adb: Minor typo. 2013-04-23 Thomas Quinot <quinot@adacore.com> * gnat_ugn.texi: Fix typo. 2013-04-23 Ed Schonberg <schonberg@adacore.com> * einfo.ads: Minor documentation clarification. 2013-04-23 Bob Duff <duff@adacore.com> * types.ads: Fix incorrect comment. From-SVN: r198189
2013-04-23sem_aux.adb [...] (Effectively_has_Constrained_Partial_View): Rename ↵Ed Schonberg9-95/+106
subprogram as Object_Type_Has_Constrained_Partial_View... 2013-04-23 Ed Schonberg <schonberg@adacore.com> * sem_aux.adb sem_aux.ads (Effectively_has_Constrained_Partial_View): Rename subprogram as Object_Type_Has_Constrained_Partial_View, better description of purpose. * checks.adb (Apply_Discriminant_Check): Use above renaming. * sem_ch4.adb (Analyze_Allocator): Check Has_Constrained_Partial_View of the base type, rather than using the Object_Type predicate. * sem_attr.adb (Analyze_Attribute, case 'Access): Use above renaming. * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): ditto. * exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained): Ditto. * exp_ch4.adb (Expand_N_Allocator): Ditto. From-SVN: r198188
2013-04-23exp_prag.adb (Expand_Pragma_Check): Check for Assert rather than Assertion.Robert Dewar7-100/+205
2013-04-23 Robert Dewar <dewar@adacore.com> * exp_prag.adb (Expand_Pragma_Check): Check for Assert rather than Assertion. * sem_prag.adb (Is_Valid_Assertion_Kind): Moved to spec (Effective_Name): New function (Analyze_Pragma, case Check): Disallow [Statement_]Assertions (Check_Kind): Implement Statement_Assertions (Check_Applicable_Policy): Use Effective_Name (Is_Valid_Assertion_Kind): Allow Statement_Assertions. * sem_prag.ads (Is_Valid_Assertion_Kind): Moved here from body (Effective_Name): New function. * sem_res.adb: Minor reformatting. * snames.ads-tmpl (Name_Statement_Assertions): New entry. * gnat_rm.texi: Add documentation of new assertion kind Statement_Assertions. From-SVN: r198187
2013-04-23sinfo.ads, [...]: Minor reformatting and code clean up.Robert Dewar6-30/+46
2013-04-23 Robert Dewar <dewar@adacore.com> * sinfo.ads, einfo.adb, sem_res.adb, exp_ch6.adb, aspects.adb: Minor reformatting and code clean up. From-SVN: r198186
2013-04-23[multiple changes]Arnaud Charlet7-15/+60
2013-04-23 Vincent Celier <celier@adacore.com> * prj-part.ads, prj-conf.ads: Minor comment updates. 2013-04-23 Ed Schonberg <schonberg@adacore.com> * einfo.adb (Predicate_Function): For a private type, retrieve predicate function from full view. * aspects.adb (Find_Aspect): Ditto. * exp_ch6.adb (Expand_Actuals): If the formal is class-wide and the actual is a definite type, apply predicate check after call. * sem_res.adb: Do not apply a predicate check before the call to a generated Init_Proc. From-SVN: r198185
2013-04-23[multiple changes]Arnaud Charlet9-206/+325
2013-04-23 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Significant rewrite to make sure Is_Ignore is properly captured when aspect is declared. * sem_ch6.adb: Minor reformatting. * sem_prag.adb (Analyze_Pragma): Do not test policy at time of pragma for the case of a pragma coming from an aspect (already tested when we analyzed the aspect). 2013-04-23 Vincent Celier <celier@adacore.com> * prj-conf.adb (Parse_Project_And_Apply_Config): New Boolean parameter Implicit_Project, defaulted to False. Call Prj.Part.Parse with Implicit_Project. * prj-conf.ads (Parse_Project_And_Apply_Config): New Boolean parameter Implicit_Project, defaulted to False. * prj-part.adb (Parse_Single_Project): New Boolean parameter Implicit_Project, defaulted to False. When Implicit_Project is True, change the Directory of the project node to the Current_Dir. * prj-part.ads (Parse): New Boolean parameter, defaulted to False 2013-04-23 Robert Dewar <dewar@adacore.com> * exp_util.adb: Minor reformatting. From-SVN: r198184
2013-04-23[multiple changes]Arnaud Charlet6-44/+65
2013-04-23 Robert Dewar <dewar@adacore.com> * xoscons.adb: Minor reformatting. 2013-04-23 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Check_Mode): Ensure that a self-referential output appears in both input and output lists of the subprogram as categorized by aspect Global. (Check_Usage): Rename formal parameters to better illustrate their function. Update all uses of the said formals. 2013-04-23 Thomas Quinot <quinot@adacore.com> * exp_util.adb, exp_util.ads (Fully_Qualified_Name_String): New parameter Append_NUL to make NUL-termination optional. * exp_dist.adb: Consistently use the above throughout instead of Get_Library_Unit_Name_String. From-SVN: r198183
2013-04-23[multiple changes]Arnaud Charlet6-36/+56
2013-04-23 Robert Dewar <dewar@adacore.com> * sem_util.adb, sem_res.adb, prj-tree.adb, prj-tree.ads: Minor reformatting. 2013-04-23 Pascal Obry <obry@adacore.com> * xoscons.adb: Remove unused use clause, minor code clean-up. From-SVN: r198182
2013-04-23[multiple changes]Arnaud Charlet5-17/+43
2013-04-23 Ed Schonberg <schonberg@adacore.com> * sem_util.ads, sem_util.adb: Code cleanup for Is_Expression_Function (can apply to any scope entity). * sem_res.adb (Resolve_Call): If the call is within another expression function it does not constitute a freeze point. 2013-04-23 Yannick Moy <moy@adacore.com> * exp_ch6.adb (Expand_Actuals): Test that Subp is overloadable before testing if it's an inherited operation. From-SVN: r198181
2013-04-23a-envvar.adb, [...]: Minor reformatting.Robert Dewar5-17/+22
2013-04-23 Robert Dewar <dewar@adacore.com> * a-envvar.adb, a-envvar.ads, exp_util.adb, sem_ch12.adb: Minor reformatting. From-SVN: r198180
2013-04-23[multiple changes]Arnaud Charlet8-256/+292
2013-04-23 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Object_Declarations): Undo previous patch. * exp_util.adb (Expand_Subtype_From_Expr): If the expression is a source entity and the declaration is for an aliased unconstrained array, create a new subtype so that the flag Is_Constr_Subt_For_UN_Aliased does not pollute other entities. 2013-04-23 Hristian Kirtchev <kirtchev@adacore.com> * aspects.adb: Move tables Base_Aspect and Inherited_Aspect from the spec to the body. (Find_Aspect): Update the call to Get_Aspect_Id. (Get_Aspect_Id): New version that takes an aspect specification. * aspects.ads: Reorganize all aspect related tables. (Get_Aspect_Id): New version that takes an aspect specification. * par_sco.adb (Traverse_Aspects): Update the call to Get_Aspect_Id. * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Update the call to Get_Aspect_Id. * sem_ch13.adb (Analyze_Aspect_At_Freeze_Point): Update the call to Get_Aspect_Id. (Analyze_Aspect_Specifications): Update the call to Get_Aspect_Id. Update the call to Impl_Defined_Aspect. From-SVN: r198179
2013-04-23[multiple changes]Arnaud Charlet10-58/+163
2013-04-23 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Fix_Error): Rewrite to do more accurate job of getting proper name in the case where pragma comes from aspect. * sem_ch3.adb, sinfo.ads, par-ch6.adb, exp_ch6.adb: Minor reformatting. 2013-04-23 Yannick Moy <moy@adacore.com> * sem_ch6.adb (Process_PPCs): Do not filter postconditions based on applicable policy. 2013-04-23 Thomas Quinot <quinot@adacore.com> * par_sco.adb (Traverse_Aux_Decls): Minor code reorganization. 2013-04-23 Doug Rupp <rupp@adacore.com> * init.c: Move facility macros outside IN_RTS. 2013-04-23 Thomas Quinot <quinot@adacore.com> * freeze.adb (Freeze_Entity): For the case of a bit-packed array time that is known at compile time to have more that Integer'Last+1 elements, issue an error, since such arrays are not supported. From-SVN: r198178
2013-04-23[multiple changes]Arnaud Charlet5-31/+119
2013-04-23 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Dependency_Clause): Update all calls to Analyze_Input_Output. (Analyze_Input_List): Update all calls to Analyze_Input_Output. (Analyze_Input_Output): Add formal parameter Self_Ref along with comment on its usage. Update all calls to Analyze_Input_Output. (Analyze_Pragma): Add new local variable Self_Ref to capture the presence of a self-referential dependency clause. Update all calls to Analyze_Input_Output. (Check_Mode): Add formal parameter Self_Ref along with comment on its usage. Verify the legality of a self-referential output. 2013-04-23 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb: Add predicate checks on by-copy parameter. 2013-04-23 Vincent Celier <celier@adacore.com> * a-envvar.adb, a-envvar.ads (Value): New. From-SVN: r198177
2013-04-22exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as null statement ↵Yannick Moy4-25/+24
if ignored. 2013-04-22 Yannick Moy <moy@adacore.com> * exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as null statement if ignored. * sem_ch6.adb (Expand_Contract_Cases): Do nothing if pragma is ignored. * sem_prag.adb (Analyze_Pragma): Keep analyzing ignored pragmas. From-SVN: r198135
2013-04-22[multiple changes]Arnaud Charlet3-80/+156
2013-04-22 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Contract_Case): New routine. (Analyze_Pragma): Aspect/pragma Contract_Cases can now be associated with a library level subprogram. Add circuitry to detect illegal uses of aspect/pragma Contract_Cases in a subprogram body. (Chain_Contract_Cases): Rename formal parameter Subp_Decl to Subp_Id. Remove local constant Subp. The entity of the subprogram is now obtained via the formal paramter. 2013-04-22 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): Do not set Is_Constr_Subt_For_Unc_Aliased on the subtype of the expression, if the expression is a source entity. From-SVN: r198134
2013-04-22[multiple changes]Arnaud Charlet7-19/+39
2013-04-22 Yannick Moy <moy@adacore.com> * exp_prag.adb, sinfo.ads, sem_prag.ads: Minor correction of typos in comments. * sem_ch6.adb (Expand_Contract_Cases): Add location to message. 2013-04-22 Thomas Quinot <quinot@adacore.com> * sem_prag.adb (Fix_Error): For a pragma rewritten from another pragma, fix up error message to include original pragma name. * par_sco.adb: Minor reformatting. From-SVN: r198133
2013-04-22sem_prag.adb, [...]: Minor reformatting.Robert Dewar8-219/+214
2013-04-22 Robert Dewar <dewar@adacore.com> * sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb, sem_ch6.adb, opt.ads: Minor reformatting. From-SVN: r198132
2013-04-22exp_ch6.adb: Omit check for init proc.Ed Schonberg1-0/+1
2013-04-22 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb: Omit check for init proc. From-SVN: r198131
2013-04-22[multiple changes]Arnaud Charlet8-23/+94
2013-04-22 Pascal Obry <obry@adacore.com> * gnat_ugn.texi, prj-nmsc.adb, projects.texi: Add check for Library_Standalone and Library_Kind. 2013-04-22 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Actuals): If the call is to an inherited operation and the actual is a by-reference type with predicates, add predicate call to post-call actions. * sem_util.adb (Is_Inherited_Operation_For_Type): Fix coding error: a type declaration has a defining identifier, not an Etype. * sem_res.adb: Restore code removed because of above error. 2013-04-22 Doug Rupp <rupp@adacore.com> * init.c (__gnat_handle_vms_condition): Also match C$_SIGINT. From-SVN: r198130
2013-04-22[multiple changes]Arnaud Charlet9-38/+57
2013-04-22 Yannick Moy <moy@adacore.com> * gnat_rm.texi, exp_util.adb, sem_prag.adb, sem_prag.ads, par-ch2.adb, opt.ads, sem_ch13.adb: Minor correction of typos in comments/doc. 2013-04-22 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Check_Library_Attributes): Set Library_Dir to No_Path_Information only when Directories_Must_Exist_In_Projects is False. (Get_Directories): Set Object_Directory or Exec_Directory to No_Path_Information only when Directories_Must_Exist_In_Projects is False. From-SVN: r198129
2013-04-22par-prag.adb, [...]: Remove all references to Pragma_Contract_Case and ↵Yannick Moy9-193/+61
Name_Contract_Case. 2013-04-22 Yannick Moy <moy@adacore.com> * par-prag.adb, sem_attr.adb, sem_ch6.adb, sem_prag.adb, sem_warn.adb, snames.ads-tmpl, sinfo.ads, sem_util.ads: Remove all references to Pragma_Contract_Case and Name_Contract_Case. From-SVN: r198128
2013-04-22aspects.ads, [...]: Removal of references to Contract_Case.Yannick Moy7-138/+113
2013-04-22 Yannick Moy <moy@adacore.com> * aspects.ads, aspects.adb, sem_ch13.adb: Removal of references to Contract_Case. * gnat_ugn.texi, gnat_rm.texi Description of Contract_Case replaced by description of Contract_Cases. From-SVN: r198127
2013-04-12makeutl.adb, [...]: Minor reformatting.Robert Dewar7-67/+217
2013-04-12 Robert Dewar <dewar@adacore.com> * makeutl.adb, prj-nmsc.adb: Minor reformatting. 2013-04-12 Robert Dewar <dewar@adacore.com> * exp_util.adb (Make_Invariant_Call): Use Check_Kind instead of Check_Enabled. * gnat_rm.texi (Check_Policy): Update documentation for new Check_Policy syntax. * sem_prag.adb (Check_Kind): Replaces Check_Enabled (Analyze_Pragma, case Check_Policy): Rework to accomodate new syntax (like Assertion_Policy). * sem_prag.ads (Check_Kind): Replaces Check_Enabled. From-SVN: r197920
2013-04-12Update dependencies.Arnaud Charlet1-33/+34
From-SVN: r197919
2013-04-12[multiple changes]Arnaud Charlet7-89/+188
2013-04-12 Doug Rupp <rupp@adacore.com> * init.c (SS$_CONTROLC, SS$_CONTINUE) [VMS]: New macros. (__gnat_handle_vms_condition) [VMS]: Dispatch on the Crtl/C user handler if installed. * ctrl_c.c (__gnat_install_int_handler) [VMS]: Install a dummy sigaction handler to trigger the real user handler dispatch in init.c/__gnat_handle_vms_condition. (__gnat_uninstall_int_handler) [VMS]: Likewise. 2013-04-12 Vincent Celier <celier@adacore.com> * clean.adb (Parse_Cmd_Line): Set Directories_Must_Exist_In_Projects to False if switch is specified. * makeutl.adb (Initialize_Source_Record): Do not look for the object file if there is no object directory. * opt.ads (Directories_Must_Exist_In_Projects): New Boolean variable, defaulted to True. * prj-nmsc.adb (Check_Library_Attributes): Do not fail if library directory does not exist when Directories_Must_Exist_In_Projects is False. (Get_Directories): Do not fail when the object or the exec directory do not exist when Directories_Must_Exist_In_Projects is False. From-SVN: r197918
2013-04-12[multiple changes]Arnaud Charlet41-406/+302
2013-04-12 Robert Dewar <dewar@adacore.com> * namet.adb, namet.ads: Minor addition (7 arg version of Nam_In). * exp_prag.adb, sem_ch3.adb, sem_intr.adb, sem_type.adb, exp_util.adb, sem_aux.adb, exp_ch9.adb, sem_ch7.adb, sem_ch10.adb, sem_prag.adb, par-ch2.adb, tbuild.adb, rtsfind.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb, exp_ch2.adb, prj-makr.adb, sem_elab.adb, exp_ch4.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb, prj-nmsc.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, par-util.adb, sem_eval.adb, exp_intr.adb, sem_ch13.adb, exp_cg.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: Minor code reorganization (use Nam_In). 2013-04-12 Doug Rupp <rupp@adacore.com> * init.c: Don't clobber condition code on VMS. From-SVN: r197917
2013-04-12exp_aggr.adb: Minor reformatting.Robert Dewar4-4/+134
2013-04-12 Robert Dewar <dewar@adacore.com> * exp_aggr.adb: Minor reformatting. * namet.ads, namet.adb (Nam_In): New functions. From-SVN: r197916
2013-04-12[multiple changes]Arnaud Charlet21-297/+1017
2013-04-12 Robert Dewar <dewar@adacore.com> * einfo.adb (Has_Dynamic_Predicate_Aspect): New flag. (Has_Static_Predicate_Aspect): New flag. * einfo.ads (Has_Dynamic_Predicate_Aspect): New flag. (Has_Static_Predicate_Aspect): New flag. * exp_ch9.adb: Minor reformatting. * exp_util.adb (Make_Invariant_Call): Check_Enabled now handles synonyms. * gnat1drv.adb: Remove setting of Debug_Pragmas_Enabled, since this switch is gone and control of Debug is done with Assertions_Enabled. * gnat_rm.texi: Update documentation for Assertion_Policy and Check_Policy pragmas. * opt.adb (Debug_Pragmas_Disabled[_Config]): Removed (Debug_Pragmas_Enabled[_Config]): Removed Since debug now controlled by Assertion_Enabled. * opt.ads (Debug_Pragmas_Disabled[_Config]): Removed (Debug_Pragmas_Enabled[_Config]): Removed Since debug now controlled by Assertion_Enabled. * par-ch2.adb (Scan_Pragma_Argument_Association): Allow new 'Class forms. * sem_attr.adb: Minor reformatting. * sem_ch13.adb (Analyze_Aspect_Specification): Disable aspect if DISABLE policy applies. * sem_ch6.adb (Grab_PPC): Check original name of aspect for aspect from pragma (Process_PPCs): Properly check assertion policy. * sem_prag.adb (Check_Enabled): Rewritten for new Assertion_Policy (Check_Appicable_Policy): New procedure. (Is_Valid_Assertion_Kind): New function. (Rewrite_Assertion_Kind): New procedure. (Analyze_Pragma): Handle case of disabled assertion pragma. (Analyze_Pragma, case Assertion_Policy): Rewritten for Ada 2012. (Analyze_Pragma, case Check): Deal with 'Class possibilities. (Analyze_Pragma, case Check_Policy): Deal with 'Class possibilities. (Analyze_Pragma, case Contract_Class): New handling of ignored pragma. (Analyze_Pragma, case Debug): New control with Assertion_Policy. (Analyze_Pragma, case Debug_Policy): Now consistent with Assertion_Policy. (Analyze_Pragma, case Loop_Invariant): New handling of ignored pragma. (Analyze_Pragma, case Loop_Variant): New handling of ignored pragma. (Analyze_Pragma, case Precondition): Use proper name for Check pragma. (Analyze_Pragma, case Check_Enabled): Rewritten for new policy stuff. * sem_prag.ads (Check_Enabled): Rewritten for new Assertion_Policy stuff. (Check_Appicable_Policy): New procedure. * sinfo.adb (Is_Disabled): New flag. (Is_Ignored): New flag. * sinfo.ads (Is_Disabled): New flag. (Is_Ignored): New flag. (N_Pragma_Argument_Association): New 'Class forms. * snames.ads-tmpl: New names Name_uPre, Name_uPost, Name_uType_Invariant, Name_uInvariant. * switch-c.adb: Remove setting of Debug_Pragmas_Enabled for -gnata. * tree_io.ads (ASIS_Version_Number): Updated (remove read write of obsolete flags Debug_Pragmas_Disabled and Debug_Pragmas_Enabled. 2013-04-12 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Get_Explicit_Discriminant_Value): Subsidiary of Build_Record_Aggr_Code, used to retrieve explicit values for inherited discriminants in an extension aggregate, when the ancestor type is unconstrained. From-SVN: r197915
2013-04-12[multiple changes]Arnaud Charlet3-2/+23
2013-04-12 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Check_Stream_Attribute): If restriction No_Default_Stream_Attributes is active, it is illegal to use a predefined elementary type stream attribute either by itself, or more importantly as part of the attribute subprogram for a composite type. However, if the broader restriction No_Streams is active, then stream operations are not generated, and there is no error. 2013-04-12 Robert Dewar <dewar@adacore.com> * gnatbind.adb: Minor reformatting. From-SVN: r197914
2013-04-12sem_attr.adb (Analyze_Access_Attribute): Treat P'Access like a call only in ↵Bob Duff2-4/+10
the static elaboration model. 2013-04-12 Bob Duff <duff@adacore.com> * sem_attr.adb (Analyze_Access_Attribute): Treat P'Access like a call only in the static elaboration model. From-SVN: r197913
2013-04-12[multiple changes]Arnaud Charlet11-14/+88
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Input_List): Detect an illegal dependency clause where both input and output lists are null. (Analyze_Pragma): Update the grammar of pragma Depends. 2013-04-12 Vincent Celier <celier@adacore.com> * gnatbind.adb (No_Restriction_List): Exclude restrictions that take a parameter value, not a count. * prj.ads, prj.adb (Remove_All_Restricted_Languages): New procedure. * projects.texi: Complete documentation of attribute Roots. 2013-04-12 Thomas Quinot <quinot@adacore.com> * exp_ch3.adb, exp_util.ads, checks.adb, freeze.adb, sem_attr.adb, sem_ch3.adb: Minor reformatting. * exp_ch4.adb (Size_In_Storage_Elements): Minor documentation improvement: note that the computation is pessimistic for bit packed arrays. * gnat_rm.texi (Range_Length): Fix minor error in description of attribute. From-SVN: r197912
2013-04-12aspects.adb (Find_Aspect): New routine.Hristian Kirtchev9-61/+113
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> * aspects.adb (Find_Aspect): New routine. (Find_Value_Of_Aspect): New routine. (Has_Aspect): Reimplemented. * aspects.ads (Find_Aspect): New routine. (Find_Value_Of_Aspect): New routine, previously known as Find_Aspect. * exp_ch5.adb (Expand_Iterator_Loop): Update the call to Find_Aspect. * exp_util.adb (Is_Iterated_Container): Update the call to Find_Aspect. * sem_ch4.adb (Try_Container_Indexing): Update calls to Find_Aspect. * sem_ch5.adb (Analyze_Iterator_Specification): Update the call to Find_Aspect. Use function Has_Aspect for better readability. (Preanalyze_Range): Use function Has_Aspect for better readability. * sem_ch13.adb (Check_One_Function): Update the call to Find_Aspect. * sem_prag.adb (Analyze_Pragma): There is no longer need to look at the parent to extract the corresponding pragma for aspect Global. From-SVN: r197911
2013-04-12[multiple changes]Arnaud Charlet9-26/+58
2013-04-12 Robert Dewar <dewar@adacore.com> * checks.adb, sem_elab.adb, repinfo.adb, sem_ch4.adb, restrict.adb, restrict.ads: Minor reformatting. 2013-04-12 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: Retrieve original name of classwide type if any. 2013-04-12 Thomas Quinot <quinot@adacore.com> * exp_ch11.ads: Minor reformatting. From-SVN: r197910
2013-04-12aspects.adb: Alphabetize subprogram bodies in this unit.Hristian Kirtchev19-174/+383
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> * aspects.adb: Alphabetize subprogram bodies in this unit. Add an entry for Aspect_Ghost in the table of canonical aspects. (Has_Aspect): New routine. * aspects.ads: Add Aspect_Ghost to all relevant tables. Alphabetize subprograms in this unit. (Has_Aspect): New routine. * einfo.adb: Add with and use clauses for Aspects. (Is_Ghost_Function): New routine. * einfo.ads: Add new synthesized attribute Is_Ghost_Function and update the structure of the related nodes. (Is_Ghost_Function): New routine. * exp_ch4.adb (Find_Enclosing_Context): Use routine Is_Body_Or_Package_Declaration to terminate a search. (Is_Body_Or_Unit): Removed. * exp_util.adb (Within_Case_Or_If_Expression): Use routine Is_Body_Or_Package_Declaration to terminate a search. * par-prag.adb: Add pragma Ghost to the list of pragmas that do not need special processing by the parser. * sem_attr.adb (Analyze_Access_Attribute): Detect an illegal use of 'Access where the prefix is a ghost function. (Analyze_Attribute): Use routine Is_Body_Or_Package_Declaration to terminate a search. (Check_References_In_Prefix): Use routine Is_Body_Or_Package_Declaration to terminate a search. * sem_ch4.adb (Analyze_Call): Mark a function when it appears inside an assertion expression. Verify the legality of a call to a ghost function. (Check_Ghost_Function_Call): New routine. * sem_ch6.adb (Analyze_Function_Call): Code reformatting. Move the setting of attribute In_Assertion_Expression to Analyze_Call. (Check_Overriding_Indicator): Detect an illegal attempt to override a function with a ghost function. * sem_ch12.adb (Preanalyze_Actuals): Detect an illegal use of a ghost function as a generic actual. * sem_elab.adb (Check_Internal_Call_Continue): Update the call to In_Assertion. * sem_prag.adb: Add an entry for pragma Ghost in the table of significant arguments. (Analyze_Pragma): Do not analyze an "others" case guard. Add processing for pragma Ghost. Use Preanalyze_Assert_Expression when analyzing the expression of pragmas Loop_Invariant and Loop_Variant. * sem_util.adb (Get_Subprogram_Entity): Reimplemented. (Is_Body_Or_Package_Declaration): New routine. * sem_util.ads: Alphabetize subprotrams in this unit. (Is_Body_Or_Package_Declaration): New routine. * sinfo.adb (In_Assertion): Rename to In_Assertion_Expression. (Set_In_Assertion): Rename to Set_In_Assertion_Expression. * sinfo.ads: Rename flag In_Assertion to In_Assertion_Expression to better reflect its use. Update all places that mention the flag. (In_Assertion): Rename to In_Assertion_Expression. Update related pragma Inline. (Set_In_Assertion): Rename to Set_In_Assertion_Expression. Update related pragma Inline. * snames.ads-tmpl: Add new predefined name Ghost. Add new pragma id Pragma_Ghost. From-SVN: r197909
2013-04-12[multiple changes]Arnaud Charlet4-1/+30
2013-04-12 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Set_Imported): Do not generate error for multiple Import in CodePeer mode. * s-rident.ads: Fix minor typo. 2013-04-12 Ed Schonberg <schonberg@adacore.com> * checks.adb (Insert_Valid_Check): Do not insert validity check in the body of the generated predicate function, to prevent infinite recursion. From-SVN: r197908
2013-04-12s-rident.ads: Add various missing Ada 2012 restrictions...Ed Schonberg11-89/+300
2013-04-12 Ed Schonberg <schonberg@adacore.com> * s-rident.ads: Add various missing Ada 2012 restrictions: No_Access_Parameter_Allocators, No_Coextensions, No_Use_Of_Attribute, No_Use_Of_Pragma. * snames.ads-tmpl: Add corresponding names. * restrict.ads restrict.adb: Subprograms and data structures to handle aspects No_Use_Of_Attribute and No_Use_Of_Pragma. * sem_ch4.adb: Correct name of restrictions is No_Standard_Allocators_After_Elaboration. * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check violation of restriction No_Use_Of_Attribute. * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Set restrictions No_Use_Of_Pragma and No_Use_Of_Attribute. (Analyze_Pragma): Check violation of restriction No_Use_Of_Pragma. * sem_res.adb: Check restrictions No_Access_Parameter_Allocators and No_Coextensions. * bcheck.adb: Correct name of restrictions is No_Standard_Allocators_After_Elaboration. * gnatbind.adb: Correct name of restrictions is No_Standard_Allocators_After_Elaboration. From-SVN: r197907
2013-04-12[multiple changes]Arnaud Charlet8-86/+178
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Pragma, (Check_Mode_Restriction_In_Function): Correct error message format. 2013-04-12 Robert Dewar <dewar@adacore.com> * sem_attr.adb: Minor reformatting. 2013-04-12 Ed Schonberg <schonberg@adacore.com> * sem_elab.adb (Within_Elaborate_All): Do not examine a context item that has not been analyzed, because the unit may have errors, or the context item may come from a proper unit inserted at the point of a stub and not analyzed yet. 2013-04-12 Thomas Quinot <quinot@adacore.com> * gnat1drv.adb, repinfo.adb, repinfo.ads (Repinfo.List_Array_Info, List_Record_Info): Also include scalar storage order information in output. 2013-04-12 Yannick Moy <moy@adacore.com> * sem_ch6.adb (Process_Contract_Cases): Update code to apply to Contract_Cases instead of Contract_Case pragma. From-SVN: r197906
2013-04-12[multiple changes]Arnaud Charlet6-14/+114
2013-04-12 Robert Dewar <dewar@adacore.com> * a-cfdlli.ads, g-socket.adb, s-fileio.adb: Minor reformatting. 2013-04-12 Yannick Moy <moy@adacore.com> * sem_attr.adb (Analyze_Attribute): Update analyse of Attribute_Old and Attribute_Result so they are allowed in the right-hand-side of an association in a Contract_Cases pragma. * sem_prag.adb (Analyze_CTC_In_Decl_Part): Add pre-analysis of the expressions in a Contract_Cases pragma. From-SVN: r197905
2013-04-12[multiple changes]Arnaud Charlet11-605/+70
2013-04-12 Robert Dewar <dewar@adacore.com> * sem.ads, opt.ads: Minor comment edits. * sem_warn.adb, sem_ch6.adb: Minor reformatting. 2013-04-12 Claire Dross <dross@adacore.com> * a-cfdlli.adb a-cfdlli.ads (List, Not_No_Element, Iterate, Reverse_Iterate, Query_Element, Update_Element, Read, Write): Removed, not suitable for formal analysis. 2013-04-12 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Analyze_Abstract_State): Use Defining entity to locate package entity, which may be a child unit. 2013-04-12 Thomas Quinot <quinot@adacore.com> * g-socket.adb, g-socket.ads (Connect_Socket, version with timeout): If the specified timeout is 0, do not attempt to determine whether the connection succeeded. 2013-04-12 Doug Rupp <rupp@adacore.com> * s-fileio.adb (Form_RMS Context_Key): Fix some thinkos. From-SVN: r197904
2013-04-12[multiple changes]Arnaud Charlet3-29/+40
2013-04-12 Doug Rupp <rupp@adacore.com> * s-fileio.adb: Minor reformatting. 2013-04-12 Ed Schonberg <schonberg@adacore.com> * sem_warn.adb (Check_Infinite_Loop_Warning): Do not warn if the last statement in the analyzed loop is an unconditional exit statement. From-SVN: r197903
2013-04-12[multiple changes]Arnaud Charlet11-38/+408
2013-04-12 Robert Dewar <dewar@adacore.com> * opt.ads (Style_Check_Main): New switch. * sem.adb (Semantics): Set Style_Check flag properly for new unit to be analyzed. * sem_ch10.adb (Analyze_With_Clause): Don't reset Style_Check, the proper setting of this flag is now part of the Semantics procedure. * switch-c.adb (Scan_Front_End_Switches): Set Style_Check_Main for -gnatg and -gnaty 2013-04-12 Doug Rupp <rupp@adacore.com> * s-crtl.ads (fopen, freopen): Add vms_form parameter * i-cstrea.ads (fopen, freopen): Likewise. * adaint.h (__gnat_fopen, __gnat_freopen): Likewise. * adaint.c (__gnat_fopen, __gnat_freopen): Likewise. [VMS]: Split out RMS keys and call CRTL function appropriately. * s-fileio.adb (Form_VMS_RMS_Keys, Form_RMS_Context_Key): New subprograms. (Open, Reset): Call Form_VMS_RMS_Keys. Call fopen,freopen with vms_form * gnat_rm.texi: Document implemented RMS keys. From-SVN: r197902
2013-04-12[multiple changes]Arnaud Charlet6-372/+45
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Insert the corresponding pragma for aspect Abstract_State at the top of the visible declarations of the related package. Previously this was only done when the package is a compilation unit. 2013-04-12 Arnaud Charlet <charlet@adacore.com> * gnat_ugn.texi: Further menu clean ups. * sem_prag.adb, opt.ads: Minor reformatting. * sem_util.ads: Minor comment fix. From-SVN: r197901
2013-04-12sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Depends is now a ↵Hristian Kirtchev3-68/+462
delayed aspect. 2013-04-12 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Depends is now a delayed aspect. The delay is required due to the interplay between aspects Depends and Global. (Check_Aspect_At_Freeze_Point): Add an entry for aspect Depends. * sem_prag.adb: Reformat various error messages. (Add_Item): New subsidiary routine. (Analyze_Pragma): Add new variables Global_Seen, Result_Seen, Subp_Inputs and Subp_Outputs. The analysis of pragma Depends now has the capability to check the proper mode and usage of subprogram inputs and outputs. (Appears_In): New routine. (Check_Function_Return): New routine. (Check_Mode): New routine. (Check_Usage): New routine. (Collect_Subprogram_Inputs_Outputs): New routine. From-SVN: r197900
2013-04-12[multiple changes]Arnaud Charlet8-154/+192
2013-04-12 Bob Duff <duff@adacore.com> * par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope stack entry. 2013-04-12 Robert Dewar <dewar@adacore.com> * switch-c.adb: Minor fix to wording of error message for -gnatet/eT. 2013-04-12 Robert Dewar <dewar@adacore.com> * impunit.adb: Add s-multip and s-mudido to list of impl defined system units. * gnat_rm.texi: Add documentation for System.Multiprocessors[.Dispatching_Domains]. 2013-04-12 Ben Brosgol <brosgol@adacore.com> * gnat_ugn.texi: Completion of menu cleanups. 2013-04-12 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules in Relaxed_RM_Semantics. 2013-04-12 Arnaud Charlet <charlet@adacore.com> * set_targ.adb (elab code): Add support for non gcc back-ends where save_argv is null. From-SVN: r197899
2013-04-12gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name.Robert Dewar6-47/+97
2013-04-12 Robert Dewar <dewar@adacore.com> * gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name. * opt.ads (Target_Dependent_Info_Read): Add _Name, now an access type (Target_Dependent_Info_Write): Add _Name, now an access type. * set_targ.adb (Write_Target_Dependent_Values): Use name from -gnatet switch stored in Target_Dependent_Info_Write_Name (Read_Target_Dependent_Values): Use name from -gnateT switch stored in Target_Dependent_Info_Read_Name. * switch-c.adb: New form of -gnatet and -gnateT switches. * usage.adb: New form of -gnatet and -gnateT switches with file name. From-SVN: r197898
2013-04-11stor-layout.c (skip_simple_constant_arithmetic): Move to...Eric Botcazou2-4/+10
* stor-layout.c (skip_simple_constant_arithmetic): Move to... * tree.c (skip_simple_constant_arithmetic): ...here and make public. (skip_simple_arithmetic): Tidy up. * tree.h (skip_simple_constant_arithmetic): Declare. ada/ * gcc-interface/decl.c (elaborate_expression_1): Skip only constant arithmetics when looking for a read-only variable in the expression. From-SVN: r197815
2013-04-11check.ads, [...] (Install_Null_Excluding_Check): No check in interface ↵Javier Miranda3-0/+18
thunks since it is performed at the caller side. 2013-04-11 Javier Miranda <miranda@adacore.com> * check.ads, exp_ch6.adb (Install_Null_Excluding_Check): No check in interface thunks since it is performed at the caller side. (Expand_Simple_Function_Return): No accessibility check needed in thunks since the check is done by the target routine. From-SVN: r197810
2013-04-11Minor editing.Arnaud Charlet1-1/+1
From-SVN: r197802
2013-04-11Minor reformatting.Arnaud Charlet1-4/+4
From-SVN: r197801