OSDN Git Service

* restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
[pf3gnuchains/gcc-fork.git] / gcc / ada / switch.ads
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT COMPILER COMPONENTS                         --
4 --                                                                          --
5 --                               S W I T C H                                --
6 --                                                                          --
7 --                                 S p e c                                  --
8 --                                                                          --
9 --                            $Revision: 1.17 $                             --
10 --                                                                          --
11 --          Copyright (C) 1992-2001 Free Software Foundation, Inc.          --
12 --                                                                          --
13 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
14 -- terms of the  GNU General Public License as published  by the Free Soft- --
15 -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
16 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
17 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
18 -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
19 -- for  more details.  You should have  received  a copy of the GNU General --
20 -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
21 -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
22 -- MA 02111-1307, USA.                                                      --
23 --                                                                          --
24 -- GNAT was originally developed  by the GNAT team at  New York University. --
25 -- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
26 --                                                                          --
27 ------------------------------------------------------------------------------
28
29 --  This package scans switches. Note that the body of Usage must be
30 --  coordinated with the switches that are recognized by this package.
31 --  The Usage package also acts as the official documentation for the
32 --  switches that are recognized. In addition, package Debug documents
33 --  the otherwise undocumented debug switches that are also recognized.
34
35 package Switch is
36
37    --  Note: The default switch character is indicated by Switch_Character,
38    --  but regardless of what it is, a hyphen is always allowed as an
39    --  (alternative) switch character.
40
41    --  Note: In GNAT, the case of switches is not significant if
42    --  Switches_Case_Sensitive is False. If this is the case, switch
43    --  characters, or letters appearing in the parameter to a switch, may be
44    --  either upper case or lower case.
45
46    -----------------
47    -- Subprograms --
48    -----------------
49
50    function Is_Switch (Switch_Chars : String) return Boolean;
51    --  Returns True iff Switch_Chars is at least two characters long,
52    --  and the first character indicates it is a switch.
53
54    function Is_Front_End_Switch (Switch_Chars : String) return Boolean;
55    --  Returns True iff Switch_Chars represents a front-end switch,
56    --  ie. it starts with -I or -gnat.
57
58    procedure Scan_Front_End_Switches (Switch_Chars : String);
59    procedure Scan_Binder_Switches (Switch_Chars : String);
60    procedure Scan_Make_Switches (Switch_Chars : String);
61    --  Procedures to scan out switches stored in the given string. The first
62    --  character is known to be a valid switch character, and there are no
63    --  blanks or other switch terminator characters in the string, so the
64    --  entire string should consist of valid switch characters, except that
65    --  an optional terminating NUL character is allowed. A bad switch causes
66    --  a fatal error exit and control does not return. The call also sets
67    --  Usage_Requested to True if a ? switch is encountered.
68
69 end Switch;