aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
AgeCommit message (Collapse)AuthorFilesLines
2013-04-24adabkend.adb, [...]: Everything with name 'Alfa' renamed in 'SPARK'.Yannick Moy45-1918/+1925
2013-04-24 Yannick Moy <moy@adacore.com> * adabkend.adb, ali-util.adb, ali.adb, debug.adb, errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb, expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads, restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb, sem_res.adb, sem_util.adb: Everything with name 'Alfa' renamed in 'SPARK'. Update comments. Renaming of units with name 'Alfa', renamed with 'SPARK' instead. * exp_alfa.adb: renamed exp_spark.adb. * exp_alfa.ads: renamed exp_spark.ads. * get_alfa.adb: renamed get_spark_xrefs.adb. * get_alfa.ads: renamed get_spark_xrefs.ads. * lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb. * put_alfa.adb: renamed put_spark_xrefs.adb. * put_alfa.ads: renamed put_spark_xrefs.ads. * alfa.adb: renamed spark_xrefs.adb. * alfa.ads: renamed spark_xrefs.ads. * alfa_test.adb: renamed spark_xrefs_test.adb. From-SVN: r198234
2013-04-24gnat_rm.texi: Document pragma Assume.Robert Dewar3-33/+53
2013-04-24 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Document pragma Assume. * sem_prag.adb (Analyze_Pragma, case Assume): Now processed as part of Assert, and no longer requires -gnatd.F From-SVN: r198231
2013-04-24gnat_rm.texi: Document pragma Assert_And_Cut.Robert Dewar3-4/+42
2013-04-24 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Document pragma Assert_And_Cut. * sem_prag.adb (Analyze_Pragma, case Assert_And_Cut): Remove S14_Pragma call. From-SVN: r198230
2013-04-24[multiple changes]Arnaud Charlet3-4/+21
2013-04-24 Ed Schonberg <schonberg@adacore.com> * sem_aux.adb: Add guard in Available_View. 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Depends_In_Decl_Part): Use Find_Related_Subprogram to find the associated subprogram. (Analyze_Global_In_Decl_List): Use Find_Related_Subprogram to find the associated subprogram. (Analyze_Pragma): Use Find_Related_Subprogram to find the associated subprogram. From-SVN: r198229
2013-04-24exp_ch6.adb: Remove with and use clause for Sem_Prag.Hristian Kirtchev8-758/+610
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb: Remove with and use clause for Sem_Prag. (Freeze_Subprogram): Call Analyze_Subprogram_Contract to analyze the contract of a subprogram. * sem_ch3.adb: Remove with and use clause for Sem_Prag. (Analyze_Declarations): Call Analyze_Subprogram_Contract to analyze the contract of a subprogram. * sem_ch6.adb (Analyze_Subprogram_Contract): New routine. (Check_Subprogram_Contract): Removed. * sem_ch6.ads (Analyze_Subprogram_Contract): New routine. (Check_Subprogram_Contract): Removed. (Expand_Contract_Cases): Add a guard against malformed contract cases. * sem_ch13.adb (Analyze_Aspect_Specifications): Call Decorate_Delayed_Aspect_And_Pragma to decorate aspects Contract_Cases, Depends and Global. Reimplement the analysis of aspect Contract_Cases. (Decorate_Delayed_Aspect_And_Pragma): New routine. * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): New routine. (Analyze_CTC_In_Decl_Part): Removed. (Analyze_Pragma): Reimplement the analysis of pragma Contract_Cases. (Analyze_Test_Case_In_Decl_Part): New routine. (Find_Related_Subprogram): New routine. (Requires_Profile_Installation): Add new formal Prag. Update the logic to take into account the origin of the pragma. * sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part): New routine. (Analyze_CTC_In_Decl_Part): Removed. (Analyze_Test_Case_In_Decl_Part): New routine. From-SVN: r198227
2013-04-24[multiple changes]Arnaud Charlet14-71/+199
2013-04-24 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Process_Convention): Move Stdcall tests to Set_Convention_From_Pragma so that they are applied to each entry of a homonym set. (Process_Convention): Don't try to set convention if already set. 2013-04-24 Robert Dewar <dewar@adacore.com> * gnatbind.adb: Minor reformatting. 2013-04-24 Vincent Celier <celier@adacore.com> * clean.adb (Gnatclean): Add the default project search directories in the project search path after scanning the switches on the command line. (Initialize): Do not put the default project search directories in the project search path. * gnatcmd.adb (GNATcmd): Add the default project search directories in the project search path after scanning the switches on the command line. * make.adb (Initialize): Add the default project search directories in the project search path after scanning the switches on the command line. 2013-04-24 Yannick Moy <moy@adacore.com> * restrict.ads (Restriction_Warnings): Initialize with all False value. 2013-04-24 Robert Dewar <dewar@adacore.com> * checks.ads, checks.adb (Predicate_Checks_Suppressed): New function. * exp_util.ads, exp_util.adb (Make_Predicate_Check): Check setting of Predicate_Check. * snames.ads-tmpl (Name_Predicate_Check): New check name. * types.ads (Predicate_Check): New definition. * gnat_rm.texi: Add documentation for Predicate_Check. From-SVN: r198226
2013-04-24exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this is a ↵Ed Schonberg4-7/+34
renaming of predefined equality for an untagged record... 2013-04-24 Ed Schonberg <schonberg@adacore.com> * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this is a renaming of predefined equality for an untagged record, add generated body to the freeze actions for the subprogram, to prevent freezing issues when the record has incomplete components. * exp_ch4.adb (Expand_Composite_Equality): If the type is a type without completion, return a predefined comparison instead of just False. This may happen when building the expression for record equality, when some component has a type whose completion has not been seen yet. The operation will be analyzed an expanded after the type has been frozen, at which point all component types will have been completed, or an error reported. 2013-04-24 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Do not delay analysis of a Convention aspect. From-SVN: r198225
2013-04-24[multiple changes]Arnaud Charlet9-91/+178
2013-04-24 Eric Botcazou <ebotcazou@adacore.com> * fe.h (Machine_Overflows_On_Target): New macro and declaration. (Signed_Zeros_On_Target): Likewise. 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb: Add with and use clause for Sem_Prag. (Freeze_Subprogram): Analyze all delayed aspects for a null procedure so that they are available when analyzing the internally-generated _Postconditions routine. * exp_ch13.adb: Remove with and use clause for Sem_Prag. (Expand_N_Freeze_Entity): Move the code that analyzes delayed aspects of null procedures to exp_ch6.Freeze_Subprogram. * sem_prag.adb (Analyze_Abstract_State): Update the check on volatile requirements. 2013-04-24 Bob Duff <duff@adacore.com> * ali-util.ads (Source_Record): New component Stamp_File to record from whence the Stamp came. * ali-util.adb (Set_Source_Table): Set Stamp_File component. * bcheck.adb (Check_Consistency): Print additional information in Verbose_Mode. * gnatbind.adb (Gnatbind): Print additional information in Verbose_Mode. From-SVN: r198224
2013-04-24[multiple changes]Arnaud Charlet9-30/+73
2013-04-24 Robert Dewar <dewar@adacore.com> * exp_ch13.adb, sem_prag.adb: Update comments. * sem_ch3.adb, exp_ch9.adb, g-socket.adb, sem_ch13.adb: Minor reformatting. 2013-04-24 Doug Rupp <rupp@adacore.com> * vms_data.ads (/{NO}INHIBIT-EXEC): Document new default behavior. 2013-04-24 Yannick Moy <moy@adacore.com> * sinfo.ads: Minor correction of typo. From-SVN: r198223
2013-04-24[multiple changes]Arnaud Charlet4-14/+93
2013-04-24 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: Create packed array only when expander is active. 2013-04-24 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Depends_In_Decl_Part): Install the formals only when the context warrants it. (Analyze_Global_In_Decl_List): Install the formals only when the context warrants it. (Requires_Profile_Installation): New routine. 2013-04-24 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_N_Simple_Return_Statement): When the return type is a discriminated private type that does not require use of the secondary stack, a constrained subtype of the underlying type is created to convey the proper object size to the backend. If the return type is originally a private type, the return expression is wrapped in an unchecked_conversion. If the return expression is used subsequently in a call to the postcondition function, this conversion must be undone to prevent a spurious error on the analysis of that call. From-SVN: r198222
2013-04-23re PR target/55445 (Always defined __SEH__ when build from trunk)Kai Tietz2-3/+9
PR target/55445 * raise-gcc.c (__SEH__): Additional check that SjLj isn't active. From-SVN: r198205
2013-04-23Makefile.in (targ): Fix target name check.Eric Botcazou2-3/+10
2013-04-23 Eric Botcazou <ebotcazou@adacore.com> Pascal Obry <obry@adacore.com> * gcc-interface/Makefile.in (targ): Fix target name check. (../../gnatmake$(exeext)): Add '+' for LTO. (../../gnatlink$(exeext)): Likewise. Co-Authored-By: Pascal Obry <obry@adacore.com> From-SVN: r198200
2013-04-23Update dependencies.Arnaud Charlet1-515/+530
From-SVN: r198199
2013-04-23[multiple changes]Arnaud Charlet14-1526/+1790
2013-04-23 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch9.adb (Build_PPC_Wrapper): Correct the traversal of pre- and post-conditions. (Expand_N_Task_Type_Declaration): Use the correct attribute to check for pre- and post-conditions. * exp_ch13.adb (Expand_N_Freeze_Entity): Correct the traversal of pre- and post-conditions. Analyze delayed classification items. * freeze.adb (Freeze_Entity): Use the correct attribute to check for pre- and post- conditions. * sem_ch3.adb (Analyze_Declarations): Correct the traversal of pre- and post-conditions as well as contract- and test-cases. Analyze delayed pragmas Depends and Global. * sem_ch6.adb (Check_Subprogram_Contract): Use the correct attribute to check for pre- and post-conditions, as well as contract-cases and test-cases. (List_Inherited_Pre_Post_Aspects): Correct the traversal of pre- and post- conditions. (Process_Contract_Cases): Update the comment on usage. Correct the traversal of contract-cases. (Process_Post_Conditions): Update the comment on usage. Correct the traversal of pre- and post-conditions. (Process_PPCs): Correct the traversal of pre- and post-conditions. (Spec_Postconditions): Use the correct attribute to check for pre- and post- conditions, as well as contract-cases and test-cases. * sem_ch13.adb (Analyze_Aspect_Specifications): Reimplement the actions related to aspects Depends and Global. Code refactoring for pre- and post-conditions. (Insert_Delayed_Pragma): New routine. * sem_prag.adb (Add_Item): New routine. (Analyze_Depends_In_Decl_Part): New routine. (Analyze_Global_In_Decl_Part): New routine. (Analyze_Pragma): Reimplement the actions related to aspects Depends and Global. Verify that a body acts as a spec for pragma Contract_Cases. (Chain_PPC): Use Add_Contract_Item to chain a pragma. (Chain_CTC): Correct the traversal of contract- and test-cases. Use Add_Contract_Item to chain a pragma. (Chain_Contract_Cases): Correct the traversal of contract- and test-cases. Use Add_Contract_Item to chain a pragma. (Check_Precondition_Postcondition): Update the comment on usage. (Check_Test_Case): Update the comment on usage. * sem_prag.ads (Analyze_Depends_In_Decl_Part): New routine. (Analyze_Global_In_Decl_Part): New routine. * sem_util.ads, sem_util.adb (Add_Contract_Item): New routine. * sinfo.adb (Classifications): New routine. (Contract_Test_Cases): New routine. (Pre_Post_Conditions): New routine. (Set_Classifications): New routine. (Set_Contract_Test_Cases): New routine. (Set_Pre_Post_Conditions): New routine. (Set_Spec_CTC_List): Removed. (Set_Spec_PPC_List): Removed. (Spec_CTC_List): Removed. (Spec_PPC_List): Removed. * sinfo.ads: Update the structure of N_Contruct along with all related comments. (Classifications): New routine and pragma Inline. (Contract_Test_Cases): New routine and pragma Inline. (Pre_Post_Conditions): New routine and pragma Inline. (Set_Classifications): New routine and pragma Inline. (Set_Contract_Test_Cases): New routine and pragma Inline. (Set_Pre_Post_Conditions): New routine and pragma Inline. (Set_Spec_CTC_List): Removed. (Set_Spec_PPC_List): Removed. (Spec_CTC_List): Removed. (Spec_PPC_List): Removed. 2013-04-23 Doug Rupp <rupp@adacore.com> * init.c (GNAT$STOP) [VMS]: Bump sigargs[0] count by 2 to account for LIB$STOP not having the chance to add the PC and PSL fields. From-SVN: r198198
2013-04-23sem_ch13.adb: Minor code reorganization (remove some redundant assignments).Robert Dewar4-20/+12
2013-04-23 Robert Dewar <dewar@adacore.com> * sem_ch13.adb: Minor code reorganization (remove some redundant assignments). * sem_ch3.adb, sem_prag.adb: Minor reformatting. From-SVN: r198197
2013-04-23[multiple changes]Arnaud Charlet8-21/+130
2013-04-23 Yannick Moy <moy@adacore.com> * einfo.ads: Minor typo fix. * sem_ch13.adb (Build_Predicate_Functions): Reject cases where Static_Predicate is applied to a non-scalar or non-static type. * sem_prag.adb: Minor typo fix. 2013-04-23 Doug Rupp <rupp@adacore.com> * init.c (GNAT$STOP) [VMS]: New function. 2013-04-23 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: Add exp_pakd to context. (Constrain_Component_Type): If the component of the parent is packed, and the record subtype being built is already frozen, as is the case for an itype, the component type itself will not be frozen, and the packed array type for it must be constructed explicitly. 2013-04-23 Thomas Quinot <quinot@adacore.com> * g-socket.adb, g-socket.ads (Set_Close_On_Exec): New subprogram. From-SVN: r198196
2013-04-23[multiple changes]Arnaud Charlet8-83/+102
2013-04-23 Yannick Moy <moy@adacore.com> * err_vars.ads (Error_Msg_Qual_Level): Set variable to zero at declaration. * opt.ads (Multiple_Unit_Index): Set variable to zero at declaration. * sem_util.adb (NCT_Table_Entries): Set variable to zero at declaration. * set_targ.ads (Num_FPT_Modes): Set variable to zero at declaration. * stylesw.adb (Save_Style_Check_Options): Protect testing the value of Style_Check_Comments_Spacing by a previous test that Style_Check_Comments is True. 2013-04-23 Thomas Quinot <quinot@adacore.com> * sem_prag.adb, sem_prag.ads (Effective_Name): Rename to Original_Name, and move declaration to package body as this subprogram is not used from outside. Also clarify documentation. From-SVN: r198195
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