OSDN Git Service

2005-03-08 Javier Miranda <miranda@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / vms_data.ads
index 43b4fe4..2b028bb 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1996-2004 Free Software Foundation, Inc.          --
+--          Copyright (C) 1996-2005 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- --
@@ -498,6 +498,21 @@ package VMS_Data is
    --   current unit. This is useful for code audit purposes, and also may be
    --   used to improve code generation in some cases.
 
+   S_Bind_Return  : aliased constant S := "/RETURN_CODES="                 &
+                                            "POSIX "                       &
+                                               "!-X1 "                     &
+                                            "VMS "                         &
+                                               "-X1";
+   --        /RETURN_CODES=POSIX (D)
+   --        /RETURN_CODES=VMS
+   --
+   --   Specifies the style of default exit code returned. Must be used in
+   --   conjunction with and match the Link qualifer with same name.
+   --
+   --        POSIX (D)   Return Posix success (0) by default.
+   --
+   --        VMS         Return VMS success (1) by default.
+
    S_Bind_RTS     : aliased constant S := "/RUNTIME_SYSTEM=|"              &
                                             "--RTS=|";
    --      /RUNTIME_SYSTEM=xxx
@@ -636,6 +651,7 @@ package VMS_Data is
       S_Bind_Report  'Access,
       S_Bind_ReportX 'Access,
       S_Bind_Restr   'Access,
+      S_Bind_Return  'Access,
       S_Bind_RTS     'Access,
       S_Bind_Search  'Access,
       S_Bind_Shared  'Access,
@@ -1505,6 +1521,15 @@ package VMS_Data is
    --      HIGH        A great number of messages are output, most of them not
    --                  being useful for the user.
 
+   S_GCC_Nesting  : aliased constant S := "/MAX_NESTING=#"                &
+                                             "-gnatyL#";
+   --        /MAX_NESTING=nnn
+   --
+   --   Set maximum level of nesting of constructs (including subprograms,
+   --   loops, blocks, packages, and conditionals).
+   --   The level of nesting must not exceed the given value nnn.
+   --   A value of zero disable this style check (not enabled by default).
+
    S_GCC_Noadc   : aliased constant S := "/NO_GNAT_ADC "                   &
                                              "-gnatA";
    --        /NO_GNAT_ADC
@@ -1806,7 +1831,9 @@ package VMS_Data is
                                             "SPECS "                       &
                                                "-gnatys "                  &
                                             "TOKEN "                       &
-                                               "-gnatyt ";
+                                               "-gnatyt "                  &
+                                            "XTRA_PARENS "                 &
+                                               "-gnatyx ";
    --        /NOSTYLE_CHECKS (D)
    --        /STYLE_CHECKS[=(keyword,[...])]
    --
@@ -1884,11 +1911,9 @@ package VMS_Data is
    --                               construction of box comments, as shown in
    --                               the following example:
    --
-   --
-   --                           ---------------------------
-   --                           -- This is a box comment --
-   --                           -- with two text lines.  --
-   --                           ---------------------------
+   --                               ---------------------------
+   --                               -- This is a box comment --
+   --                               ---------------------------
    --
    --      END                  Check end/exit labels.
    --                           Optional labels on end statements ending
@@ -2314,6 +2339,15 @@ package VMS_Data is
    --   debugging purposes or if you need to be sure what version of the
    --   compiler you are executing.
 
+   S_GCC_Verb_Asm : aliased constant S := "/VERBOSE_ASM " &
+                                          "-S,-verbose_asm,!-c";
+   --        /NOASM (D)
+   --        /ASM
+   --
+   --   Use to cause the assembler source file to be generated, using S as the
+   --   filetype, instead of the object file. This may be useful if you need
+   --   to examine the generated assembly code.
+
    S_GCC_Warn    : aliased constant S := "/WARNINGS="                      &
                                             "DEFAULT "                     &
                                                "!-gnatws,!-gnatwe "        &
@@ -2830,6 +2864,7 @@ package VMS_Data is
       S_GCC_List    'Access,
       S_GCC_Mapping 'Access,
       S_GCC_Mess    'Access,
+      S_GCC_Nesting 'Access,
       S_GCC_Noadc   'Access,
       S_GCC_Noload  'Access,
       S_GCC_Nostinc 'Access,
