summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-proc.adb
Commit message (Collapse)AuthorAgeFilesLines
* Make the stack non-executable in GNAT toolsfw2015-08-191-2/+2
| | | | | | | | | Due to PR67205, the deeply nested instantiations require trampolines, which in turn requires an executable stack for the GNAT tools on architectures such as x86_64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227004 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-02-20 Eric Botcazou <ebotcazou@adacore.com>charlet2015-02-201-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-stalib.ads: Fix typo. 2015-02-20 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Default_Initialize_Object): If the object has a delayed freeze, the actions associated with default initialization must be part of the freeze actions, rather that being inserted directly after the object declaration. 2015-02-20 Robert Dewar <dewar@adacore.com> * lib-load.adb: Minor comment update. 2015-02-20 Vincent Celier <celier@adacore.com> * prj-proc.adb (Process_Case_Construction): When there are incomplete withed projects and the case variable is unknown, skip the case construction. 2015-02-20 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Actuals): Add caller-side invariant checks when an actual is a view conversion, either because the call is to an inherited operation, or because the actual is an explicit type conversion to an ancestor type. Fixes ACATS 4.0D: C732001 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220840 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-02-05 Robert Dewar <dewar@adacore.com>charlet2015-02-051-4/+0
| | | | | | | | | | | | | | | | | | | | | | | * prj-proc.adb, sem_aux.adb, exp_ch9.adb, errout.adb, prj-dect.adb, prj-nmsc.adb: Minor reformatting. 2015-02-05 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Covers): In ASIS_Mode the Corresponding_Record of a protected type may not be available, so to check conformance with an interface type, examine the interface list in the type declaration directly. (Write_Overloads): Improve information for indirect calls, for debugger use. 2015-02-05 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Make_Tag_Assignment): Do not perform this expansion activity in ASIS mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220452 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-02-05 Javier Miranda <miranda@adacore.com>charlet2015-02-051-20/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * errout.adb (Error_Msg_PT): Add missing error. * sem_ch6.adb (Check_Synchronized_Overriding): Check the missing RM rule. Code cleanup. * exp_ch9.adb (Build_Wrapper_Spec): Propagate "constant" in anonymous access types. Found working on the tests. Code cleanup. 2015-02-05 Vincent Celier <celier@adacore.com> * prj-dect.adb (Parse_Attribute_Declaration): Continue scanning when there are incomplete withs. * prj-nmsc.adb (Process_Naming): Do not try to get the value of an element when it is nil. (Check_Naming): Do not check a nil suffix for illegality * prj-proc.adb (Expression): Do not process an empty term. * prj-strt.adb (Attribute_Reference): If attribute cannot be found, parse a possible index to avoid cascading errors. 2015-02-05 Ed Schonberg <schonberg@adacore.com> * sem_aux.adb (Is_Derived_Type): A subprogram_type generated for an access_to_subprogram declaration is not a derived type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220451 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-01-06 Pascal Obry <obry@adacore.com>charlet2015-01-061-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bindgen.adb: Minor style fix. 2015-01-06 Robert Dewar <dewar@adacore.com> * sem_util.ads, sem_util.adb: Minor reformatting. 2015-01-06 Vincent Celier <celier@adacore.com> * prj-conf.adb (Parse_Project_And_Apply_Config): Reset incomplete with flags before parsing the projects. * prj-err.adb (Error_Msg): Do nothing if there are incomplete withs. * prj-part.adb (Post_Parse_Context_Clause): Set Incomplete_Withs to True in the flags, when Ignore_Missing_With is True and an imported project cannot be found. * prj-proc.adb (Expression): When there are incomplete withs and a variable or attribute is not found, set the variable/attribute to unknown. * prj.ads (Processing_Flags): New flag Incomplete_Withs, defaulted to False. 2015-01-06 Vasiliy Fofanov <fofanov@adacore.com> * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-conf.adb, prj-err.adb: Add new switch --no-command-line. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219252 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-31 Vincent Celier <celier@adacore.com>charlet2014-10-311-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-part.adb (Parse_Single_Project): Call Set_Display_Name_Of. * prj-proc.adb (Recursive_Process): Call Display_Name_Of to get the project Display_Name. * prj-tree.adb (Display_Name_Of): New function (Set_Display_Name_Of): New procedure. (Create_Project): Call Set_Display_Name_Of. * prj-tree.ads (Display_Name_Of): New function. (Set_Display_Name_Of): New procedure. (Project_Node_Record): New component Display_Name. (Project_Name_And_Node): Remove component Display_Name. * prj-conf.adb (Parse_Project_And_Apply_Config): Use the full Config_File_Path as the Config_File_Name, not just its simple name. 2014-10-31 Thomas Quinot <quinot@adacore.com> * get_scos.adb: Minor reformatting. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Formal_Container_Loop): Create block to capture declaration for cursor to prevent spurious errors when several formal iterators that use the same cursoe name appear in the same context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216978 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-31 Vincent Celier <celier@adacore.com>charlet2014-10-311-1/+9
| | | | | | | | | * prj-proc.adb (Recursive_Process): Make sure that the project display name is never No_Name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216970 138bc75d-0d04-0410-961f-82ee72b054a4
* Recommit wrongly reverted change.charlet2014-10-301-1/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216923 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Robert Dewar <dewar@adacore.com>charlet2014-10-201-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch3.adb, prj-proc.adb, prj-proc.ads, prj-conf.adb: Minor reformatting. 2014-10-20 Robert Dewar <dewar@adacore.com> * par-prag.adb (Add_List_Pragma_Entry): New procedure. * par.adb (P_Pragma): Document requirement to handle multiple calls. 2014-10-20 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All): Fix error of bad inheritance of this pragma from with'ed unit. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): For a subtype, inherit convention from parent type, because the subtype may have been declared on a partial view, prior to the pragma on the parent. 2014-10-20 Olivier Hainque <hainque@adacore.com> Tristan Gingold <gingold@adacore.com> * gcc-interface/Makefile.in: Handle arm-darwin and VxWorks 7. Misc clean ups. 2014-10-20 Nicolas Roche <roche@adacore.com> * gcc-interface/Make-lang.in: ensure that automatically generated dependency are referencing generated gnatvsn rather than original one. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216482 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Vincent Celier <celier@adacore.com>charlet2014-10-201-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-attr.adb: New project level attribute Runtime. * prj-conf.adb (Get_Project_Runtimes): New procedure to get the attributes Runtime declared in the main project, to use in auto-configuration. (Get_Or_Create_Configuration_File): Call Get_Project_Runtimes. * prj-proc.adb (Runtime_Defaults): New table to store the default values of attributes Runtime (<language>). (Set_Default_Runtime_For): New procedure to store the default value of a Runtime (<language>) in table Runtime_Defaults. (Expression): Use the value stored in table Runtime_Defaults as the default for Runtime (<language>). * prj-proc.ads (Set_Default_Runtime_For): New procedure. * prj.ads (Attribute_Default_Value): New enumerated value Runtime_Value. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): If the type is an unconstrained unchecked_union type, rewrite declaration as a renaming to prevent attempt to retrieve non- existent discriminants from expression. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * gnat_ugn.texi: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216479 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Robert Dewar <dewar@adacore.com>charlet2014-10-201-0/+1
| | | | | | | | | | | | | | | | | * sem_ch3.adb, prj-proc.adb, sem_ch4.adb, prj-env.adb, lib.ads, sem_ch13.adb: Minor reformatting. 2014-10-20 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Expand_N_Object_Declaration): Expand the declaration of a class-wide limited object containing an initializing expression into a renaming declaration. Required to avoid passing such declaration to the backend and also to avoid generating an extra copy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216475 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-20 Eric Botcazou <ebotcazou@adacore.com>charlet2014-10-201-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * inline.adb (List_Inlining_Info): Minor tweaks. (Add_Inlined_Body): Inline the enclosing package if it is not internally generated, even if it doesn't come from source. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Process_Function_Call): If the first actual denotes a discrete type, the mode must be interpreted as a slice of an array returned by a parameterless call. 2014-10-20 Vasiliy Fofanov <fofanov@adacore.com> * prj-env.ads, prj-env.adb (Get_Runtime_Path): No longer inhibit searching for runtime referenced by a simple name on a project path. 2014-10-20 Olivier Hainque <hainque@adacore.com> * vxworks-x86-link.spec: New file. * system-vxworks-x86.ads: Add pragma Linker_Options to link with vxworks-x86-link.spec. 2014-10-20 Vincent Celier <celier@adacore.com> * opt.ads (Origin_Of_Target): New type. (Target_Origin): New variable. * prj-conf.adb (Parse_Project_And_Apply_Config): Record Target_Value and Target_Origin. If target was not specified on the command line with --target=, check if attribute Target is declared in the main project. If it is and it is not the native target, parse again the projects so that 'Target get the new value. Fail if the target has changed again. Invoke Process_Project_And_Apply_Config with Do_Phase_1 set to False is Process_Project_Tree_Phase_1 has already been invoked. * prj-conf.ads (Process_Project_And_Apply_Config): New Boolean parameter Do_Phase_1, defaulted to True. * prj-proc.adb (Expression): Check the special values and defaults for attribute Target. 2014-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Handle_Late_Controlled_Primitive): Do not analyze the subprogram spec of the body in full, because it will be reanalyzed when the declaration itself is analyzed; otherwise. a formal may end up duplicated in the list of formals leading to spurious conformance errors with an existing declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216473 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-04 Robert Dewar <dewar@adacore.com>charlet2014-08-041-44/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-proc.adb, prj-part.adb, prj-strt.adb, prj.adb, prj.ads, prj-attr.adb, prj-attr.ads: Minor reformatting. 2014-08-04 Yannick Moy <moy@adacore.com> * expander.adb (Expand): Always perform special expansion in GNATprove mode, even when doing pre-analysis. 2014-08-04 Thomas Quinot <quinot@adacore.com> * repinfo.adb (List_Scalar_Storage_Order): List bit order if not default. Also list bit order if SSO is specified. Do not assume that bit order is always equal to scalar storage order. 2014-08-04 Thomas Quinot <quinot@adacore.com> * freeze.adb (Set_SSO_From_Default): Do not set scalar storage order to reverse SSO for a type that has an explicit native Bit_Order. 2014-08-04 Doug Rupp <rupp@adacore.com> * cal.c: Macro check for VxWorks7. * init.c (getpid): Likewise. * mkdir.c (__gnat_mkdir): Likewise. * sysdep.c (__gnat_is_file_not_found_error): Likewise. 2014-08-04 Gary Dismukes <dismukes@adacore.com> * exp_ch3.adb (Expand_N_Object_Declaration): Inhibit generation of an invariant check in the case where No_Initialization is set, since the object is uninitialized. 2014-08-04 Thomas Quinot <quinot@adacore.com> * snames.ads-tmpl (Default_Scalar_Storage_Order): Now an attribute name, in addition to a pragma name. * snames.adb-tmpl (Get_Pragma_Id, Is_Configuration_Pragma_Name, Is_Pragma_Name): Adjust accordingly. * sem_attr.ads, sem_attr.adb, exp_attr.adb (Attribute_Default_Scalar_Storage_Order): Add handling of new attribute. * gnat_rm.texi: Document the above. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213549 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-04 Arnaud Charlet <charlet@adacore.com>charlet2014-08-041-10/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_util.adb (Check_Float_Op_Overflow): No-op in codepeer mode for now, to revert to previous behavior. * checks.adb: Revert previous change, no longer needed. 2014-08-04 Robert Dewar <dewar@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Don't set Check_Float_Overflow if Machine_Oveflows_On_Target is True. * sem_prag.adb (Analyze_Pragma, case Check_Float_Overflow): Don't set Check_Float_Overflow if Machine_Oveflows_On_Target is True. * switch-c.adb (Scan_Front_End_Switches): Don't set Check_Float_Overflow if Machine_Oveflows_On_Target is True. 2014-08-04 Vincent Celier <celier@adacore.com> * prj-attr.adb: Add new default indications for attributes Object_Dir, Exec_Dir, Source_Dirs and Target. (Attribute_Default_Of): New function (Initialize): Set the default for those attributes that have one specified. * prj-attr.ads (Attribute_Data): New component Default. * prj-proc.adb (Expression): Take into account the new defaults for attributes Object_Dir, Exec_Dir and Source_Dirs. * prj-strt.adb (Attribute_Reference): Set the default for the attribute. * prj-tree.ads, prj-tree.adb (Default_Of): New function. (Set_Default_Of): New procedure. * prj.adb (The_Dot_String): New global Name_Id variable, initialized in procedure Initialize. (Dot_String): New function (Initialize): Initialize The_Dot_String. (Reset): Create the string list Shared.Dot_String_List. * prj.ads (Attribute_Default_Value): New enumeration type. (Project_Qualifier): Change enumeration value Dry to Abstract_Project. (Dot_String): New function. (Shared_Project_Tree_Data): New string list component Dot_String_List. * projects.texi: Document new defaults for attribute Object_Dir, Exec_Dir and Source_Dirs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213548 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-07-30 Ed Schonberg <schonberg@adacore.com>charlet2014-07-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-crdlli.ads: Place declaration of Empty_List after full type declaration for Curosr, to prevent freezing error. 2014-07-30 Robert Dewar <dewar@adacore.com> * get_targ.adb: Minor code reorganization. * prj-proc.adb, prj-proc.ads, get_targ.ads, sem_ch6.adb: Minor reformatting. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * a-cbhase.adb: a-cbhase.adb (Insert): Raise Constraint_Error, not Program_Error, when attempting to remove an element not in the set. This is the given semantics for all set containers. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * a-rbtgbo.adb: -rbtgbo.adb (Delete_Node_Sans_Free): If element is not present in tree return rather than violating an assertion. Constraint_Error will be raised in the caller if element is not in the container. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213300 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-07-30 Arnaud Charlet <charlet@adacore.com>charlet2014-07-301-14/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * set_targ.adb (Read_Target_Dependent_Values): New subprogram. (elab body): Add provision for default target config file. * get_targ.ads, get_targ.adb (Get_Back_End_Config_File): New subprogram. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * a-cbhase.adb (Delete): Raise Constraint_Error, not Program_Error, when attempting to remove an element not in the set. This is the given semantics for all set containers. * a-cborse.adb (Delete): Attempt removal first, to check for tampering, before checking whether this is an attempt to delete a non-existing element, and in fthe latter case raise Constraint_Error. 2014-07-30 Vincent Celier <celier@adacore.com> * prj-proc.adb (Recursive_Process): Do not create a new Project_Id if the project is already in the list of projects of the tree. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Function_Return): Reject a return expression whose type is an incomplete formal type. (Analyze_Return_Type): Reject a return type that is an untagged imcomplete formal type. (Process_Formals): Reject a formal parameter whose type is an untagged formal incomplete type. * sem_res.adb (Resolve_Actuals): Reject an actual whose type is an untagged formal incomplete type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213299 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-07-30 Robert Dewar <dewar@adacore.com>charlet2014-07-301-1/+3
| | | | | | | | * prj-proc.adb, prj-strt.adb: Update comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213238 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-07-30 Gary Dismukes <dismukes@adacore.com>charlet2014-07-301-7/+15
| | | | | | | | | | | | | | | | | | | | * sinfo.ads, einfo.ads, checks.ads: Minor typo fix and reformatting. 2014-07-30 Vincent Celier <celier@adacore.com> * prj-proc.adb (Imported_Or_Extended_Project_From): New Boolean parameter No_Extending, defaulted to False. When No_Extending is True, do not look for an extending project. (Expression): For a variable reference that is not for the current project, get its Id calling Imported_Or_Extended_Project_From with No_Extending set to True. * prj-strt.adb (Parse_Variable_Reference): If a referenced variable is not found in the current project, check if it is defined in one of the projects it extends. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213237 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-07-29 Thomas Quinot <quinot@adacore.com>charlet2014-07-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch3.adb (Constrain_Corresponding_Record): For the case of the subtype created for a record component, do not mark the subtype as frozen. For one thing, this is anomalous (in particular, the base type might not itself be frozen yet); furthermore, proper freezing of the subtype must happen in any case. So, we just mark the subtype as requiring delayed freezing (and we'll actually freeze it when generating the init_proc of the enclosing record). Also change the name of the constrained record subtype (append a 'C' so that it is clearly different from the unconstrained record type, "related_idV") to make debugging easier. (Process_Full_View): When creating a full subtype for a pending private subtype, re-establish the scope of the private subtype so that we get proper visibility on outer discriminants. * exp_ch3.adb (Build_Init_Statements): Freeze any component subtype that is not frozen yet. 2014-07-29 Vincent Celier <celier@adacore.com> * prj-proc.adb (Recursive_Process): Always initialize the environment when the project is an aggregate project, even when it is not the root tree. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213197 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-02-06 Eric Botcazou <ebotcazou@adacore.com>charlet2014-02-061-10/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnat_rm.texi: Small wording tweak. 2014-02-06 Pascal Obry <obry@adacore.com> * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Included_Patterns and Included_Artifact_Patterns attribute definitions. 2014-02-06 Yannick Moy <moy@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set SPARK_Mode pragma component for all subprograms, including stubs. 2014-02-06 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch10.adb (Analyze_Package_Body_Stub): Maintain the configuration options of the enclosing context in a stack-like fasion. (Analyze_Subprogram_Body_Stub): Maintain the configuration options of the enclosing context in a stack-like fashion. 2014-02-06 Robert Dewar <dewar@adacore.com> * debug.adb: -gnatd.u sets Modify_Tree_For C * exp_ch4.adb (Expand_N_Op_Rotate_Left): Expand out if Modify_Tree_For_C (Expand_N_Op_Rotate_Right): ditto. (Expand_N_Op_Arithmetic_Right_Shift): ditto. * exp_intr.adb (Expand_Shift): Call expander so we do Modify_Tree_For_C expansions. * gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C if -gnatd.u set. 2014-02-06 Fedor Rybin <frybin@adacore.com> * prj-proc.ads (Tree_Loaded_Callback): new type Callback used after the phase 1 of the processing of each aggregated project to get access to project trees of aggregated projects. (Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded If specified, On_New_Tree_Loaded is called after each aggregated project has been processed succesfully. (Process): new parameter On_New_Tree_Loaded. * prj-proc.adb (Process_Aggregated_Projects): On_New_Tree_Loaded callback added after processing of each aggregated project. (Recursive_Process): new parameter On_New_Tree_Loaded. (Process): new parameter On_New_Tree_Loaded. (Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded. * prj-conf.ads (Parse_Project_And_Apply_Config): new parameter On_New_Tree_Loaded. * prj-conf.adb (Parse_Project_And_Apply_Config): new parameter On_New_Tree_Loaded. 2014-02-06 Bob Duff <duff@adacore.com> * gnat_ugn.texi: Implement --insert-blank-lines and --preserve-blank-lines switches. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207545 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-24 Ed Schonberg <schonberg@adacore.com>charlet2014-01-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_attr.adb (Analyze_Attribute, case 'Update): Analyze expressions in each component association, and for records note the entity in each association choice, for subsequent resolution. (Resolve_Attribute, case 'Update): Complete resolution of expressions in each component association. 2014-01-24 Robert Dewar <dewar@adacore.com> * sem.adb (Sem): Avoid premature reference to Current_Sem_Unit (this was causing Is_Main_Unit_Or_Main_Unit_Spec to be set wrong, leading to wrong handling of SPARK_Mode for library units). 2014-01-24 Robert Dewar <dewar@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set SPARK_Mode on generic instances (do not consider them to be internally generated) 2014-01-24 Doug Rupp <rupp@adacore.com> * s-osinte-android.ads (pthread_sigmask): Import sigprocmask vice pthread_sigmask. 2014-01-24 Vincent Celier <celier@adacore.com> * prj.adb (Debug_Output (Str, Str2)): Output if verbosity is not default. 2014-01-24 Vincent Celier <celier@adacore.com> * prj-ext.adb (Add): Do not output anything when Silent is True, whatever the verbosity. When Source is From_External_Attribute, set the corresponding environment variable if it is not already set. * prj-ext.ads (Add): New Boolean parameter Silent, defaulted to False * prj-proc.adb (Process_Expression_For_Associative_Array): For attribute External, call Prj.Ext.Add with Silent set to True for the child environment, to avoid useless output in non default verbosity. 2014-01-24 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Set_Slice_Subtype): Handle properly a discrete range given by a subtype indication, and force evaluation of the bounds, as for a simple range. * exp_util.adb (Evaluate_Slice_Bounds): Utility to force evaluation of bounds of slice for various kinds of discrete ranges. (Evaluate_Name, Evaluate_Subtype_From_Expr): use Evaluate_Slice_Bounds. 2014-01-24 Bob Duff <duff@adacore.com> * s-taskin.ads (Activator): Make this Atomic, because Activation_Is_Complete reads it, and that can be called from any task. Previously, this component was only modified by the activator before activation, and by Self after activation. * a-taside.ads, a-taside.adb (Environment_Task, Activation_Is_Complete): Implement these missing functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207034 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-02-06 Vincent Celier <celier@adacore.com>charlet2013-02-061-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-proc.adb (Process_Aggregated_Projects): Use a new project node tree for each project tree rooted at an aggregated project. 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com> * sem_util.adb (Is_Interface_Conversion): New routine. (Object_Access_Level): Detect an interface conversion that has been rewritten into a different construct. Use the original form of the conversion to find the access level of the operand. 2013-02-06 Eric Botcazou <ebotcazou@adacore.com> * einfo.ads (Has_Pragma_No_Inline): New flag using Flag201. (Has_Pragma_No_Inline): Declare and mark as inline. (Set_Has_Pragma_No_Inline): Likewise. * einfo.adb (Has_Pragma_No_Inline): New function. (Set_Has_Pragma_No_Inline): New procedure. (Write_Entity_Flags): Handle Has_Pragma_No_Inline. * snames.ads-tmpl (Name_No_Inline): New pragma-related name. (Pragma_Id): Add Pragma_No_Inline value. * par-prag.adb (Prag): Handle Pragma_Inline. * sem_prag.adb (Inline_Status): New enumeration type. (Process_Inline): Change Active parameter to Inline_Status and add support for suppressed inlining. (Analyze_Pragma) <Pragma_Inline>: Adjust to above change. <Pragma_Inline_Always>: Likewise. <Pragma_No_Inline>: Implement new pragma No_Inline. (Sig_Flags): Add Pragma_No_Inline. * gnat_rm.texi (Implementation Defined Pragmas): Add No_Inline. * gnat_ugn.texi (Switches for gcc): Mention Pragma No_Inline. 2013-02-06 Pascal Obry <obry@adacore.com> * s-osprim-mingw.adb (Clock): Make sure we copy all data locally to avoid interleaved modifications that could happen from another task calling Get_Base_Data. (Get_Base_Data): Make it a critical section. Avoid updating if another task has already done it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195801 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-01-29 Ed Schonberg <schonberg@adacore.com>charlet2013-01-291-1/+1
| | | | | | | | | | | | | | | | | | * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Preserve loop identifier only if it comes from source. (Expand_N_Loop_Statement): If the domain of iteration is an enumeration type with a representation clause, remove from visibility the loop identifier before rewriting the loop as a block with a declaration for said identifier. * sem_util.adb (Remove_Homonym): Handle properly the default case. 2013-01-29 Vincent Celier <celier@adacore.com> * prj-proc.adb: Minor comment spelling fix. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195546 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-01-29 Pascal Obry <obry@adacore.com>charlet2013-01-291-10/+22
| | | | | | | | | * prj-proc.adb (Process_Expression_Variable_Decl): Prepend Project_Path to current environment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195545 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-01-29 Robert Dewar <dewar@adacore.com>charlet2013-01-291-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-calend-vms.adb: Minor comment fix. 2013-01-29 Robert Dewar <dewar@adacore.com> * mlib-utl.adb, gnatlink.adb: Avoid reference to ASCII.Back_Slash because of casing issues. * sem_util.ads: Minor comment fix. * style.adb (Check_Identifier): Set proper casing for entities in ASCII. * styleg.adb: Minor comment improvement. * stylesw.ads (Style_Check_Standard): Fix bad comments. 2013-01-29 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb: Add the grammar for pragmas Abstract_State and Global. (Analyze_Pragma): Push the scope of the related subprogram and install its formals once before starting the analysis of the [moded] global list. 2013-01-29 Pascal Obry <obry@adacore.com> * prj-proc.adb (Process_Expression_Variable_Decl): Always handle relative paths in Project_Path as relative to the aggregate project location. Note that this was what was documented. 2013-01-29 Vincent Celier <celier@adacore.com> * gnatcmd.adb: For "gnat stub -P ...", do not check the naming scheme for Ada, when Ada is not a language for the project. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195539 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-11-06 Tristan Gingold <gingold@adacore.com>charlet2012-11-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch9.adb (Analyze_Protected_Type_Declaration): Fix thinko in previous commit. 2012-11-06 Jose Ruiz <ruiz@adacore.com> * ali.adb (Scan_ALI): Fix parsing mechanism for -fstack-check. 2012-11-06 Thomas Quinot <quinot@adacore.com> * atree.adb, atree.ads, einfo.adb, errout.adb, errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, expander.adb, exp_ch13.adb, exp_ch2.adb, exp_ch6.adb, exp_dist.adb, fe.h, fmap.adb, fmap.ads, gprep.adb, makeutl.adb, osint.adb, osint.ads, par_sco.adb, prepcomp.adb, prj-part.adb, prj-proc.adb, scng.adb, sdefault.ads, sem_ch10.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_dim.adb, sem_elab.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_type.adb, sem_warn.adb, stylesw.adb, stylesw.ads, targparm.adb, targparm.ads (Cascaded_Error): Rename to more descriptive name 'Check_Error_Detected'. Add calls to Check_Error_Detected at places where semantic analysis is abandoned assuming a previously detected error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193235 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-04 Vincent Celier <celier@adacore.com>charlet2012-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-proc.adb (Recursive_Process): Use project directory display path name as the value of 'Project_Dir. 2012-10-04 Robert Dewar <dewar@adacore.com> * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): Deal with case where we get a bignum operand and cannot do a range analysis. * sem_eval.adb (Why_Not_Static): Deal with bignum operands 2012-10-04 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Find_Unary_Types): Within an instance, an interpretation that involves a predefied arithmetic operator is not a candidate if the corresponding generic formal type is not a numeric type. * sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a type is a generic actual type within an instance, return the corresponding formal in the generic unit, otherwise return Any_Type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192071 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-04 Vincent Celier <celier@adacore.com>charlet2012-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-proc.adb (Process_Package_Declaration): Use project directory display path name as the value of 'Project_Dir. 2012-10-04 Gary Dismukes <dismukes@adacore.com> * exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be given by an arbitrary name, so copy the tree to make the call's actual. 2012-10-04 Robert Dewar <dewar@adacore.com> * s-exnllf.adb, s-exnllf.ads: Minor reformatting. 2012-10-04 Thomas Quinot <quinot@adacore.com> * exp_ch6.adb: Minor reformatting. 2012-10-04 Pascal Obry <obry@adacore.com> * projects.texi: Use consistently @command{} when referencing commands. Fix typos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192068 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-02-08 Pascal Obry <obry@adacore.com>charlet2012-02-081-1/+4
| | | | | | | | | | | | | | | | | | * prj.adb (Compute_All_Imported_Projects): Use new For_Project_And_Aggregated_Context to ensure proper context is used for encapsulated aggregate libraries. * prj-proc.adb (Recursive_Process): Call Process_Aggregated_Projects earlier to ensure that all dependent projects are set with the proper encapsulated status. 2012-02-08 Pascal Obry <obry@adacore.com> * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null terminated string. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183999 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-01-30 Robert Dewar <dewar@adacore.com>charlet2012-01-301-0/+1
| | | | | | | | | | | * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb, freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads, s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb: Minor reformatting/code reorganization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183710 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-01-30 Pascal Obry <obry@adacore.com>charlet2012-01-301-38/+81
| | | | | | | | | | | | | * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib boolean value to true in the process list created by this routine. * prj.ads (Project_List_Element): New field From_Encapsulated_Lib. Continued work for KA06-021. * prj.adb (Compute_All_Imported_Projects): Set From_Encapsulated_Lib boolean flag. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183703 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-24 Emmanuel Briot <briot@adacore.com>charlet2011-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-proc.adb (Process_Expression_Variable_Decl): No special handling for Project_Path unless it is an attribute. 2011-10-24 Javier Miranda <miranda@adacore.com> * sem_ch12.adb (Check_Hidden_Primitives): New subprogram. (Install_Hidden_Primitives): New subprogram. (Restore_Hidden_Primitives): New subprogram. (Analyze_Formal_Package_Declaration, Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Invoke Check_Hidden_Primitives after every call to Analyze_Associations, and invoke Restore_Hidden_Primitives to restore their visibility after processing the instantiation. (Instantiate_Package_Body): Install visible primitives before analyzing the instantiation and uninstall them to restore their visibility when the instantiation has been analyzed. * sem_util.ads, sem_util.adb (Add_Suffix): New subprogram (Remove_Suffix): New subprogram * sem_ch3.adb (Derive_Subprogram): When handling a derived subprogram for the instantiation of a formal derived tagged type, inherit the dispatching attributes from the actual subprogram (not from the parent type). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180370 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-13 Robert Dewar <dewar@adacore.com>charlet2011-10-131-4/+15
| | | | | | | | | | | | | | | | | * exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb, prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb, par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads, exp_aggr.adb, s-taprop-posix.adb: Minor reformatting. 2011-10-13 Geert Bosch <bosch@adacore.com> * s-gearop.adb: Minor comment additions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179907 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-02 Robert Dewar <dewar@adacore.com>charlet2011-09-021-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb, prj.adb, prj.ads, sem_ch5.adb: Minor reformatting. 2011-09-02 Thomas Quinot <quinot@adacore.com> * sem_attr.adb (Analyze_Attribute, case Unrestriced_Access): Guard against a prefix that is an N_Has_Entity but has no associated entity. 2011-09-02 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa references. 2011-09-02 Yannick Moy <moy@adacore.com> * opt.ads (Warn_On_Suspicious_Contract): New warning flag. * sem_ch3.adb (Analyze_Declarations): Call checker for suspicious contracts. * sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New procedure looking for suspicious postconditions. * usage.adb (Usage): New options -gnatw.t and -gnatw.T. * warnsw.adb (Set_Dot_Warning_Switch): Take into account new options -gnatw.t and -gnatw.T. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178448 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-02 Pascal Obry <obry@adacore.com>charlet2011-09-021-3/+37
| | | | | | | | | | | | | | | | | | | * prj-proc.adb, prj.adb, prj.ads, prj-dect.adb, prj-nmsc.adb, prj-conf.adb, projects.texi: Add support for aggregate library projects. 2011-09-02 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Use Dynamic_Interrupt_Protection as the proper protection type when dynamic handler association is actually allowed. 2011-09-02 Robert Dewar <dewar@adacore.com> * makeutl.ads: Minor reformatting git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178446 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-02 Ed Schonberg <schonberg@adacore.com>charlet2011-09-021-64/+56
| | | | | | | | | | | | | | | | | * sem_ch5.adb (Analyze_Iterator_Specification): If the domain of iteration is an expression, its value must be captured in a renaming declaration, so that modification of the elements is propagated to the original container. 2011-09-02 Pascal Obry <obry@adacore.com> * prj-proc.adb, prj.adb, makeutl.adb, makeutl.ads, prj-dect.adb, prj-nmsc.adb, prj-util.adb, prj-conf.adb, prj-env.adb, prj-tree.adb: Minor reformatting and style fixes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178443 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-02 Vincent Celier <celier@adacore.com>charlet2011-09-021-2/+2
| | | | | | | | | | | | | | | | | | | | | * prj-nmsc.adb: (Find_Sources): When the list of sources is explicitly declared in an extending project, do not warn if a source for an inherited naming exception is not found. 2011-09-02 Gary Dismukes <dismukes@adacore.com> * exp_ch6.adb: (Is_Build_In_Place_Function_Call): Return False if expansion is inactive. 2011-09-02 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Note_Possible_Modification): If the entity being modified is the renaming generated for an Ada2012 iterator element, the enclosing container or array is modified as well. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178434 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-01 Robert Dewar <dewar@adacore.com>charlet2011-09-011-45/+39
| | | | | | | | | | | | | | | | | | | | | | * sem_ch3.adb, s-taprop-linux.adb, gnatls.adb: Minor reformatting. 2011-09-01 Jose Ruiz <ruiz@adacore.com> * adaint.h (__gnat_cpu_free): Fix the name of this profile. * adaint.c (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_free, __gnat_cpu_zero, __gnat_cpu_set): Create version of these subprograms specific for systems where their glibc version does not define the routines to handle dynamically allocated CPU sets. 2011-09-01 Vincent Celier <celier@adacore.com> * prj-proc.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-util.ads, prj-env.adb: Implement inheritance of naming exceptions in extending projects. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178418 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-01 Robert Dewar <dewar@adacore.com>charlet2011-09-011-6/+12
| | | | | | | | | | | | | | | | | | * prj-proc.adb, exp_ch6.adb, prj-env.adb: Minor reformatting. 2011-09-01 Bob Duff <duff@adacore.com> * sem_aggr.adb (Resolve_Aggregate): Need to treat "in instance body" the same as "in inlined body", because visibility shouldn't apply there. 2011-09-01 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Add_Inlined_Body): Refine previous change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178412 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-01 Pascal Obry <obry@adacore.com>charlet2011-09-011-4/+3
| | | | | | | | | | | | | | | | | | * prj-proc.adb, prj.ads, sinput-p.adb: Minor reformatting. 2011-09-01 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate references to the formals of a subprogram stub that acts as a spec. 2011-09-01 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Inlined_Call): If an actual is a by_reference type, declare a renaming for it, not an object declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178407 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-04 Robert Dewar <dewar@adacore.com>charlet2011-08-041-0/+2
| | | | | | | | | | | | | | | | | | | * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb, exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb, exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb, exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb, sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb, sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb: Minor reformatting and code reorganization. 2011-08-04 Emmanuel Briot <briot@adacore.com> * projects.texi: Added doc for aggregate projects. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177320 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-04 Emmanuel Briot <briot@adacore.com>charlet2011-08-041-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items): Add support for overriding the Project_Path in aggregate projects. 2011-08-04 Robert Dewar <dewar@adacore.com> * a-cofove.ads: Minor reformatting. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment on the generated code. (Build_Finalize_Statements): Update the comment on the generated code. (Build_Initialize_Statements): Update the comment on the generated code. (Build_Object_Declarations): Add local variable Result. The object declarations are now built in sequence. * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and RE_Unit_Table. 2011-08-04 Robert Dewar <dewar@adacore.com> * checks.adb, alfa.adb, alfa.ads: Minor reformatting. 2011-08-04 Eric Botcazou <ebotcazou@adacore.com> * einfo.ads (Elaboration_Entity): Document new definition and use. (Elaboration_Entity_Required): Adjust to above change. * exp_attr.adb (Expand_N_Attribute_Reference): Likewise. * exp_ch12.adb: And with and use for Snames. (Expand_N_Generic_Instantiation): Test 'Elaborated attribute. * exp_util.adb (Set_Elaboration_Flag): Likewise. * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete. <Check_Unit_Name>: Deal with N_Expanded_Name. <Attribute_Elaborated>: Extend to all unit names. * sem_elab.adb: And with and use for Uintp. (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change. * sem_util.ads (Build_Elaboration_Entity): Adjust comment. * sem_util.adb (Build_Elaboration_Entity): Change type to Integer. * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken from Gen_Adainit_Ada. (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C. (Gen_Adafinal_Ada): Remove redundant test. In the non-main program case, do not call System.Standard_Library.Adafinal; instead call finalize_library if needed. (Gen_Adafinal_C): Likewise. (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the non-main program case. (Gen_Adainit_C): Generate a couple of external declarations here. In the main program case, set SSL.Finalize_Library_Objects. (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change. (Gen_Elab_Calls_C): Likewise. (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units. (Gen_Finalize_Library_C): Likewise. Generate a full function. (Gen_Main_C): Put back call to Ada_Final and don't finalize library objects here. (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to Gen_Adafinal_Ada. (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple of external declarations.  Call Gen_Finalize_Library_C. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177318 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-03 Robert Dewar <dewar@adacore.com>charlet2011-08-031-20/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads, prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor reformatting. 2011-08-03 Javier Miranda <miranda@adacore.com> * exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals that must be passed by copy in VM targets. 2011-08-03 Emmanuel Briot <briot@adacore.com> * prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which duplicates a similar htable now in the project tree. 2011-08-03 Claire Dross <dross@adacore.com> * a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb, a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element, Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend, Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap, Splice, First, First_Element, Last, Last_Element, Next, Previous, Find, Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity, Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure update. 2011-08-03 Arnaud Charlet <charlet@adacore.com> * s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb (ATCB_Key): Removed, not always used. * s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from s-taprop-posix.adb. * s-tpopsp-tls.adb: New file. * gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on x86/x64/ia64/powerpc/sparc Linux. 2011-08-03 Arnaud Charlet <charlet@adacore.com> * system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True. * gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports. 2011-08-03 Thomas Quinot <quinot@adacore.com> * rtsfind.ads, exp_dist.adb, exp_dist.ads (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call): Fix type selection for mapping integer types to PolyORB types. 2011-08-03 Bob Duff <duff@adacore.com> * sem_ch7.adb: Minor comment clarification. 2011-08-03 Bob Duff <duff@adacore.com> * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get an error analyzing a choice, skip further processing. Further processing could cause a crash or cascade errors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177262 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-03 Emmanuel Briot <briot@adacore.com>charlet2011-08-031-290/+294
| | | | | | | | | | | | | | | | | | | | * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb, prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-env.ads (Shared_Project_Tree_Data): new type An aggregate project and its aggregated trees need to share the common data structures used for lists of strings, packages,... This makes the code simpler since otherwise we have to pass the root tree (also used for the configuration file data) in addition to the current project tree. This also avoids ambiguities as to which tree should be used. And finally this saves a bit of memory. (For_Every_Project_Imported): new parameter Tree. Since aggregated projects are using a different tree, we need to let the caller know which tree to use to manipulate the returned project. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177261 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-03 Robert Dewar <dewar@adacore.com>charlet2011-08-031-17/+21
| | | | | | | | | | | * prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb, prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads, lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb, prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177260 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-03 Yannick Moy <moy@adacore.com>charlet2011-08-031-15/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alfa.ads Update format of ALFA section in ALI file in order to add a mapping from bodies to specs when both are present (ALFA_Scope_Record): add components for spec file/scope * get_alfa.adb (Get_ALFA): read the new file/scope for spec when present * lib-xref-alfa.adb (Collect_ALFA): after all scopes have been collected, fill in the spec information when relevant * put_alfa.adb (Put_ALFA): write the new file/scope for spec when present. 2011-08-03 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing code unit to decide whether to add internally generated subprograms. 2011-08-03 Javier Miranda <miranda@adacore.com> * sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram. * exp_ch9.adb (Build_Simple_Entry_Call): Handle actuals that must be handled by copy in VM targets. 2011-08-03 Emmanuel Briot <briot@adacore.com> * make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): now shares code with Makeutl.Get_Switches. * prj-tree.adb: Update comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177257 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-03 Robert Dewar <dewar@adacore.com>charlet2011-08-031-151/+139
| | | | | | | | | | | | | | | | | | | | | | | | * sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb, make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb, fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb, prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads, sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb, prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb, prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads, alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting 2011-08-03 Robert Dewar <dewar@adacore.com> * repinfo.adb (List_Mechanism): Add handling of Convention_Ada_Pass_By_XXX. * sem_mech.adb (Set_Mechanism): Ditto. * sem_prag.adb (Process_Convention): Add entries for Convention_Ada_Pass_By_XXX. * snames.adb-tmpl, snames.ads-tmpl: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177252 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-03 Emmanuel Briot <briot@adacore.com>charlet2011-08-031-96/+62
| | | | | | | | | | | | | | | | * prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do not systematically lower case attribute indexes that contain no "." Fix definition of several Naming attributes, which take a unit name as index and therefore should be case insensitive. Minor refactoring (reduce length of variable names). 2011-08-03 Emmanuel Briot <briot@adacore.com> * makeutl.adb, makeutl.ads (Get_Switches): new subprogram. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177250 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-03 Emmanuel Briot <briot@adacore.com>charlet2011-08-031-44/+42
| | | | | | | | | | | * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb, prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb, prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads (Prj.Tree.Environment): new type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177248 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-03 Emmanuel Briot <briot@adacore.com>charlet2011-08-031-5/+3
| | | | | | | | | * prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb, prj-tree.adb, prj-tree.ads (Environment): new type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177247 138bc75d-0d04-0410-961f-82ee72b054a4