aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
AgeCommit message (Collapse)AuthorFilesLines
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
2013-04-11Update dependencies.Arnaud Charlet1-34/+33
From-SVN: r197800
2013-04-11sem_prag.adb (Analyze_Pragma, [...]): pre-analyze expression with type ↵Ed Schonberg3-9/+32
Any_Priority. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Analyze_Pragma, case Priority): pre-analyze expression with type Any_Priority. * exp_ch9.adb (Initialize_Protection): Check that the value of the priority expression is within the bounds of the proper priority type. From-SVN: r197799
2013-04-11[multiple changes]Arnaud Charlet5-229/+185
2013-04-11 Robert Dewar <dewar@adacore.com> * sem_prag.adb, prj-env.adb: Minor reformatting. 2013-04-11 Ben Brosgol <brosgol@adacore.com> * gnat_ugn.texi: Clean ups. 2013-04-11 Yannick Moy <moy@adacore.com> * set_targ.adb: Minor comment update. From-SVN: r197798
2013-04-11[multiple changes]Arnaud Charlet48-440/+560
2013-04-11 Pascal Obry <obry@adacore.com> * gnat_ugn.texi: Remove obsolete comment about DLL calling convention. 2013-04-11 Javier Miranda <miranda@adacore.com> * exp_ch6.adb (Expand_Call): For the call to the target primitive of an interface thunks do not compute the extra actuals; just propagate the extra actuals received by the thunk. * exp_disp.adb (Expand_Interface_Thunk): Decorate new attribute Thunk_Entity. * sem_ch6.adb (Create_Extra_Formals): Do not generate extra formals in interface thunks whose target primitive has no extra formals. 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Pragma): Detect a renaming by looking at the Renamed_Object attribute. (Is_Renaming): Removed. 2013-04-11 Vincent Celier <celier@adacore.com> * prj-env.adb (Initialize_Default_Project_Path): Take into account a project path file, specified by environment variable GPR_PROJECT_PATH_FILE, before taking into account GPR_PROJECT_PATH. * projects.texi: Add documentation for GPR_PROJECT_PATH_FILE 2013-04-11 Ed Schonberg <schonberg@adacore.com> * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads, a-cfdlli.adb, a-cfdlli.ads, a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-ciormu.adb, a-ciormu.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb, a-cborse.ads, a-ciorma.adb, a-cobove.adb, a-ciorma.ads, a-cobove.ads, a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbhase.adb, a-cbhase.ads: Move Iterator operations from body to private part of spec. From-SVN: r197797
2013-04-11[multiple changes]Arnaud Charlet7-46/+116
2013-04-11 Eric Botcazou <ebotcazou@adacore.com> * ttypes.ads, get_targ.ads: More minor rewording of comments. 2013-04-11 Johannes Kanig <kanig@adacore.com> * debug.adb: Document use of switch -gnatd.Z. 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Pragma): Both pragma Depends and Global can now support renamings of entire objects. Legal renamings are replaced by the object they rename. (Is_Renaming): New routine. 2013-04-11 Yannick Moy <moy@adacore.com> * set_targ.adb, opt.ads: Minor changes in comments. From-SVN: r197795
2013-04-11[multiple changes]Arnaud Charlet8-47/+97
2013-04-11 Ben Brosgol <brosgol@adacore.com> * gnat_ugn.texi: Minor clean ups. 2013-04-11 Robert Dewar <dewar@adacore.com> * nlists.ads, nlists.adb, treepr.adb, treepr.ads: Move debugging function p from Nlists to Treepr. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * sem_disp.adb (Check_Dispatching_Context): If the context is a contract for a null procedure defer error reporting until postcondition body is created. * exp_ch13.adb (Expand_N_Freeze_Entity): If the entity is a null procedure, complete the analysis of its contracts so that calls within classwide conditions are properly rewritten as dispatching calls. From-SVN: r197794
2013-04-11sem_ch10.adb, [...]: Minor reformatting.Thomas Quinot3-8/+10
2013-04-11 Thomas Quinot <quinot@adacore.com> * sem_ch10.adb, sem_ch12.adb: Minor reformatting. From-SVN: r197793
2013-04-11[multiple changes]Arnaud Charlet9-20/+78
2013-04-11 Robert Dewar <dewar@adacore.com> * exp_attr.adb, sem_res.adb, sem_attr.adb: Minor reformatting. 2013-04-11 Robert Dewar <dewar@adacore.com> * atree.adb, atree.ads (Node31): New function. (Set_Node31): New procedure. 2013-04-11 Robert Dewar <dewar@adacore.com> * errout.ads: Minor typo correction. 2013-04-11 Javier Miranda <miranda@adacore.com> * einfo.ad[sb] (Thunk_Entity/Set_Thunk_Entity): New attribute. From-SVN: r197792
2013-04-11[multiple changes]Arnaud Charlet24-1066/+1280
2013-04-11 Robert Dewar <dewar@adacore.com> * back_end.adb (Register_Back_End_Types): Moved to Get_Targ * back_end.ads (C_String): Moved to Get_Targ (Register_Type_Proc): Moved to Get_Targ (Register_Back_End_Types): Moved to Get_Targ. * cstand.adb (Register_Float_Type): New interface (Create_Back_End_Float_Types): Use entries in FPT_Mode_Table. * get_targ.adb (Register_Back_End_Types): Moved here from Back_End. * get_targ.ads (C_String): Moved here from Back_End (Register_Type_Proc): Moved here from Back_End (Register_Back_End_Types): here from Back_End. * gnat1drv.adb (GGnat11drv): Add call to Write_Target_Dependent_Values; * lib-writ.ads, lib-writ.adb (Write_ALI): Remove section writing obsolete target dependent info. * opt.ads (Generate_Target_Dependent_Info): Removed (Target_Dependent_Info_Read): New flag (Target_Dependent_Info_Write): New flag * output.adb: Minor comment change * s-os_lib.ads: Minor reformatting * set_targ.ads, set_targ.adb: Minor reformatting. * switch-c.adb (Scan_Switches.First_Ptr): New variable (Scan_Front_End_Switches): Check -gnatd.b, -gnateT come first (Scan_Front_End_Switches): Handle -gnatet, -gnateT * ttypes.ads: Remove documentation section on target dependent info in ali file Remove four letter codes, no longer used Instead of using Get_Targ.Get_xxx, we use Set_Targ.xxx * usage.adb: Add usage lines for -gnatet/-gnateT * gcc-interface/Make-lang.in: Update dependencies. 2013-04-11 Thomas Quinot <quinot@adacore.com> * sem_ch4.adb: Update documentation. * sinfo.ads (N_Expression_With_Actions): Ditto. 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Add a guard to prevent the double insertion of the same aspect into a rep item list. This previously led to a circularity. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Eval_Attribute, case 'Access): Reject attribute reference if the prefix is the dereference of an anonymous access to subprogram type. * exp_attr.adb (Expand_N_Attribute_Reference, Access_Cases): Handle properly a reference to the current instance of a protected type from within a protected subprogram. * sem_res.adb (Find_Unique_Access_Type): Treat Attribute_Access_Type like Allocator_Type when resolving an equality operator. From-SVN: r197791
2013-04-11[multiple changes]Arnaud Charlet9-216/+1631
2013-04-11 Arnaud Charlet <charlet@adacore.com> * xgnatugn.adb: Remove obsolete comments. 2013-04-11 Robert Dewar <dewar@adacore.com> * back_end.ads, back_end.adb: Minor reformatting. * set_targ.ads, set_targ.adb: New files. 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> * sem_case.adb (Check_Against_Predicate): New routine. (Check_Choices): When the type covered by the list of choices is a static subtype with a static predicate, check all choices agains the predicate. (Issue_Msg): All versions removed. (Missing_Choice): New routines. * sem_ch4.adb: Code and comment reformatting. (Analyze_Case_Expression): Do not check the choices when the case expression is being preanalyzed and the type of the expression is a subtype with a static predicate. (Has_Static_Predicate): New routine. * sem_ch13.adb: Code and comment reformatting. (Build_Range): Always build a range even if the low and hi bounds denote the same value. This is needed by the machinery in Check_Choices. (Build_Static_Predicate): Always build a range even if the low and hi bounds denote the same value. This is needed by the machinery in Check_Choices. From-SVN: r197789
2013-04-11einfo.ads, [...]: Minor reformatting.Robert Dewar5-41/+45
2013-04-11 Robert Dewar <dewar@adacore.com> * einfo.ads, sem_util.adb, exp_ch6.adb, xgnatugn.adb: Minor reformatting. From-SVN: r197788
2013-04-11[multiple changes]Arnaud Charlet16-455/+207
2013-04-11 Doug Rupp <rupp@adacore.com> * gnatlink.adb: Fold program basename to lower case on VMS for consistency. 2013-04-11 Matthew Heaney <heaney@adacore.com> * a-rbtgbo.adb (Generic_Equal): Initialize Result variable before entering loop. 2013-04-11 Arnaud Charlet <charlet@adacore.com> * xgnatugn.adb: Remove dead code (handling of @ifset/@ifclear). 2013-04-11 Arnaud Charlet <charlet@adacore.com> * gnat_ugn.texi: Remove some use of ifset in menus. Not strictly needed, and seems to confuse some versions of makeinfo. 2013-04-11 Javier Miranda <miranda@adacore.com> * einfo.adb (Is_Thunk): Remove assertion. (Set_Is_Thunk): Add assertion. * einfo.ads (Is_Thunk): Complete documentation. * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Code cleanup. * exp_ch3.ad[sb] (Is_Variable_Size_Array): Moved to sem_util (Is_Variable_Size_Record): Moved to sem_util * exp_ch6.adb (Expand_Call): Code cleanup. (Expand_N_Extended_Return_Statement): Code cleanup. (Expand_Simple_Function_Return): Code cleanup. * exp_disp.adb Remove dependency on exp_ch3 (Expand_Interface_Thunk): Add minimum decoration needed to set attribute Is_Thunk. * sem_ch3.ad[sb] (Is_Constant_Bound): moved to sem_util * sem_util.ad[sb] (Is_Constant_Bound): Moved from sem_ch3 (Is_Variable_Size_Array): Moved from exp_ch3 (Is_Variable_Size_Record): Moved from exp_ch3 From-SVN: r197787
2013-04-11exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do not add cleanup ↵Javier Miranda11-122/+235
actions in thunks associated with interface types. 2013-04-11 Javier Miranda <miranda@adacore.com> * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do not add cleanup actions in thunks associated with interface types. * exp_ch3.ad[sb] (Is_Variable_Size_Record): Move declaration to the package spec. * exp_ch4.adb (Tagged_Conversion): Update call to Expand_Interface_Conversion since the parameter Is_Static is no longer needed. * exp_ch6.adb (Expand_N_Extended_Return_Statement): Adding assertion to ensure that interface thunks are never handled by this routine. (Expand_N_Simple_Function_Return): Do not rewrite this statement as an extended return statement in interface thunks, and do not perform copy in the secondary stack if the return statement is located in a thunk. * exp_disp.adb (Expand_Dispatching_Call): No longer displace the pointer to the returned object in functions returning interface types. (Expand_Interface_Thunk): For functions returning interface types displace the pointer to the returned object. (Expand_Interface_Conversion): Remove formal Is_Static since this subprogram can now evaluate it locally. * sem_ch3.adb (Add_Internal_Interface_Entities): For functions propagate the type returned by the covered interface primitive to the internal interface entity. Needed by the thunk to generate the code which displaces "this" to reference the corresponding secondary dispatch table. * sem_disp.adb (Propagate_Tag): Update call to Expand_Interface_Conversion since the parameter Is_Static is no longer needed. * sem_res.adb (Resolve_Type_Conversion): Update calls to Expand_Interface_Conversion since the parameter Is_Static is no longer needed plus code cleanup. From-SVN: r197786
2013-04-11[multiple changes]Arnaud Charlet16-110/+226
2013-04-11 Eric Botcazou <ebotcazou@adacore.com> * init.c (RETURN_ADDR_OFFSET): Delete as unused. 2013-04-11 Robert Dewar <dewar@adacore.com> * a-crbtgk.adb, a-ciorse.adb, a-crbtgo.adb, a-coorse.adb, a-rbtgbo.adb, a-cborse.adb, a-rbtgso.adb, exp_ch3.adb: Minor reformatting. 2013-04-11 Yannick Moy <moy@adacore.com> * exp_ch4.adb (Expand_N_Selected_Component): Do not expand discriminant check for Unchecked_Union. * sem_res.adb (Resolve_Selected_Component): Set flag Do_Discriminant_Check even when expansion is not performed. * sinfo.ads (Do_Discriminant_Check): Update documentation for the case of Unchecked_Union. 2013-04-11 Thomas Quinot <quinot@adacore.com> * sem_ch13.adb (Same_Representation): Two types with different scalar storage order never have the same representation. 2013-04-11 Arnaud Charlet <charlet@adacore.com> * xgnatugn.adb (Push_Conditional): Simplify handling, no longer need to keep track of "excluding" sections. (Currently_Excluding): Removed. (Process_Source_File): Set unw/vms flag so that texinfo can do the whole handling of @ifset/@ifclear sections. Fix handling of nested @ifset/@ifclear sections. * gnat_ugn.texi: Add a section on performing unassisted install on Windows. From-SVN: r197785
2013-04-11[multiple changes]Arnaud Charlet17-495/+1911
2013-04-11 Johannes Kanig <kanig@adacore.com> * debug.adb: Document usage of -gnatd.Q switch. 2013-04-11 Matthew Heaney <heaney@adacore.com> * a-crbtgk.adb (Ceiling, Find, Floor): Adjust locks before element comparisons. (Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint): Ditto. * a-crbtgo.adb, a-rbtgbo.adb (Generic_Equal): Adjust locks before element comparisons. * a-rbtgso.adb (Difference, Intersection): Adjust locks before element comparisons. (Is_Subset, Overlap): Ditto (Symmetric_Difference, Union): Ditto * a-btgbso.adb (Set_Difference, Set_Intersection): Adjust locks before element comparisons. (Set_Subset, Set_Overlap): Ditto (Set_Symmetric_Difference, Set_Union): Ditto * a-coorse.adb, a-ciorse.adb, a-cborse.adb (Update_Element_Preserving_Key): Adjust locks before element comparisons (Replace_Element): Ditto 2013-04-11 Pascal Obry <obry@adacore.com> * prj-attr.adb, projects.texi, snames.ads-tmpl: Remove Build_Slaves attribute. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Build_Equivalent_Aggregate): Subsidiary of Expand_N_Object_Declaration, used to construct an aggregate with static components whenever possible, so that objects of a discriminated type can be initialized without calling the init. proc for the type. 2013-04-11 Vincent Celier <celier@adacore.com> * prj-makr.adb (Process_Directory): On VMS, always delete, then recreate the temporary file with Create_Output_Text_File, otherwise the output redirection does not work properly. 2013-04-11 Eric Botcazou <ebotcazou@adacore.com> * urealp.ads: Fix minor typo. 2013-04-11 Fabien Chouteau <chouteau@adacore.com> * cio.c (mktemp): Don't use tmpnam function from the system on VxWorks in kernel mode. From-SVN: r197784
2013-04-11make.adb (Compile): Clarify the error message reported when gnatmake refuses ↵Vincent Celier3-37/+53
to compile a runtime... 2013-04-11 Vincent Celier <celier@adacore.com> * make.adb (Compile): Clarify the error message reported when gnatmake refuses to compile a runtime source. (Start_Compile_If_Possible): Ditto. 2013-04-11 Vincent Celier <celier@adacore.com> * gnat_ugn.texi: Add documentation about -gnatc and gnatmake. From-SVN: r197783
2013-04-11switch-c.adb: Document internal switches.Vincent Celier3-65/+69
2013-04-11 Vincent Celier <celier@adacore.com> * switch-c.adb: Document internal switches. * usage.adb: Remove lines for internal switches: -gnatea, -gnateO, -gnatez and -gnateO. From-SVN: r197782
2013-04-11[multiple changes]Arnaud Charlet9-36/+73
2013-04-11 Ed Schonberg <schonberg@adacore.com> * par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on subprogram stubs. * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze generated pre/post pragmas at once before analyzing the proper body. * sem_prag.adb (Chain_PPC): Handle pragma that comes from an aspect on a subprogram stub. * aspects.adb: Aspect specifications can appear on a subprogram_Body_Stub. 2013-04-11 Vincent Celier <celier@adacore.com> * gnatname.adb: Minor comment fix. 2013-04-11 Vincent Celier <celier@adacore.com> * prj-makr.adb (Process_Directory): Create a new temporary file for each invocation of the compiler, in directory pointed by environment variable TMPDIR if it exists. 2013-04-11 Arnaud Charlet <charlet@adacore.com> * gnat_ugn.texi: Minor editing/clean ups. From-SVN: r197781
2013-04-11sem_ch6.adb (Analyze_Null_Procedure): New subprogram...Ed Schonberg2-76/+162
2013-04-11 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Null_Procedure): New subprogram, mostly extracted from Analyze_Subprogram_Declaration, to handle null procedure declarations that in ada 2012 can be completions of previous declarations. From-SVN: r197779
2013-04-11[multiple changes]Arnaud Charlet5-54/+67
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Entity_Of): Moved to Exp_Util. * exp_util.ads, exp_util.adb (Entity_Of): New routine. 2013-04-11 Robert Dewar <dewar@adacore.com> * g-spipat.ads: Minor comment fix. From-SVN: r197778
2013-04-11[multiple changes]Arnaud Charlet6-40/+59
2013-04-11 Robert Dewar <dewar@adacore.com> * sem_prag.adb, sem_util.adb, sem_res.adb, exp_ch4.adb: Minor reformatting. 2013-04-11 Thomas Quinot <quinot@adacore.com> * exp_util.ads (Fully_Qualified_Name_String): Document that the constructed literal is the entity name in all upper case. From-SVN: r197777
2013-04-11[multiple changes]Arnaud Charlet4-3/+31
2013-04-11 Thomas Quinot <quinot@adacore.com> * sem_util.adb (Set_Entity_With_Style_Check): Fix logic of check for implementation defined identifiers. 2013-04-11 Yannick Moy <moy@adacore.com> * checks.adb (Apply_Type_Conversion_Checks): Add an explanation of why range check and length are put on different nodes. * exp_ch4.adb (Apply_Type_Conversion_Checks): Remove check marks when doing their expansion. From-SVN: r197776
2013-04-11[multiple changes]Arnaud Charlet10-43/+182
2013-04-11 Ed Schonberg <schonberg@adacore.com> * sem_util.ads, sem_util.adb (Get_Incomplete_View_Of_Ancestor): New function to implement the notion introduced in RM 7.3.1 (5.2/3): in a child unit, a derived type is within the derivation class of an ancestor declared in a parent unit, even if there is an intermediate derivation that does not see the full view of that ancestor. * sem_res.adb (Valid_Conversion): if all else fails, examine if an incomplete view of an ancestor makes a numeric conversion legal. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb: in Ada2012 operators can only have in parameters. 2013-04-11 Vincent Celier <celier@adacore.com> * makeutl.adb (Create_Binder_Mapping_File): Do not put into the mapping file ALI files of sources that have been replaced. 2013-04-11 Vincent Celier <celier@adacore.com> * projects.texi: Add subsection Duplicate Sources in Projects. 2013-04-11 Vincent Celier <celier@adacore.com> * gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/** 2013-04-11 Arnaud Charlet <charlet@adacore.com> * init.c (__gnat_install_handler): Only set up an alternate stack when installing a signal handler for SIGSEGV. 2013-04-11 Thomas Quinot <quinot@adacore.com> * g-socket.adb (Connect_Socket, timeout version): Call underlying connect operation directly, not through the 2-argument Connect_Socket thick binding, in order to avoid raising a junk exception for the EINPROGRESS return. From-SVN: r197775
2013-04-11[multiple changes]Arnaud Charlet11-43/+796
2013-04-11 Robert Dewar <dewar@adacore.com> * a-cdlili.adb: Minor addition of pragma Warnings (Off). 2013-04-11 Robert Dewar <dewar@adacore.com> * hostparm.ads: Minor reformatting. 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> * aspects.ads, aspects.adb: Add Aspect_Depends to all the relevant tables. * elists.ads, elists.adb (Contains): New routine. * par-prag.adb: Pragma Depends does not need any special treatment by the parser. * sem_ch13.adb (Analyze_Aspect_Specifications): Transform aspect Depends into a corresponding pragma. (Check_Aspect_At_Freeze_Point): Aspect Depends does not need inspection at its freeze point. * sem_prag.adb (Analyze_Pragma): Perform analysis and normalization of pragma Depends. Remove the use of function Is_Duplicate_Item. Use End_Scope to uninstalle the formal parameters of a subprogram. Add a value for pragma Depends in table Sig_Flags. (Is_Duplicate_Item): Removed. * snames.ads-tmpl: Add predefined name for Depends as well as a pragma identifier. From-SVN: r197774
2013-04-11[multiple changes]Arnaud Charlet10-539/+587
2013-04-11 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb: Minor code clean up. 2013-04-11 Arnaud Charlet <charlet@adacore.com> * debug.adb, sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enumeration rep clauses by default in CodePeer mode, unless -gnatd.I is specified. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Safe_To_Capture_Value): If the node belongs to an expression that has been attached to the else_actions of an if-expression, the capture is not safe. 2013-04-11 Yannick Moy <moy@adacore.com> * checks.adb (Apply_Type_Conversion_Checks): Put check mark on type conversion for arrays. 2013-04-11 Robert Dewar <dewar@adacore.com> * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting. 2013-04-11 Johannes Kanig <kanig@adacore.com> * adabkend.adb: Minor comment addition. From-SVN: r197773
2013-04-11[multiple changes]Arnaud Charlet7-307/+1056
2013-04-11 Matthew Heaney <heaney@adacore.com> * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment lock counts before entering loop. (Find): Ditto. (Is_Sorted, Merge, Sort): Ditto. (Reverse_Find): Ditto. (Splice_Internal): Internal operation to refactor splicing logic. (Splice): Some logic moved into Splice_Internal. 2013-04-11 Johannes Kanig <kanig@adacore.com> * adabkend.adb (Scan_Compiler_Arguments): Do not call Set_Output_Object_File_Name in Alfa_Mode * gnat1drv.adb (Adjust_Global_Switches): Take Alfa_Mode into account. * opt.ads: Fix documentation. From-SVN: r197771
2013-04-11sem_res.adb: Minor code reorganization and comment fixes.Robert Dewar4-15/+25
2013-04-11 Robert Dewar <dewar@adacore.com> * sem_res.adb: Minor code reorganization and comment fixes. * sem_type.adb: Minor reformatting. From-SVN: r197768
2013-04-11[multiple changes]Arnaud Charlet4-120/+155
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Process_Transient_Object): Add new local variable Fin_Call. Remove and explain ??? comment. Use the Actions of logical operators "and then" and "or else" to insert the generated finalization call. 2013-04-11 Eric Botcazou <ebotcazou@adacore.com> * gnat_rm.texi: Fix typo. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * sem_res.adb: Minor reformatting. From-SVN: r197767
2013-04-11[multiple changes]Arnaud Charlet15-168/+650
2013-04-11 Robert Dewar <dewar@adacore.com> * atree.h: Add declarations for Flag255-Flag289 Fix declaration of Field30 (was wrong, but no effect, since not yet referenced by back end) Add declarations for Field31-Field35 Add declarations for Node31-Node35. * einfo.ads, einfo.adb (Has_Invariants): No longer applies to procedures. (Has_Predicates): No longer applies to functions. (Is_Predicate_Function): New flag. (Is_Predicate_Function_M): New flag. (Is_Invariant_Procedure): New flag. (Predicate_Function_M): New function. (Set_Predicate_Function_M): New procedure. * exp_ch11.adb (Expand_N_Raise_Expression): Take care of special case of appearing in predicate used for membership test. * exp_ch3.adb (Insert_Component_Invariant_Checks): Set Is_Invariant_Procedure flag. * exp_ch4.adb (Expand_Op_In): Call special predicate function that takes care of raise_expression nodes in the predicate. * exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for membership case. * sem_ch13.adb (Build_Predicate_Functions): New name for Build_Predicate_Function. Major rewrite to take care of raise expression in predicate for membership tests. * sem_res.adb (Resolve_Actuals): Include both predicate functions in defense against infinite predicate function loops. * sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag. 2013-04-11 Robert Dewar <dewar@adacore.com> * sem_prag.adb: Minor reformatting. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: Generate reference for component of anonymous access type. From-SVN: r197766
2013-04-11[multiple changes]Arnaud Charlet5-514/+1022
2013-04-11 Robert Dewar <dewar@adacore.com> * stand.ads: Minor reformatting. 2013-04-11 Matthew Heaney <heaney@adacore.com> * a-convec.adb, a-coinve.adb, a-cobove.adb ("="): Increment lock counts before entering loop. (Find, Find_Index): Ditto. (Is_Sorted, Merge, Sort): Ditto. (Reverse_Find, Reverse_Find_Index): Ditto. From-SVN: r197765
2013-04-11exp_ch11.ads, [...] (Expand_N_Raise_Expression): New procedure.Robert Dewar16-20/+256
2013-04-11 Robert Dewar <dewar@adacore.com> * exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure. * exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression. * expander.adb: Add call to Expand_N_Raise_Expression. * par-ch11.adb (P_Raise_Expression): New procedure. * par-ch4.adb (P_Relation): Handle Raise_Expression. * par.adb (P_Raise_Expression): New procedure. * sem.adb: Add handling for N_Raise_Expression. * sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure. * sem_res.adb (Resolve): Add handling for N_Raise_Expression. * sinfo.ads, sinfo.adb (N_Raise_Expression): New node. * sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression. * stand.ads (Any_Type): Document use with N_Raise_Expression. From-SVN: r197764
2013-04-11[multiple changes]Arnaud Charlet3-83/+18
2013-04-11 Vincent Celier <celier@adacore.com> * gnat_ugn.texi: Remove section "The Development Environments" now that all predefined attributes are documented, including those in package IDE. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb: Preserve parent link in copy of expression. From-SVN: r197763
2013-04-11[multiple changes]Arnaud Charlet3-174/+1292
2013-04-11 Vincent Celier <celier@adacore.com> * projects.texi: Complete rewrite of the subsection Attributes in section "Project file Reference". 2013-04-11 Robert Dewar <dewar@adacore.com> * exp_ch4.adb: Minor reformatting. From-SVN: r197762