@@ -2858,6 +2893,7 @@ package VMS_Data is
       S_GCC_Upcase  'Access,
       S_GCC_Valid   'Access,
       S_GCC_Verbose 'Access,
+      S_GCC_Verb_Asm'Access,
       S_GCC_Warn    'Access,
       S_GCC_WarnX   'Access,
       S_GCC_Wide    'Access,
@@ -3348,7 +3384,8 @@ package VMS_Data is
    --        /RETURN_CODES=VMS
    --
    --   Specifies the style of codes returned by
-   --   Ada.Command_Line.Set_Exit_Status.
+   --   Ada.Command_Line.Set_Exit_Status. Must be used in conjunction with
+   --   and match the Bind qualifer with the same name.
    --
    --        POSIX (D)   Return Posix compatible exit codes.
    --
@@ -3432,6 +3469,13 @@ package VMS_Data is
    --   Example:
    --      /EXTERNAL_REFERENCE="DEBUG=TRUE"
 
+   S_List_Files   : aliased constant S := "/FILES=@"                       &
+                                            "-files=@";
+   --        /FILES=filename
+   --
+   --   Take as arguments the files that are listed in the specified
+   --   text file.
+
    S_List_Mess    : aliased constant S := "/MESSAGES_PROJECT_FILE="        &
                                             "DEFAULT "                     &
                                                "-vP0 "                     &
@@ -3522,6 +3566,7 @@ package VMS_Data is
       S_List_Current 'Access,
       S_List_Depend  'Access,
       S_List_Ext     'Access,
+      S_List_Files   'Access,
       S_List_Mess    'Access,
       S_List_Nostinc 'Access,
       S_List_Object  'Access,
@@ -4023,30 +4068,24 @@ package VMS_Data is
    -- Switches for GNAT METRIC --
    ------------------------------
 
-   S_Metric_Config  : aliased constant S := "/CONFIGURATION_PRAGMAS_FILE=<" &
-                                              "-gnatec>";
-   --        /CONFIGURATION_PRAGMAS_FILE=file
-   --
-   --   Specify a configuration pragmas file that need to be taken into account
-
-   S_Metric_Current : aliased constant S := "/CURRENT_DIRECTORY "           &
-                                             "!-I-";
-   --        /CURRENT_DIRECTORY (D)
-   --
-   --   Look for files in the directory where GNAT METRIC was invoked
-   --
-   --        /NOCURRENT_DIRECTORY
-   --
-   --   Do not look for files in the directory where GNAT METRIC was invoked
-
    S_Metric_Debug    : aliased constant S := "/DEBUG_OUTPUT "               &
                                              "-dv";
    --      /DEBUG_OUTPUT
+   --
+   --   Generate the debug information
+
+   S_Metric_Direct   : aliased constant S := "/DIRECTORY=@"                 &
+                                             "-d=@";
+   --      /DIRECTORY=pathname
+   --
+   --   Put the files with detailed metric information into the specified
+   --   directory
 
    S_Metric_Element : aliased constant S := "/ELEMENT_METRICS="             &
                                              "ALL "                         &
-                                              "!-ed,!-es,!-enl,!-eis,"      &
-                                              "!-eas,!-eit,!-eat,!-enu "    &
+                                              "!-ed,!-es,!-enl,!-eps,"      &
+                                              "!-eas,!-ept,!-eat,!-enu,"    &
+                                              "!-ec "                       &
                                              "DECLARATION_TOTAL "           &
                                               "-ed "                        &
                                              "STATEMENT_TOTAL "             &
@@ -4054,16 +4093,36 @@ package VMS_Data is
                                              "LOOP_NESTING_MAX "            &
                                               "-enl "                       &
                                              "INT_SUBPROGRAMS "             &
-                                              "-eis "                       &
+                                              "-eps "                       &
                                              "SUBPROGRAMS_ALL "             &
                                               "-eas "                       &
                                              "INT_TYPES "                   &
-                                              "-eit "                       &
+                                              "-ept "                       &
                                              "TYPES_ALL "                   &
                                               "-eat "                       &
                                              "PROGRAM_NESTING_MAX "         &
-                                              "-enu";
+                                              "-enu "                       &
+                                             "CONSTRUCT_NESTING_MAX "       &
+                                              "-ec";
    --       /ELEMENT_METRICS=(option, option ...)
