diff options
author | Jose Ruiz <ruiz@adacore.com> | 2007-04-06 11:22:40 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-04-06 11:22:40 +0200 |
commit | df777314f1fcc8cce837e8c86c56d60425fe875c (patch) | |
tree | 728c0e48acae89c929bea240ac7785541055714d /gcc/ada/vms_conv.ads | |
parent | cf6ba14a7b33298f8478ce1b42ed8dac21ce4284 (diff) | |
download | gcc-df777314f1fcc8cce837e8c86c56d60425fe875c.tar.gz |
gnatcmd.adb (B_Start): Add prefix of binder generated file.
2007-04-06 Jose Ruiz <ruiz@adacore.com>
Vincent Celier <celier@adacore.com>
* gnatcmd.adb (B_Start): Add prefix of binder generated file.
(Stack_String): Add this String that contains the name of the Stack
package in the project file.
(Packages_To_Check_By_Stack): Add this list that contains the packages
to be checked by gnatstack, which are the naming and the stack packages.
(Check_Files): If no .ci files were specified for gnatstack we add all
the .ci files belonging to the projects, including binder generated
files.
(Non_VMS_Usage): Document that gnatstack accept project file switches.
(GNATCmd): Update the B_Start variable if we are in a VMS environment.
Add gnatstack to the list of commands that use project file related
switches, and get the single attribute Switches from the stack package
in a project file when calling gnatstack. Parse the -U flag for
processing files belonging to all projects in the project tree.
Remove all processing for command Setup
* prj-attr.adb: Add new package Stack with single attribute Switches
* vms_conv.ads (Command_Type): Add command Stack.
Move to body declarations that are only used in the body: types Item_Id,
Translation_Type, Item_Ptr, Item and its subtypes.
* vms_conv.adb: (Initialize): Add data for new command Stack.
Add declarations moved from the spec: types Item_Id, Translation_Type,
Item_Ptr, Item and its subtypes.
(Cargs_Buffer): New table
(Cargs): New Boolean global variable
(Process_Buffer): New procedure to create arguments
(Place): Put character in table Buffer or Cargs_Buffer depending on the
value of Cargs.
(Process_Argument): Set Cargs when processing qualifiers for GNAT
COMPILE
(VMS_Conversion): Call Process_Buffer for table Buffer and, if it is not
empty, for table Cargs_Buffer.
(Initialize): Remove component Setup in Command_List
From-SVN: r123575
Diffstat (limited to 'gcc/ada/vms_conv.ads')
-rw-r--r-- | gcc/ada/vms_conv.ads | 132 |
1 files changed, 2 insertions, 130 deletions
diff --git a/gcc/ada/vms_conv.ads b/gcc/ada/vms_conv.ads index 7f58c28e9df..98496df730e 100644 --- a/gcc/ada/vms_conv.ads +++ b/gcc/ada/vms_conv.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 2003-2005, Free Software Foundation, Inc. -- +-- Copyright (C) 2003-2006, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -109,8 +109,8 @@ package VMS_Conv is Name, Preprocess, Pretty, - Setup, Shared, + Stack, Stub, Xref, Undefined); @@ -158,134 +158,6 @@ package VMS_Conv is -- an extension already. end record; - ------------------------- - -- Internal Structures -- - ------------------------- - - -- The switches and commands are defined by strings in the previous - -- section so that they are easy to modify, but internally, they are - -- kept in a more conveniently accessible form described in this - -- section. - - -- Commands, command qualifers and options have a similar common format - -- so that searching for matching names can be done in a common manner. - - type Item_Id is (Id_Command, Id_Switch, Id_Option); - - type Translation_Type is - ( - T_Direct, - -- A qualifier with no options. - -- Example: GNAT MAKE /VERBOSE - - T_Directories, - -- A qualifier followed by a list of directories - -- Example: GNAT COMPILE /SEARCH=([], [.FOO], [.BAR]) - - T_Directory, - -- A qualifier followed by one directory - -- Example: GNAT LIBRARY /SET=[.VAXFLOATLIB] - - T_File, - -- A qualifier followed by a filename - -- Example: GNAT LINK /EXECUTABLE=FOO.EXE - - T_No_Space_File, - -- A qualifier followed by a filename - -- Example: GNAT MAKE /PROJECT_FILE=PRJ.GPR - - T_Numeric, - -- A qualifier followed by a numeric value. - -- Example: GNAT CHOP /FILE_NAME_MAX_LENGTH=39 - - T_String, - -- A qualifier followed by a quoted string. Only used by - -- /IDENTIFICATION qualifier. - -- Example: GNAT LINK /IDENTIFICATION="3.14a1 version" - - T_Options, - -- A qualifier followed by a list of options. - -- Example: GNAT COMPILE /REPRESENTATION_INFO=(ARRAYS,OBJECTS) - - T_Commands, - -- A qualifier followed by a list. Only used for - -- MAKE /COMPILER_QUALIFIERS /BINDER_QUALIFIERS /LINKER_QUALIFIERS - -- (gnatmake -cargs -bargs -largs ) - -- Example: GNAT MAKE ... /LINKER_QUALIFIERS /VERBOSE FOOBAR.OBJ - - T_Other, - -- A qualifier passed directly to the linker. Only used - -- for LINK and SHARED if no other match is found. - -- Example: GNAT LINK FOO.ALI /SYSSHR - - T_Alphanumplus - -- A qualifier followed by a legal linker symbol prefix. Only used - -- for BIND /BUILD_LIBRARY (gnatbind -Lxyz). - -- Example: GNAT BIND /BUILD_LIBRARY=foobar - ); - - type Item (Id : Item_Id); - type Item_Ptr is access all Item; - - type Item (Id : Item_Id) is record - Name : String_Ptr; - -- Name of the command, switch (with slash) or option - - Next : Item_Ptr; - -- Pointer to next item on list, always has the same Id value - - Command : Command_Type := Undefined; - - Unix_String : String_Ptr := null; - -- Corresponding Unix string. For a command, this is the unix command - -- name and possible default switches. For a switch or option it is - -- the unix switch string. - - case Id is - - when Id_Command => - - Switches : Item_Ptr; - -- Pointer to list of switch items for the command, linked - -- through the Next fields with null terminating the list. - - Usage : String_Ptr; - -- Usage information, used only for errors and the default - -- list of commands output. - - Params : Parameter_Ref; - -- Array of parameters - - Defext : String (1 .. 3); - -- Default extension. If non-blank, then this extension is - -- supplied by default as the extension for any file parameter - -- which does not have an extension already. - - when Id_Switch => - - Translation : Translation_Type; - -- Type of switch translation. For all cases, except Options, - -- this is the only field needed, since the Unix translation - -- is found in Unix_String. - - Options : Item_Ptr; - -- For the Options case, this field is set to point to a list - -- of options item (for this case Unix_String is null in the - -- main switch item). The end of the list is marked by null. - - when Id_Option => - - null; - -- No special fields needed, since Name and Unix_String are - -- sufficient to completely described an option. - - end case; - end record; - - subtype Command_Item is Item (Id_Command); - subtype Switch_Item is Item (Id_Switch); - subtype Option_Item is Item (Id_Option); - ------------------- -- Switch Tables -- ------------------- |