1------------------------------------------------------------------------------ 2-- -- 3-- GNAT COMPILER COMPONENTS -- 4-- -- 5-- S W I T C H - C -- 6-- -- 7-- S p e c -- 8-- -- 9-- Copyright (C) 2001-2011, Free Software Foundation, Inc. -- 10-- -- 11-- GNAT is free software; you can redistribute it and/or modify it under -- 12-- terms of the GNU General Public License as published by the Free Soft- -- 13-- ware Foundation; either version 3, or (at your option) any later ver- -- 14-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 15-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- 16-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- 17-- for more details. You should have received a copy of the GNU General -- 18-- Public License distributed with GNAT; see file COPYING3. If not, go to -- 19-- http://www.gnu.org/licenses for a complete copy of the license. -- 20-- -- 21-- GNAT was originally developed by the GNAT team at New York University. -- 22-- Extensive contributions were provided by Ada Core Technologies Inc. -- 23-- -- 24------------------------------------------------------------------------------ 25 26-- This package scans front end switches. Note that the body of Usage must be 27-- be coordinated with the switches that are recognized by this package. 28 29-- The Usage package also acts as the official documentation for the switches 30-- that are recognized. In addition, package Debug documents the otherwise 31-- undocumented debug switches that are also recognized. 32 33with System.Strings; use System.Strings; 34 35package Switch.C is 36 37 procedure Scan_Front_End_Switches 38 (Switch_Chars : String; 39 Args : String_List; 40 Arg_Rank : Positive); 41 -- Procedures to scan out front end switches stored in the given string. 42 -- The first character is known to be a valid switch character, and there 43 -- are no blanks or other switch terminator characters in the string, so 44 -- the entire string should consist of valid switch characters, except that 45 -- an optional terminating NUL character is allowed. A bad switch causes 46 -- a fatal error exit and control does not return. The call also sets 47 -- Usage_Requested to True if a switch -gnath is encountered. 48 -- 49 -- Args is the full list of command line arguments. Arg_Rank is the 50 -- position of the switch in Args. It is used for certain switches -gnatx 51 -- to check if a subsequent switch -gnat-x cancels the switch -gnatx. 52 53end Switch.C; 54