+   --
+   --   Specifies the element metrics to be computed (if not set, all the
+   --   element metrics are set on, otherwise only specified metrics are
+   --   computed and reported)
+   --
+   --   option may be one of the following:
+   --
+   --     ALL (D)               All the element metrics are computed
+   --     DECLARATION_TOTAL     Compute the total number of declarations
+   --     STATEMENT_TOTAL       Compute the total number of statements
+   --     LOOP_NESTING_MAX      Compute the maximal loop nesting level
+   --     INT_SUBPROGRAMS       Compute the number of interface subprograms
+   --     SUBPROGRAMS_ALL       Compute the number of all the subprograms
+   --     INT_TYPES             Compute the number of interface types
+   --     TYPES_ALL             Compute the number of all the types
+   --     PROGRAM_NESTING_MAX   Compute the maximal program unit nesting level
+   --
+   --   All combinations of element metrics options are allowed.
 
    S_Metric_Ext     : aliased constant S := "/EXTERNAL_REFERENCE=" & '"'    &
                                              "-X" & '"';
@@ -4075,6 +4134,13 @@ package VMS_Data is
    --   Example:
    --      /EXTERNAL_REFERENCE="DEBUG=TRUE"
 
+   S_Metric_Files   : aliased constant S := "/FILES=@"                 &
+                                             "-files=@";
+   --      /FILES=filename
+   --
+   --   Take as arguments the files that are listed in the specified
+   --   text file.
+
    S_Metric_Format  : aliased constant S := "/FORMAT_OUTPUT="               &
                                              "DEFAULT "                     &
                                               "!-x,!-nt,!-sfn "             &
@@ -4085,10 +4151,22 @@ package VMS_Data is
                                              "SHORT_SOURCE_FILE_NAME "      &
                                               "-sfn";
    --       /FORMAT_OUTPUT=(option, option ...)
+   --
+   --   Specifies the details of the tool output
+   --
+   --   option may be one of the following:
+   --
+   --     DEFAULT (D)             Generate the text output only, use full
+   --                             argument source names in global information
+   --     XML                     Generate the output in XML format
+   --     NO_TEXT                 Do not generate the text output (implies XML)
+   --     SHORT_SOURCE_FILE_NAME  Use short argument source names in output
 
    S_Metric_Globout : aliased constant S := "/GLOBAL_OUTPUT=@"              &
                                              "-og@";
    --        /GLOBAL_OUTPUT=filename
+   --
+   --   Put the textual global metric information into the specified file
 
    S_Metric_Line     : aliased constant S := "/LINE_METRICS="               &
                                                 "ALL "                      &
@@ -4106,6 +4184,22 @@ package VMS_Data is
                                                  "-lb ";
    --      /LINE_METRICS=(option, option ...)
 
+   --   Specifies the line metrics to be computed (if not set, all the line
+   --   metrics are set on, otherwise only specified metrics are computed and
+   --   reported)
+   --
+   --   option may be one of the following:
+   --
+   --     ALL (D)              All the line metrics are computed
+   --     LINES_ALL            All lines are computed
+   --     CODE_LINES           Lines with Ada code are computed
+   --     COMENT_LINES         All comment lines are computed
+   --     MIXED_CODE_COMMENTS  All lines containing both code and comment are
+   --                          computed
+   --     BLANK_LINES          Blank lines are computed
+   --
+   --   All combinations of line metrics options are allowed.
+
    S_Metric_Mess    : aliased constant S := "/MESSAGES_PROJECT_FILE="       &
                                              "DEFAULT "                     &
                                                 "-vP0 "                     &
@@ -4135,15 +4229,19 @@ package VMS_Data is
 
    S_Metric_Quiet    : aliased constant S := "/QUIET "                      &
                                              "-q";
-   --      /QUIET
-
-   S_Metric_Search  : aliased constant S := "/SEARCH=*"                     &
-                                             "-I*";
-   --        /SEARCH=(directory[,...])
+   --        /NOQUIET (D)
+   --        /QUIET
+   --
+   --   Quiet mode: by default GNAT METRIC outputs to the standard error stream
+   --   the number of program units left to be processed. This option turns
+   --   this trace off.
 
    S_Metric_Suffix  : aliased constant S := "/SUFFIX_DETAILS=" & '"'        &
                                              "-o" & '"';
    --        /SUFFIX_DETAILS=suffix
