summaryrefslogtreecommitdiff
path: root/gcc/ada/get_scos.adb
Commit message (Collapse)AuthorAgeFilesLines
* 2011-08-29 Matthew Heaney <heaney@adacore.com>charlet2011-08-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check for sibling when common parent. 2011-08-29 Thomas Quinot <quinot@adacore.com> * get_scos.adb: Literals of Pragma_Id are pragma names prefixed with "pragma_". 2011-08-29 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions for the return type when in ASIS mode. 2011-08-29 Vincent Celier <celier@adacore.com> * make.adb (Gnatmake): Get the default search dirs, then the target parameters after getting the Builder switches, as the Builder switches may include --RTS= and that could change the default search dirs. 2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of Make_Final_Call. Move the processing for class-wide types before the processing for derivations from [Limited_]Controlled. (Make_Final_Call): Move the processing for class-wide types before the processing for derivations from [Limited_]Controlled. * s-stposu.adb (Allocate_Any_Controlled): Correct the membership check. Add code to account for alignments larger than the list header. Add a comment illustrating the structure of the allocated object + padding + header. (Deallocate_Any_Controlled): Add code to account for alignments larger than the list header. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * sinfo.ads, sinfo.adb: New node kind N_Formal_Incomplete_Type_Definition, related flags. par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition): Parse formal incomplete types. * sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in sem_ch12. * sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body): Formal incomplete types do not need completion. * sem_ch12.adb (Analyze_Formal_Incomplete_Type, Validate_Incomplete_Type_Instance): New procedures to handle formal incomplete types. * freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual that corresponds to a formal incomplete type. * sprint.adb: Handle formal incomplete type declarations. * exp_util.adb (Insert_Actions): An incomplete_type_definition is not an insertion point. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178184 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-29 Thomas Quinot <quinot@adacore.com>charlet2011-08-291-16/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * get_scos.adb: When reading a P statement SCO without a pragma name (from an older ALI file), ensure that the Pragma_Name component is set to Unknown_Pragma (not left uninitialized). 2011-08-29 Vincent Celier <celier@adacore.com> * makeutl.adb (Get_Directories): New procedure moved from Buildgpr and modified to compute correctly the object path of a SAL project that is extending another library project. (Write_Path_File): New procedure. * makeutl.ads (Directories): New table moved from Buildgpr (Get_Directories): New procedure moved from Buildgpr (Write_Path_File): New procedure * mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the paths before binding SALs, instead of Set_Ada_Paths. * prj-env.adb (Set_Path_File_Var): Procedure has been moved to package Prj. * prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env (Current_Source_Path_File_Of): New function (Set_Current_Object_Path_File_Of): New procedure (Current_Source_Object_File_Of): New function (Set_Current_Object_Path_File_Of): New procedure * prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env (Current_Source_Path_File_Of): New function (Set_Current_Object_Path_File_Of): New procedure (Current_Source_Object_File_Of): New function (Set_Current_Object_Path_File_Of): New procedure 2011-08-29 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a packed entity, use a bit-field assignment only if there is no change of representation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178177 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-29 Robert Dewar <dewar@adacore.com>charlet2011-08-291-0/+5
| | | | | | | | | | | * exp_attr.adb: Minor reformatting. Minor code reorganization and commenting. * par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178166 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-29 Thomas Quinot <quinot@adacore.com>charlet2011-08-291-0/+12
| | | | | | | | | | | | | | | | | | | | | | * get_scos.adb: Ignore chaining indicators not currently supported by Ada. 2011-08-29 Arnaud Charlet <charlet@adacore.com> * system.ads: Minor editing. 2011-08-29 Arnaud Charlet <charlet@adacore.com> * bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in CodePeer mode. * sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of Attribute_Elab_Subp_Body. * snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New. * sem_util.adb: Update comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178165 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-29 Thomas Quinot <quinot@adacore.com>charlet2011-08-291-42/+65
| | | | | | | | | * par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record pragma name for each SCO statement corresponding to a pragma. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178164 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-29 Arnaud Charlet <charlet@adacore.com>charlet2011-08-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * opt.ads: Minor editing. 2011-08-29 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode that only made sense for CodePeer mode. 2011-08-29 Jose Ruiz <ruiz@adacore.com> * targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag which is no longer used. * targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the handling of the 64-bit division check. * exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit division available. * system*.ads (Support_64_Bit_Divides): Remove this flag which is no longer used. 2011-08-29 Thomas Quinot <quinot@adacore.com> * get_scos.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178163 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>charlet2011-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | * exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a statement list is wrapped in a block, the block is explicitly analyzed in order to properly redecorate the entities and create a servicing finalizer. 2011-08-29 Tristan Gingold <gingold@adacore.com> * sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove. (Set_Zero_Cost_Handling): Remove. 2011-08-29 Thomas Quinot <quinot@adacore.com> * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178162 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-05 Javier Miranda <miranda@adacore.com>charlet2011-08-051-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support for renamings of predefined primitives. (In_Predef_Prims_DT): New subprogram. 2011-08-05 Ed Schonberg <schonberg@adacore.com> * sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a possible interpretation of name is a reference type, add an interpretation that is the designated type of the reference discriminant of that type. * sem_res.adb (resolve): If the interpretation imposed by context is an implicit dereference, rewrite the node as the deference of the reference discriminant. * sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type, Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from parent type or base type. * sem_ch4.adb (Process_Indexed_Component, Process_Overloaded_Indexed_Component, Indicate_Name_And_Type, Analyze_Overloaded_Selected_Component, Analyze_Selected_Component): Check for implicit dereference. (List_Operand_Interps): Indicate when an implicit dereference is ambiguous. * sem_ch8.adb (Find_Direct_Name): Check for implicit dereference. 2011-08-05 Thomas Quinot <quinot@adacore.com> * scos.ads: Update documentation of SCO table. Pragma statements can now be marked as disabled (using 'p' instead of 'P' as the statement kind). * par_sco.ads, par_sco.adb: Implement the above change. (Process_Decisions_Defer): Generate a P decision for the first parameter of a dyadic pragma Debug. * sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if necessary. * put_scos.adb: Code simplification based on above change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177442 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-03 Thomas Quinot <quinot@adacore.com>charlet2011-08-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * scos.adb, get_scos.adb, put_scos.adb New code letter for decisions: G (entry guard) * par_sco.adb (Traverse_Subprogram_Body): Rename to... (Traverse_Subprogram_Or_Task_Body): New subrpogram. (Traverse_Protected_Body): New subprogram (Traverse_Declarations_Or_Statements): Add traversal of task bodies, protected bodies and entry bodies. 2011-08-03 Yannick Moy <moy@adacore.com> * einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure entities with get/set subprograms, which is set on procedure entities generated by the compiler for a postcondition. * sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures * alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the entity for a declaration (Get_Unique_Entity_For_Decl): new function returning an entity which represents a declaration, so that matching spec and body have the same entity. 2011-08-03 Robert Dewar <dewar@adacore.com> * a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting 2011-08-03 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram library-level because retriction No_Implicit_Dynamic_Code in the front-end prevents its definition as a local subprogram (Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File, for reuse in other contexts (Traverse_Declarations_Or_Statements, Traverse_Handled_Statement_Sequence, Traverse_Package_Body, Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these procedures take a callback parameter to be called on all declarations * lib-xref.ads (Traverse_All_Compilation_Units): new generic function to traverse a compilation unit and call a callback parameter on all declarations git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177284 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-02 Robert Dewar <dewar@adacore.com>charlet2011-08-021-1/+1
| | | | | | | | | | * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads, exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments. Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177169 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-02 Robert Dewar <dewar@adacore.com>charlet2011-08-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_res.adb: Minor reformatting. * sem_prag.adb: Minor reformatting. 2011-08-02 Javier Miranda <miranda@adacore.com> * exp_atag.adb, exp_atags.ads (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr by the tagged type Entity. Required to use this routine in the VM targets since we do not have available the Tag entity in the VM platforms. * exp_ch6.adb (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package Ada.Tags has not been previously loaded. * exp_ch7.adb (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke Build_VM_TSDs if package Ada.Tags has not been previously loaded. * sem_aux.adb (Enclosing_Dynamic_Scope): Add missing support to handle the full view of enclosing scopes. Required to handle enclosing scopes that are synchronized types whose full view is a task type. * exp_disp.adb (Build_VM_TSDs): Minor code improvement to avoid generating and analyzing lists with empty nodes. (Make_Disp_Asynchronous_Select_Body): Add support for VM targets. (Make_Disp_Conditional_Select_Body): Add support for VM targets. (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets. (Make_Disp_Timed_Select_Body): Add support for VM targets. (Make_Select_Specific_Data_Table): Add support for VM targets. (Make_VM_TSD): Generate code to initialize the SSD structure of the TSD. 2011-08-02 Yannick Moy <moy@adacore.com> * lib-writ.adb (Write_ALI): when ALFA mode is set, write local cross-references section in ALI. * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub (enclosing subprogram), Slc (location of Sub) and Sun (unit number of Sub). (Enclosing_Subprogram_Or_Package): new function to return the enclosing subprogram or package entity of a node (Is_Local_Reference_Type): new function returns True for references selected in local cross-references. (Lt): function extracted from Lt in Output_References (Write_Entity_Name): function extracted from Output_References (Generate_Definition): generate reference with type 'D' for definition of objects (object declaration and parameter specification), with appropriate locations and units, for use in local cross-references. (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created references of type 'I' for initialization in object definition. (Output_References): move part of function Lt and procedure Write_Entity_Name outside of the body. Ignore references of types 'D' and 'I' introduced for local cross-references. (Output_Local_References): new procedure to output the local cross-references sections. (Lref_Entity_Status): new array defining whether an entity is a local * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference with 'I' type when initialization expression is present. * get_scos.adb, get_scos.ads: Correct comments and typos git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177168 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-17 Ed Schonberg <schonberg@adacore.com>charlet2010-06-171-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch12.adb: propagate Pragma_Enabled flag to generic. * get_scos.adb: Set C2 flag in decision entry of pragma to 'e' (enabled) * par_sco.ads, par_sco.adb (Set_SCO_Pragma_Enabled): New procedure Remove use of Node field in SCOs table (Output_Header): Set 'd' to initially disable pragma entry * put_scos.adb (Put_SCOs): New flag indicating if pragma is enabled * scos.ads, scos.adb: Remove Node field from internal SCOs table. Use C2 field of pragma decision header to indicate enabled. * sem_prag.adb: Add calls to Set_SCO_Pragma_Enabled. * gcc-interface/Make-lang.in: Update dependencies. 2010-06-17 Vincent Celier <celier@adacore.com> * back_end.adb (Next_Arg): Moved to procedure Scan_Compiler_Arguments (Scan_Compiler_Arguments): Call Scan_Front_End_Switches with Next_Arg (Switch_Subsequently_Cancelled): Function moved to the body of Switch.C * back_end.ads (Scan_Front_End_Switches): Function moved to the body of Switch.C. * switch-c.adb: Copied a number of global declarations from back_end.adb (Len_Arg): New function copied from back_end.adb (Switch_Subsequently_Cancelled): New function moved from back_end.adb (Scan_Front_End_Switches): New parameter Arg_Rank used to call Switch_Subsequently_Cancelled. * switch-c.ads (Scan_Front_End_Switches): New parameter Arg_Rank. * gcc-interface/Makefile.in: Add line so that shared libgnat is linked with -lexc on Tru64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160878 138bc75d-0d04-0410-961f-82ee72b054a4
* * get_scos.adb, par_sco.adb, par_sco.ads, put_scos.adb, scos.adb,charlet2010-06-161-64/+98
| | | | | | | | scos.ads, exp_ch4.adb, sem_warn.adb: Code clean up, update documentation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160849 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-26 Robert Dewar <dewar@adacore.com>charlet2010-01-261-8/+2
| | | | | | | | | | | | | | | | | * par_sco.adb (Traverse_Declarations_Or_Statements): Only generate decisions for pragmas Assert, Check, Precondition, Postcondition if -gnata set. * scos.ads: Update comments. * get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs. Also remove obsolete code for CT (exit point) SCOs. 2010-01-26 Thomas Quinot <quinot@adacore.com> * switch-c.adb: Fix handling of -gnatz* git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156247 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-26 Robert Dewar <dewar@adacore.com>charlet2010-01-261-2/+45
| | | | | | | | | | | | | | * get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple entries per line, one for each statement in the sequence). * par_sco.adb (Traverse_Declarations_Or_Statements): Increase array size from 100 to 10_000 for SC_Array to avoid any real possibility of overflow. Output decisions in for loops. Exclude labels from CS lines. * scos.ads: Clarify that label is not included in the entry point git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156243 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-07-23 Robert Dewar <dewar@adacore.com>charlet2009-07-231-2/+4
| | | | | | | | * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after complex condition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149975 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-07-22 Eric Botcazou <ebotcazou@adacore.com>charlet2009-07-221-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if they are already of the base type of the index. 2009-07-22 Brett Porter <porter@adacore.com> * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__. 2009-07-22 Robert Dewar <dewar@adacore.com> * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS) * gnat_ugn.texi: Add documentation for -gnateS switch * ug_words: Add entry for -gnateS /SCO_OUTPUT * gcc-interface/Make-lang.in: Update dependenciest.3 * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb, par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial complete information for SCO input/output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149945 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-07-22 Sergey Rybin <rybin@adacore.com>charlet2009-07-221-0/+311
* gnat_ugn.texi: Update doc for some gnatcheck rules. 2009-07-22 Robert Dewar <dewar@adacore.com> * par_sco.adb, par_sco.ads (pscos): New debug routine to output contents of SCO tables. * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads, scos.adb, scos.ads: New files. * gcc-interface/Make-lang.in: Update dependencies. * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment fixes and reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149943 138bc75d-0d04-0410-961f-82ee72b054a4