aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
AgeCommit message (Collapse)AuthorFilesLines
2011-09-01exp_ch4.adb, [...]: Minor reformatting.Robert Dewar3-20/+27
2011-09-01 Robert Dewar <dewar@adacore.com> * exp_ch4.adb, a-exexda.adb: Minor reformatting. From-SVN: r178402
2011-09-01[multiple changes]Arnaud Charlet11-51/+141
2011-09-01 Robert Dewar <dewar@adacore.com> * s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting. 2011-09-01 Thomas Quinot <quinot@adacore.com> * Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to GNATRTL_NONTASKING_OBJS. 2011-09-01 Robert Dewar <dewar@adacore.com> * einfo.ads (Is_Aliased): Fix existing documentation and add note on possibility of this flag being set for formals in Ada 2012 mode. * par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada 2012. * sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012 mode. * sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for Ada 2012. * sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for Ada 2012. 2011-09-01 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper insertion node in a tree of nested Expression_With_Actions nodes. (Process_Transient_Object): In the case where a complex if statement has been converted into nested Expression_With_Actions nodes, the "hook" object and the associated access type must be inserted before the top most Expression_With_Actions. From-SVN: r178401
2011-09-01[multiple changes]Arnaud Charlet15-41/+165
2011-09-01 Robert Dewar <dewar@adacore.com> * a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads, a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting. 2011-09-01 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb: Conditionalize aliasing predicates to Ada2012. 2011-09-01 Jose Ruiz <ruiz@adacore.com> * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU aspect. * aspects.adb (Canonical_Aspect): Add entry for the CPU aspect. * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect in a similar way as we do for the Priority or Dispatching_Domain aspect. * s-mudido-affinity.adb (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen): Move this local data to package System.Tasking because with the CPU aspect we need to have access to this data when creating the task in System.Tasking.Stages.Create_Task * s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen): Move these variables from the body of System.Multiprocessors.Dispatching_Domains because with the CPU aspect we need to have access to this data when creating the task in System.Tasking.Stages.Create_Task. * s-taskin.adb (Initialize): Signal the allocation of the environment task to a CPU, if any, so that we know whether the CPU can be transferred to a different dispatching domain. * s-tassta.adb (Create_Task): Check whether the CPU to which this task is being allocated belongs to the dispatching domain where the task lives. Signal the allocation of the task to a CPU, if any, so that we know whether the CPU can be transferred to a different dispatching domain. From-SVN: r178400
2011-09-01exp_attr.adb, [...]: Implementation of attributes Same_Storage and ↵Ed Schonberg4-0/+214
Overlaps_Storage. 2011-09-01 Ed Schonberg <schonberg@adacore.com> * exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of attributes Same_Storage and Overlaps_Storage. From-SVN: r178399
2011-09-01[multiple changes]Arnaud Charlet29-88/+1366
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com> * exp_strm.adb: Remove with and use clause for Opt. (Build_Array_Input_Function): Remove the version-dependent generation of the return statement. The Ada 2005 tree is now the default. 2011-09-01 Yannick Moy <moy@adacore.com> * put_alfa.adb: Unconditionnally write files in Alfa section, so that it is never empty when compiling in Alfa mode. 2011-09-01 Robert Dewar <dewar@adacore.com> * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb, comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb, gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting 2011-09-01 Matthew Heaney <heaney@adacore.com> * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb], a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb] * a-csquin.ads: New Ada 2012 unit that specifies the queue interface * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the unbounded queue container. * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the bounded queue container. * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the unbounded priority queue container. * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the bounded priority queue container. From-SVN: r178398
2011-08-31[multiple changes]Arnaud Charlet9-215/+278
2011-08-31 Pascal Obry <obry@adacore.com> * a-direct.adb: Do not try to create an UNC path on Windows. (Create_Path): Skip leading computer name in UNC path if any. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the version-dependent generation of the return statement. The Ada 2005 tree is now the default. 2011-08-31 Thomas Quinot <quinot@adacore.com> * rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined types Stream_Element_Offset and Storage_Offset have a different native type depending on whether the platform is 32 or 64 bits. When exchanging them, always convert to 64 bits. 2011-08-31 Yannick Moy <moy@adacore.com> * debug.adb: Reserve debug option -gnatd.E for passing gnatprove option --force-alfa to gnat2why. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Save_References): If the node has aspects, save references within the corresponding expressions in a separate step, because the aspects are not directly in the tree for the declaration to which they belong. 2011-08-31 Arnaud Charlet <charlet@adacore.com> * freeze.adb (Freeze_Record_Type): Omit test on variable size component in CodePeer mode, since representation clauses are partially ignored. * gcc-interface/Make-lang.in: Update dependencies. From-SVN: r178373
2011-08-31[multiple changes]Arnaud Charlet11-81/+151
2011-08-31 Jose Ruiz <ruiz@adacore.com> * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned to any dispatching domain. 2011-08-31 Thomas Quinot <quinot@adacore.com> * exp_ch4.adb: Minor reformatting. 2011-08-31 Bob Duff <duff@adacore.com> * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication on nodes for which it is not defined. (Is_Non_Overriding_Operation): Exit the loop when we find a generic parent type. 2011-08-31 Bob Duff <duff@adacore.com> * sem_ch3.adb (Process_Full_View): Disable legality check if In_Instance, to avoid spurious errors. * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check if In_Instance, to avoid spurious errors. 2011-08-31 Pascal Obry <obry@adacore.com> * a-direct.adb: Use Dir_Seps everywhere to properly handle all directory speparators. (Compose): Use Dir_Seps to handle both forms. (Create_Path): Use Dir_Seps instead of explicit check, no semantic changes. (Extension): Use Dir_Seps to handle both forms. 2011-08-31 Pascal Obry <obry@adacore.com> * prj-conf.adb: Minor reformatting. From-SVN: r178372
2011-08-31[multiple changes]Arnaud Charlet27-54/+385
2011-08-31 Jose Ruiz <ruiz@adacore.com> * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the dispatching domain aspect. * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain aspect. * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the Dispatching_Domain aspect in a similar way as we do for the Priority aspect. * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the Dispatching_Domain component if a Dispatching_Domain pragma or aspect is present. (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma. * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma Dispatching_Domain and add it to the task definition. (Sig_Flags): Add Pragma_Dispatching_Domain. * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the support to find the types Dispatching_Domain and Dispatching_Domain_Access. * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain, Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and query the availability of a pragma Dispatching_Domain. * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by the expander to pass the Dispatching_Domain when creating a task. (Name_Dispatching_Domain): Add this new name for a pragma. (Pragma_Id): Add the new Pragma_Dispatching_Domain. * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the task has been allocated at creation time. * s-tarest.adb (Create_Restricted_Task): The dispatching domain using Ravenscar is always null. * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which the task has been allocated at creation time. * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have a specific dispatching domain. * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb, s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain and CPU are specified for the task, and the CPU value is not contained within the range of processors for the domain. 2011-08-31 Vincent Celier <celier@adacore.com> * make.adb (Original_Gcc) : New constant String_Access. (Gnatmake): For VM targets, do not use VM version of the compiler if --GCC= has been specified. 2011-08-31 Thomas Quinot <quinot@adacore.com> * sem_ch5.adb: Minor reformatting. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do not reanalyze it. 2011-08-31 Bob Duff <duff@adacore.com> * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case the access type is private; we don't care about privacy in expansion. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate subcomponents tnat may be limited, because they originate in view conflicts. If the original aggregate is legal and the actuals are legal, the aggregate itself is legal. From-SVN: r178371
2011-08-31[multiple changes]Arnaud Charlet5-10/+41
2011-08-31 Matthew Heaney <heaney@adacore.com> * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock status. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb: Set kind of loop parameter properly, to preserve all errors in B tests. 2011-08-31 Jose Ruiz <ruiz@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and Interrupt_Priority aspects, force the analysis of the aspect expression (when building the equivalent pragma). Otherwise, its analysis is done too late, after the task or protected object has been created. * sem_ch9.adb (Analyze_Single_Protected_Declaration, Analyze_Single_Task_Declaration): Remove the code to move the aspects to the object declaration because they are needed in the type declaration. From-SVN: r178370
2011-08-31[multiple changes]Arnaud Charlet19-71/+171
2011-08-31 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb, a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor reformatting. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb (Find_Protection_Type): Do not look for fields _object if the corresponding type is malformed due to restriction violations. 2011-08-31 Robert Dewar <dewar@adacore.com> * s-ransee.ads, s-ransee.adb: Minor reformatting. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which would cause the generation of Set_Finalize_Address if the target is a VM and the designated type is not derived from [Limited_]Controlled. 2011-08-31 Arnaud Charlet <charlet@adacore.com> * comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New subprogram. (Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in case of a compilation error. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * init.c (__gnat_error_handler): Standardize the stack overflow or erroneous memory access message. * seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow or erroneous memory access message. From-SVN: r178368
2011-08-31[multiple changes]Arnaud Charlet5-26/+60
2011-08-31 Robert Dewar <dewar@adacore.com> * sem_ch4.adb: Minor reformatting. * sem_ch6.adb: Minor code reorganization (use Ekind_In). 2011-08-31 Thomas Quinot <quinot@adacore.com> * scos.ads: Minor documentation clarification. * put_scos.adb: Do not generate SCO unit header line for a unit that has no SCO lines. From-SVN: r178367
2011-08-31a-rbtgbo.adb, [...]: Minor reformatting.Robert Dewar3-41/+49
2011-08-31 Robert Dewar <dewar@adacore.com> * a-rbtgbo.adb, alfa_test.adb: Minor reformatting. From-SVN: r178366
2011-08-31[multiple changes]Arnaud Charlet22-339/+473
2011-08-31 Tristan Gingold <gingold@adacore.com> * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to hold variables between these following subprograms. (Build_Exception_Handler, Build_Object_Declarations, Build_Raise_Statement): Use the above type as parameter. Make the above adjustments. * exp_intr.adb (Expand_Unc_Deallocation): Adjust. 2011-08-31 Pascal Obry <obry@adacore.com> * projects.texi: Minor reformatting. 2011-08-31 Tristan Gingold <gingold@adacore.com> * s-ransee.ads, s-ransee.adb: Add system.random_seed unit. * s-rannum.adb (Reset): Use Get_Seed from s-ransee. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb: Minor code cleanup. * sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to prevent cascaded errors. (Analyze_Loop_Statement): In semantics-only mode, introduce loop variable of an iterator specification in current scope. * sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip postconditions on the stack, as they contain no return statements. 2011-08-31 Yannick Moy <moy@adacore.com> * exp_alfa.adb (Expand_Alfa_N_Package_Declaration, Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply call Qualify_Entity_Names. (Expand_Alfa): call Qualify_Entity_Names in more cases * lib-xref-alfa.adb: Take into account system package. * sem_prag.adb Take into account restrictions in Alfa mode, contrary to CodePeer mode in which we are interested in finding bugs even if compiler cannot compile source. * sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of deferred constant. 2011-08-31 Gary Dismukes <dismukes@adacore.com> * sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype denoted by the subtype mark to ensure getting the concurrent type in the case where the subtype mark denotes a private subtype of a concurrent type (needed when using -gnatc). (Process_Subtype): For the processing specific to type kinds, case on the Base_Type kind of the Subtype_Mark_Id, to handle cases where the subtype denotes a private subtype whose base type is nonprivate (needed for subtypes of private fulfilled by task types when compiling with -gnatc). 2011-08-31 Gary Dismukes <dismukes@adacore.com> * sem_disp.adb (Check_Dispatching_Operation): Bypass registration of late primitives that override interface operations when the full expander is not active, to avoid blowups in Register_Primitive when types don't have associated secondary dispatch tables. 2011-08-31 Yannick Moy <moy@adacore.com> * alfa_test.adb: Code clean up. 2011-08-31 Marc Sango <sango@adacore.com> * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N) by Comes_From_Source (Original_Node (N)) in order to treat also the nodes which have been rewritten. * sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the explicit dereference and slice violation in spark mode on the nodes coming only from the source code. From-SVN: r178365
2011-08-31[multiple changes]Arnaud Charlet12-44/+353
2011-08-31 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb, lib-xref-alfa.adb: Minor reformatting. 2011-08-31 Matthew Heaney <heaney@adacore.com> * a-crbltr.ads (Tree_Type): Default-initialize the Nodes component. 2011-08-31 Javier Miranda <miranda@adacore.com> * sem_ch4.adb (Try_Object_Operation): Addition of one formal to search only for class-wide subprograms conflicting with entities of concurrent tagged types. 2011-08-31 Matthew Heaney <heaney@adacore.com> * a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of node to null value. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more general description of the routine. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded doubly-linked lists. From-SVN: r178363
2011-08-31exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant check is ↵Gary Dismukes2-6/+31
needed for a left-hand side that is a dereference... 2011-08-31 Gary Dismukes <dismukes@adacore.com> * exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant check is needed for a left-hand side that is a dereference, and the base type is private without discriminants (whereas the full type does have discriminants), an extra retrieval of the underlying type may be needed in the case where the subtype is a record subtype whose base type is private. Update comments. From-SVN: r178362
2011-08-31[multiple changes]Arnaud Charlet12-125/+339
2011-08-31 Javier Miranda <miranda@adacore.com> * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is found check if there is a class-wide subprogram covering the primitive. 2011-08-31 Yannick Moy <moy@adacore.com> * sem_res.adb: Further cases where full expansion test is needed, rather than expansion test. 2011-08-31 Pascal Obry <obry@adacore.com> * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list) 2011-08-31 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb: Handle iterators over derived container types. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master. (Has_Anonymous_Master): New routine. (Set_Has_Anonymous_Master): New routine. (Write_Entity_Flags): Add an entry for Has_Anonymous_Master. * exp_ch4.adb: Add with and use clause for Sem_Ch8. (Current_Anonymous_Master): New routine. (Current_Unit_First_Declaration): Removed. (Current_Unit_Scope): Removed. (Expand_N_Allocator): Anonymous access-to-controlled types now chain their objects on a per-unit heterogeneous finalization master. 2011-08-31 Matthew Heaney <heaney@adacore.com> * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets array. 2011-08-31 Jose Ruiz <ruiz@adacore.com> * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask when not needed. 2011-08-31 Gary Dismukes <dismukes@adacore.com> * sem_disp.adb (Propagate_Tag): Return without propagating in the case where the actual is an unexpanded call to 'Input. From-SVN: r178361
2011-08-31[multiple changes]Arnaud Charlet17-88/+365
2011-08-31 Yannick Moy <moy@adacore.com> * sem_ch4.adb: Code clean up. 2011-08-31 Yannick Moy <moy@adacore.com> * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize and TSS primitive Finalize_Address if finalization is suppressed. (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS primitive Finalize_Address if finalization is suppressed. 2011-08-31 Jose Ruiz <ruiz@adacore.com> * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make sure that the underlying task has already been created before trying to change its affinity. (Set_CPU): Use the term processor instead of CPU, as we do in Assign_Task. 2011-08-31 Vincent Celier <celier@adacore.com> * prj-attr.adb: New Compiler attribute Source_File_Switches. * prj-nmsc.adb (Process_Compiler): Process attribute Source_File_Switches. * prj.ads (Language_Config): New name list component Name_Source_File_Switches. * snames.ads-tmpl (Name_Source_File_Switches): New standard name. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a discriminated component of an actual, expand at once to prevent ouf-of-order references with generated subtypes. 2011-08-31 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read reference to operator in Alfa xrefs. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case where the parent instance was frozen before the current instance due to the presence of a source body. Update calls to Insert_After_Last_Decl. (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance. Update the comment which illustrates the purpose of the routine. Package instances are now frozen by source bodies which appear after the instance. This ensures that entities coming from within the instance are available for use in the said bodies. (Install_Body): Add code to handle the case where the parent instance was frozen before the current instance due to the presence of a source body. Update calls to Insert_After_Last_Decl. From-SVN: r178360
2011-08-31Complete log of previous change.Arnaud Charlet1-1/+8
From-SVN: r178359
2011-08-31[multiple changes]Arnaud Charlet39-303/+327
2011-08-31 Jose Ruiz <ruiz@adacore.com> * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous access types. * affinity.c (__gnat_set_affinity_mask): Declare index variable. 2011-08-31 Yannick Moy <moy@adacore.com> * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in full-expander test. Minor reformatting, renaming ALFA in Alfa (we dropped acronym) * einfo.adb (Primitive_Operations): Correctly return list of primitive operations in a case where it returned previously No_Elist. From-SVN: r178358
2011-08-31s-taprop-vxworks.adb, [...]: Minor reformatting.Robert Dewar23-388/+410
2011-08-31 Robert Dewar <dewar@adacore.com> * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb, s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads, sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb, s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads, s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor reformatting. From-SVN: r178357
2011-08-31[multiple changes]Arnaud Charlet7-16/+67
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch12 (Check_Private_View): Revert previous change. * sem_res.adb (Conversion_Check): Do not emit the error message if the conversion is in a generic instance. 2011-08-31 Matthew Heaney <heaney@adacore.com> * a-cbhase.adb (Symmetric_Difference): Dereference correct node array. * a-chtgbo.adb (Free): Allow 0 as index value. 2011-08-31 Matthew Heaney <heaney@adacore.com> * a-cborma.adb (Insert): Add comment to explain why no element assignment. 2011-08-31 Gary Dismukes <dismukes@adacore.com> * sem_util.adb (Find_Body_Discriminal): Test whether the scope of the spec discriminant is already a concurrent type, in which case just use it, otherwise fetch the Corresponding_Concurrent_Type as before. From-SVN: r178356
2011-08-30system-irix-n64.ads, [...]: Remove GCC_ZCX_Support.Eric Botcazou10-19/+17
* system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads, system-linux-mips.ads, system-linux-mipsel.ads, system-linux-mips64el.ads, system-linux-ppc64.ads, system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support. From-SVN: r178336
2011-08-30ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.Eric Botcazou3-3/+9
* gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check. * gcc-interface/utils2.c (build_binary_op): Tighten condition. (build_unary_op): Likewise. From-SVN: r178335
2011-08-30raise-gcc.c: Do not include coretypes.h and tm.h.Eric Botcazou4-17/+13
* raise-gcc.c: Do not include coretypes.h and tm.h. (setup_to_install): Remove test for compiler macro. * targext.c: Document use for the library. * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC. From-SVN: r178333
2011-08-30decl.c (gnat_to_gnu_entity): Do not convert the expression to the nominal ↵Eric Botcazou2-4/+22
type if... * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert the expression to the nominal type if the latter is a record type with a variant part and the type of the former is a record type without one. Co-Authored-By: Laurent Rougé <laurent.rouge@menta.fr> From-SVN: r178331
2011-08-30Switch to GPLv3Arnaud Charlet2-23/+21
From-SVN: r178323
2011-08-30Update dependenciesArnaud Charlet1-0/+11
From-SVN: r178322
2011-08-30[multiple changes]Arnaud Charlet38-216/+1431
2011-08-30 Jose Ruiz <ruiz@adacore.com> * s-taskin.ads (Common_ATCB): Add field domain which contains the dispatching domain to which the task belongs. * s-taskin.adb (Initialize): Create the default system dispatching domain and make the environment task part of it. * s-mudido.ads: Add this new spec for standard Ada 2012 package Ada.Multiprocessors.Dispatching_Domains. * s-mudido.adb: Add this new body for targets not supporting dispatching domains. * s-mudido-affinity.adb: Add this new body for targets supporting dispatching domains setting the affinity to a CPU set. * bindgen.adb (Dispatching_Domain_Used, Check_Dispatching_Domains_Used, Gen_Adainit): When package System.Multiprocessors.Dispatching_Domains is used we call the procedure to signal that when we are about to call the main subprogram no new dispatching domain can be created. (Check_File_In_Partition): Factor out the common functionality used by Check_System_Restrictions_Used and Check_Dispatching_Domains_Used. * s-tassta.adb (Create_Task): Tasks inherit the dispatching domain of their activators. * s-taprop.ads (Set_Task_Affinity): Add this new procedure to set task affinities. * s-taprop-dummy.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vms.adb (Set_Task_Affinity): Dummy null body for these targets not supporting task affinities. s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb (Create_Task, Enter_Task, Initialize): Handle dispatching domains and set the affinity of the environment task. (Set_Task_Affinity): Procedure that uses the underlying CPU set functionality to handle dispatching domains, pragma CPU and Task_Info. s-winext.ads (SetThreadAffinityMask): Import this function needed to set CPU masks. * s-osinte-solaris.ads (psetit_t, pset_create, pset_assign, pset_bind): Import the functionality to handle CPU set affinities. * affinity.c: New file. * s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads (taskMaskAffinitySet): Add this new spec for setting affinity masks. * s-vxwext.adb, s-vxwext-kernel.adb, s-vxwext-rtp.adb (taskMaskAffinitySet): Body returning an error indicating that task affinities are not supported. Makefile.rtl: Indicate that s-mudido is part of libgnarl. * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks SMP, Solaris, Windows, and {x86,PowerPC, ia64,x86_64} Linux): Use the s-mudido-affinity.adb body which supports task affinities. 2011-08-30 Thomas quinot <quinot@adacore.com> * sem_ch13.adb: Minor reformatting. 2011-08-30 Vincent Celier <celier@adacore.com> * vms_conv.adb (Process_Argument): When the qualifier /UNCHECKED_SHARED_LIB_IMPORTS is for GNAT COMPILE, do not put the corresponding switch --unchecked-shared-lib-imports after -cargs, as it is for gnatmake, not for the compiler. 2011-08-30 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Quantified_Expression): Analyze iterator specification and condition only in Semantics_Only mode. Otherwise the analysis is done after expression has been rewritten as loop. * sem_ch5.adb (Analyze_Iterator_Specification): Always generate a temporary for the iterator name (the domain of iteration) because it may need finalization actions and these must be generated outside of the loop. * sem_res.adb (Resolve_Quantified_Expression): Resolve only in Semantic_Only mode. * exp_ch4.adb (Expand_Quantified_Expression): Analyze and resolve once rewritten as loop. * exp_ch5.adb (Expand_Iterator_Loop): Code clean-up, now that the iterator is always an expression. 2011-08-30 Robert Dewar <dewar@adacore.com> * par-ch4.adb (P_Unparen_Cond_Case_Quant_Expression): New function (P_Expression_If_OK): New spec checks parens (P_Expression_Or_Range_Attribute_If_OK): New spec checks parens * par.adb (P_Expression_If_OK): New spec checks parens (P_Expression_Or_Range_Attribute_If_OK): New spec checks parens From-SVN: r178321
2011-08-30* gcc-interface/Make-lang.in: Update dependencies.Yannick Moy2-22/+54
From-SVN: r178318
2011-08-30[multiple changes]Arnaud Charlet12-58/+386
2011-08-30 Yannick Moy <moy@adacore.com> * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during expansion in Alfa mode. * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public * exp_alfa.adb, exp_alfa.ads: New package defining light expansion for Alfa mode. * gnat1drv.adb (Adjust_Global_Switches): Update Comment. * sem_res.adb: Ditto. 2011-08-30 Thomas Quinot <quinot@adacore.com> * g-socket.ads: Minor documentation adjustment. From-SVN: r178317
2011-08-30exp_ch9.adb, [...]: Minor reformatting.Arnaud Charlet19-831/+333
2011-08-30 Robert Dewar <dewar@adacore.com> * exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting. 2011-08-30 Yannick Moy <moy@adacore.com> * exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb, exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads, exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb, gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb: Revert change which introduced files for "light" expansion, to be replaced by a single file for Alfa expansion. From-SVN: r178316
2011-08-30Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_PercentageTristan Gingold2-6/+6
From-SVN: r178315
2011-08-30opt.ads, [...]: Update comment.Robert Dewar5-18/+22
2011-08-30 Robert Dewar <dewar@adacore.com> * opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment. Minor code reorg/reformatting. From-SVN: r178314
2011-08-30[multiple changes]Arnaud Charlet21-176/+88
2011-08-30 Yannick Moy <moy@adacore.com> * opt.adb, opt.ads (Full_Expander_Active): New function defines a common shorthand for (Expander_Active and not ALFA_Mode) that can be used for testing full expansion, that is active expansion not in the reduced mode for Alfa * exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead of the verbose (Expander_Active and not ALFA_Mode) 2011-08-30 Tristan Gingold <gingold@adacore.com> * s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb, s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb, s-secsta.ads, s-parame.ads, s-parame-vxworks.ads: Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage. From-SVN: r178313
2011-08-30[multiple changes]Arnaud Charlet9-56/+101
2011-08-30 Gary Dismukes <dismukes@adacore.com> * sem_res.adb (Valid_Conversion): Revise test for implicit anonymous access conversions to check that the conversion is a rewritten node, rather than just having Comes_From_Source set to False, which wasn't sufficient. 2011-08-30 Robert Dewar <dewar@adacore.com> * exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb, g-socket.ads: Minor reformatting. 2011-08-30 Thomas Quinot <quinot@adacore.com> * sem_util.adb: Minor reformatting. 2011-08-30 Tristan Gingold <gingold@adacore.com> * raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set, to be compliant with the ABI. From-SVN: r178310
2011-08-30[multiple changes]Arnaud Charlet3-2/+20
2011-08-30 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch12.adb (Check_Private_View): Exchange the private and full view of a designated type when the related access type is an actual in an instance. This ensures that the full view of designated type is available when inside the body of the instance. 2011-08-30 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (May_Be_Lvalue): To determine whether a reference may be in a position to be modified, a slice is treated like an indexed component. From-SVN: r178308
2011-08-30[multiple changes]Arnaud Charlet10-11/+86
2011-08-30 Thomas Quinot <quinot@adacore.com> * s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for field tv_sec in struct timeval. 2011-08-30 Yannick Moy <moy@adacore.com> * exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several blocks of code doing full expansion, previously only guarded by Expander_Active, by anding the test that ALFA_Mode is not set 2011-08-30 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete, add the function to the list of private dependents, for subsequent legality check on Taft amendment types. * sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize Private_Dependents, as for other incomplete types. * sem_util.adb (Wrong_Type): Avoid cascaded errors when a Taft-amendment type is used as the return type of a function. From-SVN: r178307
2011-08-30sem_ch3.adb (Check_Abstract_Overriding): Code cleanup...Javier Miranda6-20/+89
2011-08-30 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code which emits an error by a call to a new routine which report the error. * exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the entity does not cover an existing interface. * errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize code. * sem_ch6.adb (Check_Conformance): Add specific error for wrappers of protected procedures or entries whose mode is not conformant. (Check_Synchronized_Overriding): Code cleanup: replace code which emits an error by a call to a new routine which report the error. From-SVN: r178306
2011-08-30[multiple changes]Arnaud Charlet4-17/+29
2011-08-30 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Minor change. * exp_attr_light.adb: Minor reformatting. 2011-08-30 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: Patch inheritance of aspects in Complete_Private_Subtype, to avoid infinite loop. From-SVN: r178305
2011-08-30[multiple changes]Arnaud Charlet22-272/+832
2011-08-30 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have been reported and a subprogram covering an interface primitive is not found then skip generating the internal entity. Done to avoid crashing the frontend. (Check_Abstract_Overriding): Change text of error of wrong formal of protected subprogram or entry. Done for consistency to emit exactly the same error reported by Check_Synchronized_Overriding. In addition, the error is restricted to protected types (bug found working on AI05-0090) 2011-08-30 Yannick Moy <moy@adacore.com> * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during expansion in Alfa mode. * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public. * exp_light.adb, exp_light.ads: New package defining light expansion. * expander.adb (Expand): Call light expansion in Alfa mode * exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6 constructs. * exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7 constructs. * exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes * gnat1drv.adb (Adjust_Global_Switches): Comment 2011-08-30 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb: Minor refactoring. 2011-08-30 Yannick Moy <moy@adacore.com> * exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa mode. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform expansion in Alfa mode. * sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa mode. 2011-08-30 Robert Dewar <dewar@adacore.com> * debug_a.adb: Update comment. From-SVN: r178304
2011-08-30exp_ch5.adb, [...]: Minor reformattingRobert Dewar18-108/+178
2011-08-30 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb, sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb, exp_ch4.adb, exp_ch6.adb, s-bbthre.adb, lib-xref-alfa.adb, sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting 2011-08-30 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Add section on C.6(16) implementation advice for pragma volatile. From-SVN: r178303
2011-08-30exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to ↵Hristian Kirtchev4-40/+151
Build_Finalization_Master by supplying an insertion node... 2011-08-30 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to Build_Finalization_Master by supplying an insertion node and enclosing scope. In its old version, the call did not generate a finalization master. (Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to recognize anonymous access-to-controlled components. Rewrite the machinery which creates finalization masters to service anonymous access-to-controlled components of a record type. In its current state, only one heterogeneous master is necessary to handle multiple anonymous components. (Freeze_Type): Comment reformatting. * rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and RE_Unit_Table. * s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which associates TSS primitive Finalize_Address with either the master itself or with the internal hash table depending on the mode of operation of the master. From-SVN: r178301
2011-08-30exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an ↵Javier Miranda2-2/+15
interface type then do not generate... 2011-08-30 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an interface type then do not generate code to compare this component. Required since they have no components and their equality operator is abstract. From-SVN: r178300
2011-08-30[multiple changes]Arnaud Charlet16-43/+477
2011-08-30 Steve Baird <baird@adacore.com> * sem_util.ads (Deepest_Type_Access_Level): New function; for the type of a saooaaat (i.e, a stand-alone object of an anonymous access type), returns the (static) accessibility level of the object. Otherwise, the same as Type_Access_Level. (Dynamic_Accessibility_Level): New function; given an expression which could occur as the rhs of an assignment to a saooaaat (i.e., an expression of an access-to-object type), return the new value for the saooaaat's associated Extra_Accessibility object. (Effective_Extra_Accessibility): New function; same as Einfo.Extra_Accessibility except that object renames are looked through. * sem_util.adb (Deepest_Type_Access_Level): New function; see sem_util.ads description. (Dynamic_Accessibility_Level): New function; see sem_util.ads description. (Effective_Extra_Accessibility): New function; see sem_util.ads description. * einfo.ads (Is_Local_Anonymous_Access): Update comments. (Extra_Accessibility): Update comments. (Init_Object_Size_Align): New procedure; same as Init_Size_Align except RM_Size field (which is only for types) is unaffected. * einfo.adb (Extra_Accessibility): Expand domain to allow objects, not just formals. (Set_Extra_Accessibility): Expand domain to allow objects, not just formals. (Init_Size): Add assertion that we are not trashing the Extra_Accessibility attribute of an object. (Init_Size_Align): Add assertion that we are not trashing the Extra_Accessibility attribute of an object. (Init_Object_Size_Align): New procedure; see einfo.ads description. * sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access differently for the type of a (non-library-level) saooaaat depending whether Ada_Version < Ada_2012. This is the only point where Ada_Version is queried in this set of changes - everything else (in particular, setting of the Extra_Accessibility attribute in exp_ch3.adb) is driven off of the setting of the Is_Local_Anonymous_Access attribute. The special treatment of library-level saooaaats is an optimization, not required for correctnesss. This is based on the observation that the Ada2012 rules (static and dynamic) for saooaaats turn out to be equivalent to the Ada2005 rules in the case of a library-level saooaaat. * exp_ch3.adb (Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is false for the type of a saooaaat, declare and initialize its accessibility level object and set the Extra_Accessibility attribute of the saooaaat to refer to this object. * checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support. * exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with calls to Effective_Extra_Accessibility in order to support renames of saooaaats. (Expand_N_Type_Conversion): Add new local function, Has_Extra_Accessibility, and call it when determining whether an accessibility check is needed. It returns True iff Present (Effective_Extra_Accessibility (Id)) would evaluate to True (without raising an exception). * exp_ch5.adb (Expand_N_Assignment_Statement): When assigning to an Ada2012 saooaaat, update its associated Extra_Accessibility object (if it has one). This includes an accessibility check. * exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates a saooaaat, update its Extra_Accessibility object too (if it has one). (Expand_Call): Replace a couple of calls to Type_Access_Level with calls to Dynamic_Access_Level to handle cases where passing a literal (any literal) is incorrect. * sem_attr.adb (Resolve_Attribute): Handle the static accessibility checks associated with "Saooaat := Some_Object'Access;"; this must be rejected if Some_Object is declared in a more nested scope than Saooaat. * sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an assignment to a saooaaat even if Is_Local_Anonymous_Access returns False for its type (indicating a 2012-style saooaaat). * sem_ch8.adb (Analyze_Object_Renaming): Replace a call to Init_Size_Align (which is only appropriate for objects, not types) with a call of Init_Object_Size_Align in order to avoid trashing the Extra_Accessibility attribute of a rename (the two attributes share storage). * sem_res.adb (Valid_Conversion) Replace six calls to Type_Access_Level with calls to Deepest_Type_Access_Level. This is a bit tricky. For an Ada2012 non-library-level saooaaat, the former returns library level while the latter returns the (static) accessibility level of the saooaaat. A type conversion to the anonymous type of a saooaaat can only occur as part of an assignment to the saooaaat, so we know that such a conversion must be in a lhs context, so Deepest yields the result that we need. If such a conversion could occur, say, as the operand of an equality operator, then this might not be right. Also add a test so that static accessibilty checks are performed for converting to a saooaaat's type even if Is_Local_Anonymous_Access yields False for the type. 2011-08-30 Javier Miranda <miranda@adacore.com> * sem_disp.adb (Check_Dispatching_Operation): Complete condition that controls generation of a warning associated with late declaration of dispatching functions. Required to avoid generating spurious warnings. From-SVN: r178299
2011-08-30sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the return ↵Gary Dismukes8-22/+385
object has an anonymous access type and the... 2011-08-30 Gary Dismukes <dismukes@adacore.com> * sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the return object has an anonymous access type and the function's type is a named access type. * sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming conversions on implicit conversions, since such conversions can occur for anonymous access cases due to expansion. Issue error for attempt to rename an anonymous expression as an object of a named access type. * sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs, to indicate whether this function should report errors on invalid conversions. * sem_res.adb (Resolve): For Ada 2012, in the case where the type of the expression is of an anonymous access type and the expected type is a named general access type, rewrite the expression as a type conversion, unless this is an expression of a membership test. (Valid_Conversion.Error_Msg_N): New procedure that conditions the calling of Error_Msg_N on new formal Report_Errs. (Valid_Conversion.Error_Msg_NE): New procedure that conditions the calling of Error_Msg_NE on new formal Report_Errs. (Valid_Conversion): Move declaration of this function to the package spec, to allow calls from membership test processing. For Ada 2012, enforce legality restrictions on implicit conversions of anonymous access values to general access types, disallowing such conversions in cases where the expression has a dynamic accessibility level (access parameters, stand-alone anonymous access objects, or a component of a dereference of one of the first two cases). * sem_type.adb (Covers): For Ada 2012, allow an anonymous access type in the context of a named general access expected type. * exp_ch4.adb Add with and use of Exp_Ch2. (Expand_N_In): Add processing for membership tests applied to expressions of an anonymous access type. First, Valid_Conversion is called to check whether the test is statically False, and then the conversion is expanded to test that the expression's accessibility level is no deeper than that of the tested type. In the case of anonymous access-to-tagged types, a tagged membership test is applied as well. (Tagged_Membership): Extend to handle access type cases, applying the test to the designated types. * exp_ch6.adb (Expand_Call): When creating an extra actual for an accessibility level, and the actual is a 'Access applied to a current instance, pass the accessibility level of the type of the current instance rather than applying Object_Access_Level to the prefix. Add a ??? comment, since this level isn't quite right either (will eventually need to pass an implicit level parameter to init procs). From-SVN: r178296
2011-08-30[multiple changes]Arnaud Charlet3-2/+26
2011-08-30 Bob Duff <duff@adacore.com> * s-taskin.ads: Minor comment fix. 2011-08-30 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Check_Parameterless_Call): If the node is a selected component and the selector is a dispatching operation, check if it is a prefixed call before rewriting as a parameterless function call. From-SVN: r178294
2011-08-29Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy tsystem.h into $(RTSDIR) ↵Jakub Jelinek2-1/+6
instead of rts. * gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy tsystem.h into $(RTSDIR) instead of rts. From-SVN: r178259
2011-08-29[multiple changes]Arnaud Charlet13-1295/+1416
2011-08-29 Robert Dewar <dewar@adacore.com> * sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor reformatting. * gcc-interface/Make-lang.in: Update dependencies. 2011-08-29 Yannick Moy <moy@adacore.com> * alfa.ads (Name_Of_Heap_Variable): New constant name. * lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global table to hold dereferences. (Add_ALFA_Xrefs): Take into account dereferences as special reads/writes to the variable "HEAP". (Enclosing_Subprogram_Or_Package): Move subprogram here. (Generate_Dereference): New procedure to store a read/write dereferencew in the table Drefs. * put_alfa.adb (Put_ALFA): Use different default than (0,0) used for the special "HEAP" var. * sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference in ALFA mode. * sem_util.adb (Note_Possible_Modification): Store write dereference in ALFA mode. From-SVN: r178252
2011-08-29exp_ch3.adb (Freeze_Type): Generate an accessibility check which ensures ↵Hristian Kirtchev4-7/+79
that the level of the subpool... 2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Freeze_Type): Generate an accessibility check which ensures that the level of the subpool access type is not deeper than that of the pool object. * sem_util.adb (Object_Access_Level): Expand to handle defining identifiers. * sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the subpool handle name of a rewritten allocator. From-SVN: r178250
2011-08-29[multiple changes]Arnaud Charlet10-51/+123
2011-08-29 Robert Dewar <dewar@adacore.com> * impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting. 2011-08-29 Thomas Quinot <quinot@adacore.com> * exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple values, we generate multiple triples of parameters in the TypeCode. Bump Choice_Index for each such triple so that a subsequent default choice is associated with the correct index in the typecode. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * a-cdlili.adb (Iterate): Initialize properly an iterator over a null container. (First, Last): Handle properly an iterator over a null container. 2011-08-29 Bob Duff <duff@adacore.com> * sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon processing if we run across a node with no Scope. This can happen if we're with-ing an library-level instance, and that instance got errors that caused "instantiation abandoned". * sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising an exception instead of using Assert, so it won't go into an infinite loop, even when assertions are turned off. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * a-coorse.adb: Proper handling of empty ordered sets. From-SVN: r178249