+   --
+   --   Use the given suffix as the suffix for the name of the file to place
+   --   the detailed metrics into.
 
    S_Metric_Suppress : aliased constant S :=  "/SUPPRESS="                  &
                                                "NOTHING "                   &
@@ -4160,28 +4258,47 @@ package VMS_Data is
                                                "LOCAL_DETAILS "             &
                                                 "-nolocal ";
    --      /SUPPRESS=(option, option ...)
+   --
+   --   Specifies the metric that should not be computed
+   --
+   --   option may be one of the following:
+   --
+   --     NOTHING (D)             Do not suppress computation of any metric
+   --     CYCLOMATIC_COMPLEXITY   Do not compute the Cyclomatic Complexity
+   --     ESSENTIAL_COMPLEXITY    Do not compute the Essential Complexity
+   --     MAXIMAL_LOOP_NESTING    Do not compute the maximal loop nesting
+   --     EXITS_AS_GOTOS          Do not count EXIT statements as GOTOs when
+   --                             computing the  Essential Complexity
+   --     LOCAL_DETAILS           Do not compute the detailed metrics for local
+   --                             program units
+   --
+   --   All combinations of options are allowed.
 
    S_Metric_Verbose  : aliased constant S := "/VERBOSE "                    &
                                              "-v";
-   --      /VERBOSE
+   --        /NOVERBOSE (D)
+   --        /VERBOSE
+   --
+   --   Verbose mode.
 
    S_Metric_XMLout  : aliased constant S := "/XML_OUTPUT=@"                 &
                                              "-ox@";
    --        /XML_OUTPUT=filename
+   --
+   --   Place the XML output into the specified file
 
    Metric_Switches : aliased constant Switches :=
