summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-proc.adb
Commit message (Collapse)AuthorAgeFilesLines
* 2009-06-25 Emmanuel Briot <briot@adacore.com>charlet2009-06-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data between gnatmake and gprbuild. (Naming_Data): Removed, no longer used (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only needed locally in one subprogram, no need to store forever in the structure. (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play a similar role. (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme, Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of, Spec_Suffix_Id_Of): removed, no longer used. 2009-06-25 Javier Miranda <miranda@adacore.com> * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of types on qualified expression in calls to imported C++ constructors. * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for imported C++ constructors. 2009-06-25 Sergey Rybin <rybin@adacore.com> * vms_data.ads: Add qualifier for new gnatcheck '-t' option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148937 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-06-24 Robert Dewar <dewar@adacore.com>charlet2009-06-241-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped case. (Index): Ditto. 2009-06-24 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is present when checking whether a call may be interpreted as an indexing of the result of a call. * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated body for a null procedure on the freeze actions for the procedure, so that it will be analyzed at the proper place without premature freezing of actuals. * sem_ch3.adb (Check_Completion): Code cleanup. Do not diagnose a null procedure without a body, if previous errors have disabled expansion. 2009-06-24 Doug Rupp <rupp@adacore.com> * init.c [VMS] Resignal C$_SIGKILL 2009-06-24 Ed Falis <falis@adacore.com> * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5 Define ERROR in body for VxWorks 6 kernel 2009-06-24 Pascal Obry <obry@adacore.com> * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error in [Send/Receive]_Socket. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148905 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-06-24 Emmanuel Briot <briot@adacore.com>charlet2009-06-241-7/+16
| | | | | | | | | | | | | * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter to several subprograms. (Source_Data.Other_Part): Removed, since can be computed from the language. (Other_Part): New subprogram. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148904 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-06-24 Emmanuel Briot <briot@adacore.com>charlet2009-06-241-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since no longer useful. (Source_Data.Lang_Kind): Removed, since it duplicates information already available through Language.Config. (Source_Data.Compile): Removed, since information is already available through the language. (Is_Compilable): New subprogram. (Source_Data.Dependency): Removed, since already available through the language. (Source_Data.Object_Exist, Object_Linked): Removed since available through the language already. (Unit_Data.File_Names): Is now also set in multi_language mode, to bring the two modes closer in the resulting data structures. (Source_Data.Unit): Now a direct pointer to the unit data, rather than just the name that would point into a hash table. (Get_Language_From_Name): New subprogram. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148901 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-06-23 Ed Schonberg <schonberg@adacore.com>charlet2009-06-231-26/+26
| | | | | | | | | | | | | | | | * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles incomplete type declarations. Previous code was potentially quadratic in the number of visible declarations in any package appearing in a limited_with_clause. 2009-06-23 Robert Dewar <dewar@adacore.com> * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb, xref_lib.adb: Minor reformatting git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148843 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-06-23 Emmanuel Briot <briot@adacore.com>charlet2009-06-231-4/+12
| | | | | | | | | | | | | | | | | | * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb, prj-conf.ads (Check_Configuration): New parameter Compiler_Driver_Mandatory. 2009-06-23 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the context of the current unit has an inline pragma, the instance is not rewritten as the declaration of the package wrapper. Handle both possibilities when retrieving the visible subprogram that renames the instantiation itself. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148839 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-29 Robert Dewar <dewar@adacore.com>charlet2009-04-291-3/+3
| | | | | | | | * prj-proc.adb, prj.ads: Minor reformatting git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146958 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-29 Emmanuel Briot <briot@adacore.com>charlet2009-04-291-8/+18
| | | | | | | | | | | | | * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb, prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb (Set_In_Configuration, In_Configuration): Removed. Replaced by an extra parameter Is_Config_File in several parameter to avoid global variables to store the state of the parser. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146955 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-29 Robert Dewar <dewar@adacore.com>charlet2009-04-291-3/+3
| | | | | | | | | | * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb, prj-proc.adb: Minor reformatting Minor code reorganization git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146933 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-29 Bob Duff <duff@adacore.com>charlet2009-04-291-157/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb (Build_Final_List): For an access type that designates a Taft Amendment type, if the access type needs finalization, make sure the implicit with clause for List_Controller occurs on the package spec. * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit with's created for the pseudo-children of Text_IO and friends. In particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and Ada.Text_IO.Integer_IO both with-ing each other. * sem.adb (Walk_Library_Items): Suppress assertion failure in certain oddball cases when pragma Extend_System is used. * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in the case where a package spec instantiates a generic whose body with's this package, so Walk_Library_Items won't complain about cyclic with's. 2009-04-29 Emmanuel Briot <briot@adacore.com> * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb, mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads (Project_Id): now a real pointer to Project_Data, instead of an index into the Projects_Table. This simplifies the API significantly, avoiding extra lookups in this table and the need to pass the Project_Tree_Ref parameter in several cases git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146931 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-24 Robert Dewar <dewar@adacore.com>charlet2009-04-241-14/+18
| | | | | | | | | | * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb, clean.adb: Minor reformatting. Minor code reorganization and message improvement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146732 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-24 Emmanuel Briot <briot@adacore.com>charlet2009-04-241-7/+14
| | | | | | | | | | * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads (Alternate_Languages): now implemented as a malloc-ed list rather than through a table. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146731 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-24 Emmanuel Briot <briot@adacore.com>charlet2009-04-241-18/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element): removed. Lists of projects are now implemented via standard malloc rather than through the table. 2009-04-24 Thomas Quinot <quinot@adacore.com> * sem_ch12.adb: Minor reformatting * g-trasym.adb: Minor reformatting * exp_ch6.adb: Minor reformatting 2009-04-24 Robert Dewar <dewar@adacore.com> * layout.adb (Layout_Type): For packed array type, copy unset size/alignment fields from the referenced Packed_Array_Type. 2009-04-24 Bob Duff <duff@adacore.com> * lib-load.adb (Make_Instance_Unit): Revert previous change, no longer needed after sem_ch12 changes. * sem.adb (Walk_Library_Items): Include with's in some debugging printouts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146727 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-24 Ed Schonberg <schonberg@adacore.com>charlet2009-04-241-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_res.adb: additional optimization to inhibit creation of redundant transient scopes. 2009-04-24 Bob Duff <duff@adacore.com> * rtsfind.ads: Minor comment fix 2009-04-24 Emmanuel Briot <briot@adacore.com> * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources, Get_Path_Name_And_Record_Ada_Sources): merged, since these were basically doing the same work (for explicit or implicit sources). (Find_Explicit_Sources): renamed to Find_Sources to better reflect its role. Rewritten to share some code (testing that all explicit sources have been found) between ada_only and multi_language modes. 2009-04-24 Jerome Lambourg <lambourg@adacore.com> * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name for CLI imported types. (Analyze_Pragma): Allow CIL or Java imported functions returning access-to-subprogram types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146720 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-24 Robert Dewar <dewar@adacore.com>charlet2009-04-241-26/+28
| | | | | | | | | | * prj-env.adb, prj-proc.adb, prj.adb, prj.ads, rtsfind.adb: Minor reformatting. Minor code reorganization git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146717 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-24 Emmanuel Briot <briot@adacore.com>charlet2009-04-241-62/+27
| | | | | | | | | | | | | | | | | | | | * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb, clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen): field removed. This is not a property of the project, just a boolean used to traverse the project tree, and storing it in the structure prevents doing multiple traversal in parallel. (Project_Data.Checked): also removed, since it was playing the same role as Seen when we had two nested loops, and this is no longer necessary (For_All_Imported_Projects): removed, since in fact there was already the equivalent in For_Every_Project_Imported. The latter was rewritten to use a local hash table instead of Project_Data.Seen Various loops were rewritten to use For_Every_Project_Imported, thus removing the need for Project_Data.Seen. This avoids a lot of code duplication git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146699 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-24 Emmanuel Briot <briot@adacore.com>charlet2009-04-241-3/+3
| | | | | | | | | | | * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Source_Id, Source_Data): use a real list to store sources rather than using an external table to store the elements. This makes code more efficient and more readable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146691 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-24 Emmanuel Briot <briot@adacore.com>charlet2009-04-241-3/+7
| | | | | | | | | | | | * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Source_Iterator): new type. This removes the need for having the sources on three different lists at the project tree, project and language level. They are now on a single list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146689 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-22 Robert Dewar <dewar@adacore.com>charlet2009-04-221-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | * prj.adb: Minor code reorganization Code clean up. * prj-proc.adb: Minor code reorganization, clean up. * prj-nmsc.adb: Minor reformatting Minor code reorganization * gnat_ugn.texi: Add to doc on strict aliasing 2009-04-22 Pascal Obry <obry@adacore.com> * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to SpinCount. * s-tasini.adb: Minor reformatting. * s-tassta.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146573 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-22 Emmanuel Briot <briot@adacore.com>charlet2009-04-221-0/+4
| | | | | | | | | | | | | | | | | | * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several smaller subprograms. Renamed to Check_File_Naming_Schemes to avoid confusion with the other Check_Naming_Schemes functions that plays a totally different role. (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms, extracted from the above. These were partially rewritten to avoid unnecessary code and temporary variables. (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang and Get_Unit (which for now still exist since they contain mode-specific code) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146568 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-22 Emmanuel Briot <briot@adacore.com>charlet2009-04-221-127/+65
| | | | | | | | | | | | | | | | | | * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process): Remove duplicated code. (Canonical_Case_File_Name): new subprogram (Check_And_Normalize_Unit_Names): new subprogram (Write_Attr): new subprogram Better sharing of code (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to split Check_Naming and help find duplicated code (Check_Common): new subprogram, sharing code between ada_only and multi_language mode. (Naming_Data.Dot_Repl_Loc): field removed git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146567 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-22 Emmanuel Briot <briot@adacore.com>charlet2009-04-221-1/+3
| | | | | | | | | | | | | | | | | * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram. Minor refactoring to reduce the size of Process_Sources_In_Multi_Language_Mode. Avoid extra copied of Source_Data, which we found in the past could be quite slow. (Mark_Excluded_Sources): new subprogram. (Remove_Locally_Removed_Files_From_Units): merged into the above Refactors Process_Sources_In_Multi_Language_Mode to reduce its size, and allow better sharing of code between multi_lang and ada_only modes (Project_Extends): removed, since exact duplicate of Prj.Is_Extending git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146565 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-22 Emmanuel Briot <briot@adacore.com>charlet2009-04-221-18/+0
| | | | | | | | | * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By): Removed, since unused. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146564 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-08 Robert Dewar <dewar@adacore.com>charlet2009-04-081-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks suppressed. * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all resolution steps. 2009-04-08 Robert Dewar <dewar@adacore.com> * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for No_Local_Allocators restriction preventing local instantiation. 2009-04-08 Thomas Quinot <quinot@adacore.com> * sem_eval.adb: Minor comment fix 2009-04-08 Thomas Quinot <quinot@adacore.com> * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller): New limited controlled type used to automate the initialization and finalization of the sockets implementation. (GNAT.Sockets.Initialize, Finalize): Make these no-ops 2009-04-08 Vincent Celier <celier@adacore.com> * prj-attr.adb: New read-only project-level attribute Project_Dir * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of read-only attribute of the same name. (Process_Declarative_Items): Call Add_Attributes with Project_Dir (Recursive_Process): Ditto * snames.adb: Add new standard name Project_Dir * snames.ads: Add new standard name Project_Dir git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145766 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-20 Robert Dewar <dewar@adacore.com>charlet2008-08-201-10/+8
| | | | | | | | * make.adb: Minor reformatting git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139321 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-20 Vincent Celier <celier@adacore.com>charlet2008-08-201-12/+26
| | | | | | | | | | * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data * prj.ads (Array_Data): Add a component Location git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139300 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-05 Vincent Celier <celier@adacore.com>charlet2008-08-051-35/+37
| | | | | | | | | | * prj-proc.adb: (Process_Declarative_Items): Skip associative array attribute when index is reserved word "others". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138681 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-04 Vincent Celier <celier@adacore.com>charlet2008-08-041-55/+69
| | | | | | | | | | * prj-proc.adb: (Copy_Package_Declarations): When inheriting package Naming from a project being extended, do not inherit source exception names. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138578 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-27 Vincent Celier <celier@adacore.com>charlet2008-05-271-11/+11
| | | | | | | | | | | | | | * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb, mlib-tgt.adb, prj-env.adb, prj-env.ads: (Path_Information): New record type Use component of type Path_Information when there are two paths, one in canonical format and one in display format. Update the project manager to these new components. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136008 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-20 Vincent Celier <celier@adacore.com>charlet2008-05-201-47/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj.adb (Hash (Project_Id)): New function (Project_Empty): Add new component Interfaces_Defined * prj.ads (Source_Data): New component Object_Linked (Language_Config): New components Object_Generated and Objects_Linked (Hash (Project_Id)): New function (Source_Data): New Boolean components In_Interfaces and Declared_In_Interfaces. (Project_Data): New Boolean component Interfaces_Defined * prj-attr.adb: New project level attribute Object_Generated and Objects_Linked Add new project level attribute Interfaces * prj-dect.adb: Use functions Present and No throughout (Parse_Variable_Declaration): If a string type is specified as a simple name and is not found in the current project, look for it also in the ancestors of the project. * prj-makr.adb: Replace procedure Make with procedures Initialize, Process and Finalize to implement H414-023: process different directories with different patterns. Use functions Present and No throughout * prj-makr.ads: Replace procedure Make with procedures Initialize, Process and Finalize * prj-nmsc.adb (Add_Source): Set component Object_Exists and Object_Linked accordnig to the language configuration. (Process_Project_Level_Array_Attributes): Process new attributes Object_Generated and Object_Linked. (Report_No_Sources): New Boolean parameter Continuation, defaulted to False, to indicate that the erreor/warning is a continuation. (Check): Call Report_No_Sources with Contnuation = True after the first call. (Error_Msg): Process successively contnuation character and warning character. (Find_Explicit_Sources): Check that all declared sources have been found (Check_File): Indicate in hash table Source_Names when a declared source is found. (Check_File): Set Other_Part when found (Find_Explicit_Sources): In multi language mode, check if all exceptions to the naming scheme have been found. For Ada, report an error if an exception has not been found. Otherwise, disregard the exception. (Check_Interfaces): New procedure (Add_Source): When Other_Part is defined, set mutual pointers in spec and body. (Check): In multi-language mode, call Check_Interfaces (Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False for an excluded source. (Remove_Source): A source replacing a source in the interfaces is also in the interfaces. * prj-pars.adb: Use function Present * prj-part.adb: Use functions Present and No throughout (Parse_Single_Project): Set the parent project for child projects (Create_Virtual_Extending_Project): Register project with no qualifier (Parse_Single_Project): Allow an abstract project to be extend several times. Do not allow an abstract project to extend a non abstract project. * prj-pp.adb: Use functions Present and No throughout (Print): Take into account the full associative array attribute declarations. * prj-proc.adb: Use functions Present and No throughout (Expression): Call itself with the same From_Project_Node for the default value of an external reference. * prj-strt.adb: Use functions Present and No throughout (Parse_Variable_Reference): If a variable is specified as a simple name and is not found in the current project, look for it also in the ancestors of the project. * prj-tree.ads, prj-tree.adb (Present): New function (No): New function Use functions Present and No throughout (Parent_Project_Of): New function (Set_Parent_Project_Of): New procedure * snames.ads, snames.adb: Add new standard names Object_Generated and Objects_Linked git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135623 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-04-08 Vincent Celier <celier@adacore.com>charlet2008-04-081-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * clean.adb (Parse_Cmd_Line): Recognize switch --subdirs= (Usage): Add line for switch --subdirs= Add new switch -eL, to follow symbolic links when processing project files. * gnatcmd.adb: Process switches -eL and --subdirs= (Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call Program_Name to get proper tool names when AAMP_On_Target is set. (Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get AAMP_On_Target set properly for use of GNAAMP tools (this is needed by Osint.Program_Name). * gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs= (Usage): Add lines for switches -eL and --subdirs= * makeusg.adb: Add line for switch --subdirs= * prj.ads: (Source_Data): New Boolean component Compiled, defaulted to True (Empty_File_Name: New global variable in private part, initialized in procedure Initialize. (Subdirs_Option): New constant string (Subdirs): New String_Ptr global variable (Language_Config): New component Include_Compatible_Languages (Project_Qualifier): New type for project qualifiers (Project_Data): New component Qualifier (Project_Configuration): New component Archive_Builder_Append_Option * prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in another imported project indicate the name of this imported project. (Check_File): When a unit is in two project files, indicate the project names and the paths of the source files for each project. (Add_Source): Set Compiled to False if compiler driver is empty. Only set object, dependency and switches file names if Compiled is True. (Process_Compiler): Allow the empty string for value of attribute Driver (Get_Directories): When Subdirs is not null and Object_Dir is not specified, locate and create if necessary the actual object dir. (Locate_Directory): When Subdirs is not empty and Create is not the empty string, locate and create if necessary the actual directory as a subdirectory of directory Name. (Check_Library_Attributes.Check_Library): Allow a project where the only "sources" are header files of file based languages to be imported by library projects, in multi-language mode (gprbuild). (Check_Library_Attributes.Check_Library): In multi-language mode (gprbuild), allow a library project to import a project with no sources, even when this is not declared explicitly. (Check_If_Externally_Built): A virtual project extending an externally built project is also externally built. (Check_Library_Attributes): For a virtual project extending a library project, inherit the library directory. (Process_Project_Level_Array_Attributes): Process new attribute Inherit_Source_Path. For projects with specified qualifiers "standard", "library" or "abstract", check that the project conforms to the qualifier. (Process_Project_Level_Simple_Attributes): Process new attribute Archive_Builder_Append_Option. * switch-m.adb: (Scan_Make_Switches): Process switch --subdirs= (Normalize_Compiler_Switches): Only keep compiler switches that are passed to gnat1 by the gcc driver and that are stored in the ALI file by gnat1. Do not take into account switc -save-temps * makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if gprmake is called with -eL. (Scan_Arg): Recognize switch -eL (Usage): Add line for switch -eL * prj.adb (Initialize): Initialize Empty_File_Name (Project_Empty): New component Qualifier * prj-attr.ads, prj-attr.adb: New project level attribute Inherit_Source_Path. New project level attribute Archive_Builder_Append_Option * prj-dect.adb: Replace System.Strings by GNAT.Strings. * prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add <prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for upward compatibility. * prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put each Trying ..." on different lines. (Parse_Single_Project): Recognize project qualifiers. Fail in qualifier is "configuration" when not in configuration. Fail when in configuration when a specified qualifier is other than "configuration". * prj-proc.adb (Process_Declarative_Items): Link new elements of copied full associative array together. (Recursive_Process): Put the project qualifier in the project data * prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function (Set_Project_Qualifier_Of): New procedure git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134023 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ada/rwild2008-03-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * g-table.adb, g-tasloc.adb, g-traceb.ads, g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c, gnatbind.adb, gnatchop.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb, gprep.adb, i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads, i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb, layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads, lib.adb, link.c, live.ads, make.adb, makegpr.adb, makeutl.adb, math_lib.adb, mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads, misc.c, mlib-prj.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads, namet.adb, namet.h, nlists.adb, nlists.ads, nlists.h, opt.ads, osint-b.ads, osint-c.adb, osint-c.ads, osint.adb, osint.ads, output.ads, par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads, prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pp.adb, prj-proc.adb, prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133770 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-26 Vincent Celier <celier@adacore.com>charlet2008-03-261-87/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-dect.adb (Parse_Package_Declaration): When a package name is not known, check if it may be a missspelling of a known package name. In not verbose, not mode, issue warnings only if the package name is a possible misspelling. In verbose mode, always issue a warning for a not known package name, plus a warning if the name is a misspelling of a known package name. * prj-part.adb (Post_Parse_Context_Clause): Modify so that only non limited withs or limited withs are parse during one call. (Parse_Single_Project): Post parse context clause in two passes: non limited withs before current project and limited withs after current project. * prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended project with the name With_Name, even if it is only extended indirectly. (Recursive_Process): Process projects in order: first single withs, then current project, then limited withs. * prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended project with the name With_Name, even if it is only extended indirectly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133573 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-12-06 Emmanuel Briot <briot@adacore.com>charlet2007-12-131-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Vincent Celier <celier@adacore.com> * prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a string (Must_Check_Configuration, Default_Language_Is_Ada): new flags in prj.ads (Hash): Move instantiation of System.HTable.Hash from spec to body (prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive systems, since we do not need to recompute the Name_Id for the canonical file name. (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id as a parameter. This parameter is in fact always "ada" in all calls, and we were doing 160560 extra calls to Name_Find to convert it to Name_Ada while loading a project with 40000 files * prj-attr.adb: Fix name of attribute Dependency_Driver Change the kind of indexing for attribute Root * prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of variables already declared, in case constructions. * prj-env.adb (Initialize): Reset Current_Source_Path_File and Current_Object_Path_File to No_Path. * prj-ext.adb (Initialize_Project_Path): In multi language mode, use ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty. * prj-makr.adb: new parameter Current_Dir * prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for Ada sources when language is not Ada. Change Opt.Follow_Links to Opt.Follow_Links_For_Files. (Find_Excluded_Sources, Find_Explicit_Sources): new subprograms (Must_Check_Configuration, Default_Language_Is_Ada): new flags. (Locate_Directory): Always resolve links when computing Canonical_Path (Look_For_Sources): Make sure that Name_Buffer contains the file name in Source_Files before checking for the presence of a directory separator. Optimize calls to Name_Find when on case sensitive systems. (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id as a parameter. (Prj.Nmsc.Check): new parameter Current_Dir (Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They cannot be empty and the spec suffix cannot be the same as the body or separate suffix. (Get_Unit): When a file name can be of several unit kinds (spec, body or subunit), always consider the longest suffix. (Check_Configuration): Do not issue an error if there is no compiler for a language. Just issue a warning and ignore the sources for the language. (Check_Library_Attributes): Only check Library_Dir if Library_Name is not empty. (Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity (Unit_Exceptions): New hash table (Check_Naming_Schemes): Check if a file that could be a unit because of the naming scheme is not in fact a source because there is an exception for the unit. (Look_For_Sources): Put the unit exceptions in hash table Unit_Exceptions (Get_Unit_Exceptions): Give initial value No_Source to local variable Other_Part to avoid exception when code is compiled with validity checking. (Get_Sources_From_File): Check that there is no directory information in the file names. (Look_For_Sources): Check that there is no directory information in the list of file names in Source_Files. (Look_For_Sources): In multi-language mode, do not allow exception file names that are excluded. (Excluded_Sources_Htable): New hash table (Search_Directories.Check_File): New procedure to simplify Search_Directories. (Search_Directories): Do not consider excluded sources (Look_For_Sources): Populate Excluded_Sources_Htable before calling Search_Directories. (Get_Exceptions): Set component Lang_Kind of Source_Data (Get_Unit_Exceptions): Ditto (Search_Directories): Ditto * prj-pars.adb: new parameter Current_Dir * prj-part.ads, prj-part.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files. (Opt.Follow_Links_For_Dirs): New flag (Project_Path_Name_Of): Cache information returned by this routine as Locate_Regular_File is a costly routine. The code to output a log information and the effective call to Locate_Regular_File is now factorized into a routine (code clean-up). (Parse, Parse_Single_Project): new parameter Current_Dir When main project file cannot be found, indicate in the error message the project path that was used to do the search. * prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag (Prj.Proc.Process*): new parameter Current_Dir * switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130846 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-15 Vincent Celier <celier@adacore.com>charlet2007-10-151-41/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * snames.adb, snames.ads: Add new standard name runtime_library_dir * prj.ads (Language_Config): Add new component Runtime_Library_Dir * prj-attr.adb: Add project level attribute Runtime_Library_Dir * prj-env.adb (Create_Mapping_File): Do not put an entry if the path of the source is unknown. * prj-ext.adb: Spelling error fix * prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada 95 reserved word in its name. (Process_Project_Level_Array_Attributes): Process new attribute Runtime_Library_Dir. * prj-part.adb (Parse_Single_Project): Do not check the name of the config project against the user project names. * prj-proc.adb (Expression): In multi-language mode, indexes that do not include a dot are always case insensitive. (Process_Declarative_Items): Ditto (Process_Project_Tree_Phase_1): Set Success to False in case an error is detected. * prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is True, compare both indexes in lower case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129329 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-26 Vincent Celier <celier@adacore.com>charlet2007-09-261-510/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads * prj.ads, prj.adb (Default_Language): Remove function, no longer used Replace components Compiler_Min_Options and Binder_Min_Options with Compiler_Required_Switches and Binder_Required_Switches in record Language_Config. Remove components Default_Language and Config in Project_Tree_Data, no longer used. * prj-attr.adb: New attributes Required_Switches (<language>) in packages Compiler and Binder. * prj-nmsc.adb: Major rewrite of the processing of configuration attributes for gprbuild. No impact on GNAT tools. * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer process configuration attributes: this is done in Prj.Nmsc.Check. (Recursive_Process): Make a full copy of packages inherited from project being extended, instead of a shallow copy. (Process_Project_Tree_Phase_1): New procedure (Process_Project_Tree_Phase_1): New procedure (Process): Implementation now uses the two new procedures * prj-util.adb (Executable_Of): Get the suffix and the default suffix from the project config, not the tree config that no longer exists. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128797 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-10 Robert Dewar <dewar@adacore.com>charlet2007-09-101-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads, ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads, bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads, bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb, butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb, comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads, elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb, exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads, exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads, exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads, get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads, gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads, inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads, lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads, make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads, mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads, mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt, osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads, prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads, prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads, restrict.adb, restrict.ads, rtsfind.adb, rtsfind.ads, scn.adb, scn.ads, scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb, sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads, sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb, sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads, stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb, styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads, switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb, switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb, tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads, treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads, types.h, uintp.h, urealp.h, usage.adb, usage.ads, validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb, gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb, mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb, symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb, mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb, mlib-tgt-vms.ads: Replace headers with GPL v3 headers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128332 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Vincent Celier <celier@adacore.com>charlet2007-08-141-129/+515
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj.ads, prj.adb: Update Project Manager to new attribute names for gprbuild. Allow all valid declarations in configuration project files (Reset): Initialize all tables and hash tables in the project tree data Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. (Slash_Id): Change type to be Path_Name_Type (Slash): Return a Path_Name_Type instead of a File_Name_Type * prj-attr.ads, prj-attr.adb: Remove attributes no longer used by gprbuild. Update Project Manager to new attribute names for ghprbuild Allow all valid declarations in configuration project files Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. * prj-com.ads: Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. * prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case insensitive flag for attributes with optional index. (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative array attribute, put the index in lower case. Update Project Manager to new attribute names for ghprbuild Allow all valid declarations in configuration project files Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. * prj-env.ads, prj-env.adb: Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. (Get_Reference): Change type of parameter Path to Path_Name_Type * prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after removing '-' from the path to start with the first character of the next directory. Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. * prj-nmsc.ads, prj-nmsc.adb: Update Project Manager to new attribute names for ghprbuild Allow all valid declarations in configuration project files (Search_Directories): Detect subunits that are specified with an attribute Body in package Naming. Do not replace a source/unit in the same project when the order of the source dirs are known. Detect duplicate sources/units in the same project when the order of the source dirs are not known. (Check_Ada_Name): Allow all identifiers that are not reserved words in Ada 95. Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. (Look_For_Sources): If the list of sources is empty, set the object directory of non extending project to nil. Change type of path name variables to be Path_Name_Type (Locate_Directory): Make sure that on Windows '/' is converted to '\', otherwise creating missing directories will fail. * prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb, prj-part.ads, prj-part.adb: Major update of the Project Manager and of the project aware tools, including gprmake, so that the same sources in the GNAT repository can be used by gprbuild. * prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case insensitive flag for attributes with optional index. (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative array attribute, put the index in lower case. (Parse_Variable_Reference): Allow the current project name to be used in the prefix of an attribute reference. * prj-util.ads, prj-util.adb (Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index, defaulted to False. When True, always check against indexes in lower case. * snames.ads, snames.h, snames.adb: Update Project Manager to new attribute names for gprbuild Allow all valid declarations in configuration project files git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127420 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-04-20 Vincent Celier <celier@adacore.com>charlet2007-06-061-22/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Robert Dewar <dewar@adacore.com> * bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb, butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads, fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads, lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads, makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb, par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb, prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb, sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb, uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb, ali.ads, ali.adb: Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to package Namet. Make File_Name_Type and Unit_Name_Type types derived from Mame_Id. Add new type Path_Name_Type, also derived from Name_Id. Use variables of types File_Name_Type and Unit_Name_Type in error messages. (Get_Name): Add parameter Ignore_Special, and set it reading file name (New_Copy): When debugging the compiler, call New_Node_Debugging_Output here. Define flags Flag217-Flag230 with associated subprograms (Flag_Word5): New record type. (Flag_Word5_Ptr): New access type. (To_Flag_Word5): New unchecked conversion. (To_Flag_Word5_Ptr): Likewise. (Flag216): New function. (Set_Flag216): New procedure. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125377 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-04-06 Vincent Celier <celier@adacore.com>charlet2007-04-061-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * errutil.adb (Initialize): Initialize warnings table, if all warnings are suppressed, supply an initial dummy entry covering all possible source locations. * make.adb (Scan_Make_Arg): Reject options that should start with "--" and start with only one, such as "-RTS=none". (Collect_Arguments): Do not check for sources outside of projects. Do not collect arguments if project is externally built. (Compile_Sources): Do nothing, not even check if the source is up to date, if its project is externally built. (Compile): When compiling a predefined source, add -gnatpg as the second switch, after -c. (Compile_Sources): Allow compilation of Annex J renames without -a (Is_In_Object_Directory): Check if the ALI file is in the object even if there is no project extension. (Create_Binder_Mapping_File): Only put a unit in the mapping file for gnatbind if the ALI file effectively exists. (Initialize): Add the directory where gnatmake is invoked in front of the path if it is invoked from a bin directory, even without directory information, so that the correct GNAT tools will be used when spawned without directory information. * makeusg.adb: Change switch -S to -eS Add lines for new switches -we, -wn and -ws Add line for new switch -p * prj-proc.adb (Process): Set Success to False when Warning_Mode is Treat_As_Error and there are warnings. * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip -gnatww Change gnatmake switch -S to -eS (Scan_Make_Switches): Code reorganisation. Process separately multi character switches and single character switches. (Scan_Make_Switches): New Boolean out parameter Success. Set Success to False when switch is not recognized by gnatmake. (Scan_Make_Switches): Set Setup_Projects True when -p or --create-missing-dirs is specified. * fname.adb (Is_Predefined_File_Name): Return True for annex J renamings Calendar, Machine_Code, Unchecked_Conversion and Unchecked_Deallocation only when Renamings_Included is True. * par.adb: Allow library units Calendar, Machine_Code, Unchecked_Conversion and Unchecked_Deallocation to be recompiled even when -gnatg is not specified. (P_Interface_Type_Definition): Remove the formal Is_Synchronized because there is no need to generate always a record_definition_node in case of synchronized interface types. (SIS_Entry_Active): Initialize global variable to False (P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to indicate cases where AI-447 says "not null" is legal. * makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function * makegpr.adb (Check_Compilation_Needed): Take into account dependency files with with several lines starting with the object fileb name. (Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs is specified. (Initialize): Add the directory where gprmake is invoked in front of the path, if it is invoked from a bin directory or with directory information, so that the correct GNAT tools will be used when invoked directly. (Check_Compilation_Needed): Process correctly backslashes on Windows. * vms_data.ads: Update switches/qualifiers git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123560 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-10-31 Vincent Celier <celier@adacore.com>charlet2006-10-311-1/+11
| | | | | | | | | | | | | | | | | | | | * prj-nmsc.adb (Check_Ada_Name): For children of package A, G, I and S on VMS, change "__" to '.' before checking the name. (Record_Ada_Source): Always add the source file name in the list of of sources, even if it is not the first time, as it is for another source index. (Get_Unit): Replace both '_' (after 'a', 'g', 'i' or 's') with a single dot, instead of replacing only the first '_'. * prj-part.adb (Parse): Convert project file path to canonical form * prj-proc.adb (Recursive_Process): Make sure that, when a project is extended, the project id of the project extending it is recorded in its data, even when it has already been processed as an imported project. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118293 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Vincent Celier <celier@adacore.com>charlet2006-02-151-23/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj.ads (Error_Warning): New enumeration type * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is unknown, use the location of the project to report the error. (When_No_Sources): New global variable (Report_No_Ada_Sources): New procedure (Check): New parameter When_No_Sources. Set value of global variable When_No_Sources, (Find_Sources): Call Report_No_Ada_Sources when appropriate (Get_Sources_From_File): Ditto (Warn_If_Not_Sources): Better warning messages indicating the unit name and the file name. * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources. Call Prj.Proc.Process with parameter When_No_Sources. * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources. Call Recursive_Check with parameter When_No_Sources. (Recursive_Check): New parameter When_No_Sources. Call itself and Prj.Nmsc.Check with parameter When_No_Sources. (Process): New parameter When_No_Sources. Call Check with parameter When_No_Sources. (Copy_Package_Declarations): New procedure to copy renamed parameters and setting the location of the declared attributes to the location of the renamed package. (Process_Declarative_Items): Call Copy_Package_Declarations for renamed packages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111084 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-11-14 Robert Dewar <dewar@adacore.com>charlet2005-11-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ed Schonberg <schonberg@adacore.com> PR ada/18434 * types.ads: Include All_Checks in Suppress_Array * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as not(a=b), since we no longer do this rewriting, and hence it is not needed. (Elaboration_Checks_Suppressed): Add special casing to deal with different cases of static and dynamic elaboration checks (all checks does not count in the first case, but does in the second). (Expr_Known_Valid): Do not assume that the result of any arbitrary function call is valid, since this is not the case. (Ensure_Valid): Do not apply validity check to a real literal in a universal or fixed context * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for elementary types using the operator in standard. It is cleaner not to modify the programmers intent, especially in the case of floating-point. (Rewrite_Comparison): Fix handling of /= (this was always wrong, but it did not matter because we always rewrote a/=b to not(a=b). (Expand_Allocator_Expression): For an allocator expression whose nominal subtype is an unconstrained packed type, convert the expression to its actual constrained subtype. Implement warning for <= or >= where < or > not possible Fix to Vax_Float tests (too early in many routines, causing premature Vax_Float expansions. * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma to be used with packages and generic packages as well as with subprograms. (Suppress): Set All_Checks, but not Elaboration_Check, for case of pragma Suppress (All_Checks) (Analyze_Pragma, case Warnings): Implement first argument allowed to be a string literal for precise control over warnings. Avoid raise of pragma in case of unrecognized pragma and just return instead. * sem_prag.ads: Minor reformatting * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;" with call to new procedure Bad_Switch. Call Scan_Pos with new parameter Switch. Do not handle any exception. Include -gnatwx as part of -gnatg (warn on redundant parens) Allow optional = after -gnatm (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no longer sets Elaboration_Checks. Code to set warning mode moved to Sem_Warn so that it can be shared by pragma processing. * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if statement. * s-taprop-solaris.adb: Change some <= to =, to avoid new warning * a-exexda.adb, prj-proc.adb: Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0) Fix obvious typo (Total_Errors_Detected <= 0 should be = 0) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106950 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF addresskcook2005-07-011-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101492 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-10 Arnaud Charlet <charlet@adacore.com>charlet2005-06-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in: Add initialize.o when needed. Adapt to new VMS package body Symbols and subunits No specialized version of a-sytaco is needed for VxWorks. * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files. * a-zchara.ads, a-widcha.ads: New files. * system-hpux-ia64.ads: New file. * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which is imported from the VxWorks kernel. 2005-06-14 Robert Dewar <dewar@adacore.com> * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb, fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads, a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads, s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb, a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb, g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads, i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb, namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb, sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb, s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb, xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting. 2005-06-14 Thomas Quinot <quinot@adacore.com> * xeinfo.adb: Fix typo in comment 2005-06-14 Javier Miranda <miranda@adacore.com> * repinfo.ads: Fix typo in comment 2005-06-14 Gary Dismukes <dismukes@adacore.com> * s-finimp.adb (Parent_Tag): Delete this imported function (function Parent_Tag is now in the visible part of Ada.Tags). (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of using imported function. 2005-06-14 Bernard Banner <banner@adacore.com> * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should also apply for handling support for VxSim 653. 2005-06-14 Eric Botcazou <ebotcazou@adacore.com> * xsnames.adb: Add automatic generation of snames.h. 2005-06-14 Thomas Quinot <quinot@adacore.com> * gen-soccon.c: Add IP_MULTICAST_IF constant Minor reformatting and adjustments to prevent warnings. 2005-06-14 Pascal Obry <obry@adacore.com> * seh_init.c: Do not include <sys/stat.h>. This is not needed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101072 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-03-29 Vincent Celier <celier@adacore.com>charlet2005-03-291-8/+53
| | | | | | | | | | | | | | | | | | | | | * prj.ads, prj.adb: (Project_Data): Add new component Display_Name * prj-part.adb (Parse_Single_Project): Set the location of a project on its defining identifier, rather than on the reserved word "project". * prj-proc.adb (Expression): Adapt to the fact that default of external references may be string expressions, not always literal strings. (Recursive_Process): Set Display_Name equal to Name when Location is No_Location, that is when there is no actual file. Get the Display_Name of the project from the source, when it is not a virtual project. (Process): Use the Display_Name in error messages * prj-strt.adb (External_Reference): Allow default to be string expressions, not only literal strings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97180 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-03-17 Vincent Celier <celier@adacore.com>charlet2005-03-181-1/+0
| | | | | | | | | | | | | | * make.adb (Insert_Project_Sources): Make sure the Q is always initialized. * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against the default for the tree, not the global default naming. * prj-proc.adb (Recursive_Process): No need to put the default naming in the project data, it's already there. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96669 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-03-08 Vincent Celier <celier@adacore.com>charlet2005-03-151-466/+793
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For, Library_File_Name_For): Add new parameter In_Tree to specify the project tree: needed by the project manager. Adapt to changes in project manager using new parameter In_Tree. Remove local imports, use functions in System.CRTL. * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed to use the project manager. * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter In_Tree to designate the project tree. Adapt to changes in the project manager, using In_Tree. * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library, Copy_Interface_Sources): Add new parameter In_Tree to specify the project tree: needed by the project manager. (Build_Library): Check that Arg'Length >= 6 before checking if it contains "--RTS=...". * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For, Library_File_Name_For): Add new parameter In_Tree to specify the project tree: needed by the project manager. * prj.ads, prj.adb: Major modifications to allow several project trees in memory at the same time. Change tables to dynamic tables and hash tables to dynamic hash tables. Move tables and hash tables from Prj.Com (in the visible part) and Prj.Env (in the private part). Move some constants from the visible part to the private part. Make other constants deferred. (Project_Empty): Make it a variable, not a function (Empty_Project): Add parameter Tree. Returns the data with the default naming data of the project tree Tree. (Initialize): After updating Std_Naming_Data, copy its value to the component Naming of Project Empty. (Register_Default_Naming_Scheme): Use and update the default naming component of the project tree, instead of the global variable Std_Naming_Data. (Standard_Naming_Data): Add defaulted parameter Tree. If project tree Tree is not defaulted, return the default naming data of the Tree. (Initial_Buffer_Size): Constant moved from private part (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new variables initialized in procedure Initialize. (Add_To_Buffer): Add two in out parameters to replace global variables Buffer and Buffer_Last. (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New functions. Adapt to changes to use new type Project_Tree_Ref and dynamic tables and hash tables. (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter for the project tree. (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and constant at the beginning of the package spec, so that they cane be used in subprograms before their full declarations. (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref (Empty_Project): Add parameter of type Project_Node_Ref (Private_Project_Tree_Data): Add component Default_Naming of type Naming_Data. (Buffer, Buffer_Last): remove global variables (Add_To_Buffer): Add two in out parameters to replace global variables Buffer and Buffer_Last. (Current_Packages_To_Check): Remove global variable (Empty_Name): Move to private part (No-Symbols): Make it a constant (Private_Project_Tree_Data): New type for the private part of the project tree data. (Project_Tree_Data): New type for the data of a project tree (Project_Tree_Ref): New type to designate a project tree (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter for the project tree. * prj-attr.ads: Add with Table; needed, as package Prj no longer imports package Table. * prj-com.adb: Remove empty, no longer needed body * prj-com.ads: Move most of the content of this package to package Prj. * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to designate the project node tree and Packages_To_Check to replace global variable Current_Packages_To_Check. Add new parameters In_Tree and Packages_To_Check to local subprograms, when needed. Adapt to changes in project manager with project node tree In_Tree. * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the project tree to most subprograms. Move tables and hash tables to private part of package Prj. Adapt to changes in project manager using project tree In_Tree. * prj-makr.adb (Tree): New constant to designate the project node tree Adapt to change in project manager using project node tree Tree * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly display the Library_Src_Dir and the Library_Dir. Add new parameter In_Tree to designate the project node tree to most subprograms. Adapt to changes in the project manager, using project tree In_Tree. (Check_Naming_Scheme): Do not alter the casing on platforms where the casing of file names is not significant. (Check): Add new parameter In_Tree to designate the * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to designate the project tree. Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables, to replace those that were in the private part of package Prj. Add new parameter In__Tree to designate the project node tree to most subprograms. Adapt to change in Prj.Tree with project node tree In_Tree. (Post_Parse_Context_Clause): When specifying the project node of a with clause, indicate that it is a limited with only if there is "limited" in the with clause, not necessarily when In_Limited is True. (Parse): Add new parameter In_Tree to designate the project node tree * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to designate the project node tree. Adapt to change in Prj.Tree with project node tree In_Tree. * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project tree In_Tree in the call to function Empty_Process to give its initial value to the project data Processed_Data. Add new parameters In_Tree to designate the project tree and From_Project_Node_Tree to designate the project node tree to several subprograms. Adapt to change in project manager with project tree In_Tree and project node tree From_Project_Node_Tree. * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables, to replace those that were in the private part of package Prj. Add new parameter In_Tree to designate the project node tree to most subprograms. Adapt to change in Prj.Tree with project node tree In_Tree. * prj-tree.ads, prj-tree.adb: Add new parameter of type Project_Node_Tree_Ref to most subprograms. Use this new parameter to store project nodes in the designated project node tree. (Project_Node_Tree_Ref): New type to designate a project node tree (Tree_Private_Part): Change table to dynamic table and hash tables to dynamic hash tables. * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate the project tree to most subprograms. Adapt to changes in project manager using project tree In_Tree. * makegpr.adb (Project_Tree): New constant needed to use project manager. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96481 138bc75d-0d04-0410-961f-82ee72b054a4
* * make.adb (Check_Mains, Switches_Of): Adapt to name changes incharlet2004-12-081-45/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). Take into account Externally_Built attribute. * clean.adb (In_Extension_Chain): Always return False when one of the parameter is No_Project. (Clean_Project): Adapt to changes in package Prj (Lang_Ada => Ada_Language_Index). (Gnatclean): Adapt to change in package Prj.Pars (no parameter Process_Languages for procedure Parse). * gnatcmd.adb (Carg_Switches): New table. (GNATCmd): Put all switches following -cargs in the Carg_Switches table. Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type Header_Num and function Hash are now declared in package Prj, not Prj.Com. * prj.adb (Suffix_Of): New function. (Set (Suffix)): New procedure. (Hash): One function moved from Prj.Com (Is_Present, Language_Processing_Data_Of): New functions (Set): Two new procedures (Add_Language_Name, Display_Language_Name): New procedures * prj.ads: (Suffix_Of): New function (Set (Suffix)): New procedure Add several types and tables for multi-language support. (Header_Num): Type moved from Prj.Com (Hash): Two functions moved from Prj.Com (Is_Present, Language_Processing_Data_Of): New functions (Set): Two new procedures (Add_Language_Name, Display_Language_Name): New procedures (Naming): Component name changes: Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix. Add new components: Impl_Suffixes, Supp_Suffixes. (Project_Data): New components: Externally_Built, Supp_Languages, First_Language_Processing, Supp_Language_Processing, Default_Linker, Default_Linker_Path. * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and new package Language_Processing with its attributes (Compiler_Driver, Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option, Binder_Driver, Default_Linker). * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj. (Header_Num): Type moved to package Prj * prj-env.adb: Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by default to the project path, except the "-" is one of the directories in env var ADA_PROJECT_PATH. (Current_Project_Path): Global variable, replacing Project_Path that was in the body of Prj.Part. (Project_Path): New function (Set_Project_Path): New procedure Initialize Current_Project_Path during elaboration of the package Remove dependency on Prj.Com, no longer needed * prj-ext.ads (Project_Path): New function (Set_Project_Path): New procedure * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no suffix is defined for language <lang>. (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of accessing directly the components of Naming. (Look_For_Sources): Use Set (Suffix) to set the suffix of a language. Reorganise of this package. Break procedure Check in several procedures. * prj-nmsc.ads: Replace all procedures (Ada_Check, Other_Languages_Check and Language_Independent_Check) with a single procedure Check. * prj-pars.ads, prj-pars.adb (Parse): Remove parameter Process_Languages, no longer needed. * prj-part.adb (Project_Path): Move to the body of Prj.Ext as Current_Project_Path. Remove elaboration code, moved to the body of Prj.Ext Use new function Prj.Ext.Project_Path instead of old variable Project_Path. (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path. When comparing with project paths on the stack, first put the resolved path in canonical case. (Parse_Single_Project): Set the path name of the project file in the tree to the normalized path. * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove parameter Process_Languages, no longer needed. (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and Other_Languages_Check. * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path to store the resolved canonical path of the project file. Remove dependency to Prj.Com, no longer needed * prj-util.adb: Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver, Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker, Externally_Built, Include_Option, Language_Processing. * makegpr.adb: Numerous changes due to changes in packages Prj and Prj.Nmsc. * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by default to the project path, except whe "-" is one of the directories in env var ADA_PROJECT_PATH. (Gnatls): In verbose mode, add the new section "Project Search Path:" git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91877 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-10-26 Vincent Celier <celier@gnat.com>charlet2004-10-271-10/+32
| | | | | | | | | | | | | | | | | | * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual extension of library projects. * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project path defaults to ".:<prefix>/lib/gnat". (Parse): For an extending all project, allow direct import of a project that is virtually extended. * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with the specified name is directly imported, return its ID. Otherwise, if an extension of this project is imported, return the ID of the extension. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89662 138bc75d-0d04-0410-961f-82ee72b054a4