-     (S_Metric_Config   'Access,
-      S_Metric_Current  'Access,
-      S_Metric_Debug    'Access,
+     (S_Metric_Debug    'Access,
+      S_Metric_Direct   'Access,
       S_Metric_Element  'Access,
       S_Metric_Ext      'Access,
+      S_Metric_Files    'Access,
       S_Metric_Format   'Access,
       S_Metric_Globout  'Access,
       S_Metric_Line     'Access,
       S_Metric_Mess     'Access,
       S_Metric_Project  'Access,
       S_Metric_Quiet    'Access,
-      S_Metric_Search   'Access,
       S_Metric_Suffix   'Access,
       S_Metric_Suppress 'Access,
       S_Metric_Verbose  'Access,
@@ -4373,7 +4490,7 @@ package VMS_Data is
 
    S_Pretty_Align  : aliased constant S := "/ALIGN="                       &
                                            "DEFAULT "                      &
-                                               "-A1234 "                   &
+                                               "-A12345 "                  &
                                            "OFF "                          &
                                                "-A0 "                      &
                                            "COLONS "                       &
@@ -4383,7 +4500,9 @@ package VMS_Data is
                                            "STATEMENTS "                   &
                                                "-A3 "                      &
                                            "ARROWS "                       &
-                                              "-A4";
+                                               "-A4 "                      &
+                                           "COMPONENT_CLAUSES "            &
+                                               "-A5";
    --        /ALIGN[=align-option, align-option, ...]
    --
    --   Set alignments. By default, all alignments (colons in declarations,
@@ -4392,11 +4511,14 @@ package VMS_Data is
    --
    --   align-option may be one of the following:
    --
-   --      OFF (D)      Set all alignments to OFF
-   --      COLONS       Set alignments of colons in declarations to ON
-   --      DECLARATIONS Set alignments of initialisations in declarations to ON
-   --      STATEMENTS   Set alignments of assignments statements to ON
-   --      ARROWS       Set alignments of arrow delimiters to ON.
+   --      OFF (D)           Set all alignments to OFF
+   --      COLONS            Set alignments of colons in declarations to ON
+   --      DECLARATIONS      Set alignments of initialisations in declarations
+   --                        to ON
+   --      STATEMENTS        Set alignments of assignments statements to ON
+   --      ARROWS            Set alignments of arrow delimiters to ON.
+   --      COMPONENT_CLAUSES Set alignments of AT keywords in component
+   --                        clauses ON
    --
    --   Specifying one of the ON options without first specifying the OFF
    --   option has no effect, because by default all alignments are set to ON.
@@ -4434,7 +4556,7 @@ package VMS_Data is
    --   Set the comment layout. By default, comments use the GNAT style
    --   comment line indentation.
    --
-   --   layout-option is be one of the following:
+   --   layout-option may be one of the following:
    --
    --     UNTOUCHED           All the comments remain unchanged
    --     DEFAULT (D)         GNAT style comment line indentation
@@ -4577,6 +4699,13 @@ package VMS_Data is
    --   used in the default dictionary file, are defined in the GNAT User's
    --   Guide.
 
+   S_Pretty_Files     : aliased constant S := "/FILES=@"                   &
+                                                 "-files=@";
+   --      /FILES=filename
+   --
+   --   Take as arguments the files that are listed in the specified
+   --   text file.
+
    S_Pretty_Forced    : aliased constant S := "/FORCED_OUTPUT=@"           &
                                                  "-of@";
    --        /FORCED_OUTPUT=file
@@ -4799,6 +4928,7 @@ package VMS_Data is
       S_Pretty_Ext       'Access,
       S_Pretty_Current   'Access,
       S_Pretty_Dico      'Access,
+      S_Pretty_Files     'Access,
       S_Pretty_Forced    'Access,
       S_Pretty_Formfeed  'Access,
       S_Pretty_Indent    'Access,
@@ -4822,6 +4952,69 @@ package VMS_Data is
       S_Pretty_Verbose   'Access,
       S_Pretty_Warnings  'Access);
 
+   -----------------------------
+   -- Switches for GNAT SETUP --
+   -----------------------------
+
+   S_Setup_Ext       : aliased constant S := "/EXTERNAL_REFERENCE=" & '"' &
+                                              "-X" & '"';
+   --        /EXTERNAL_REFERENCE="name=val"
+   --
+   --   Specifies an external reference to the project manager. Useful only if
+   --   /PROJECT_FILE is used.
+   --
+   --   Example:
+   --      /EXTERNAL_REFERENCE="DEBUG=TRUE"
+
+   S_Setup_Mess      : aliased constant S := "/MESSAGES_PROJECT_FILE="    &
+                                             "DEFAULT "                   &
+                                                "-vP0 "                   &
+                                             "MEDIUM "                    &
+                                                "-vP1 "                   &
+                                             "HIGH "                      &
+                                                "-vP2";
+   --        /MESSAGES_PROJECT_FILE[=messages-option]
+   --
+   --   Specifies the "verbosity" of the parsing of project files.
+   --   messages-option may be one of the following:
+   --
+   --      DEFAULT (D)  No messages are output if there is no error or warning.
+   --
+   --      MEDIUM       A small number of messages are output.
+   --
+   --      HIGH         A great number of messages are output, most of them not
+   --                   being useful for the user.
+
+   S_Setup_Project   : aliased constant S := "/PROJECT_FILE=<"            &
+                                                "-P>";
+   --        /PROJECT_FILE=filename
+   --
+   --   Specifies the main project file to be used. The project files rooted
+   --   at the main project file are parsed and non existing object
+   --   directories, library directories and exec directories are created.
+
+   S_Setup_Quiet     : aliased constant S := "/QUIET "                    &
+                                            "-q";
+   --        /NOQUIET (D)
+   --        /QUIET
+   --
+   --   Work quietly, only output warnings and errors.
+
+   S_Setup_Verbose   : aliased constant S := "/VERBOSE "                  &
+                                              "-v";
+   --        /NOVERBOSE (D)
+   --        /VERBOSE
+   --
+   --   Verbose mode; GNAT PRETTY generates version information and then a
+   --   trace of the actions it takes to produce or obtain the ASIS tree.
+
+   Setup_Switches : aliased constant Switches :=
+     (S_Setup_Ext     'Access,
+      S_Setup_Mess    'Access,
+      S_Setup_Project 'Access,
+      S_Setup_Quiet   'Access,
+      S_Setup_Verbose 'Access);
+
    ------------------------------
    -- Switches for GNAT SHARED --
    ------------------------------