This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r128791 - in /trunk/gcc/ada: g-comlin.adb g-com...
- From: charlet at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 26 Sep 2007 10:44:08 -0000
- Subject: r128791 - in /trunk/gcc/ada: g-comlin.adb g-com...
Author: charlet
Date: Wed Sep 26 10:44:07 2007
New Revision: 128791
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128791
Log:
2007-09-26 Emmanuel Briot <briot@adacore.com>
* g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
Command_Line): New types
(Define_Alias, Define_Prefix, Free): New subprograms. These provide
support for defining how switches can be grouped on a command line (as
is the case for -gnatw... for GNAT), and how simple switches can be
used as aliases for more complex switches (-gnatwa is same as
-gnatwbcef...)
(Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
(Start, Current_*): New subprograms
Added support for parsing an array of strings in addition to the real
command line.
(Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
be moved from the body to the private part of the spec.
(*): All subprograms now have an extra parameter with default value to
specify which parser should be used. For backward compatibility, it
defaults to parsing the command line of the application. They were also
modified to properly handle cases where each of the argument does not
start at index 1 (which is always true for Ada.Command_Line, but not
when processing any Argument_List).
(Free): New subprogram
(Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
Argument): New subprograms
(Switch_Parameter_Type): New enum, which clarifies the code. The extra
special characters like ':', '=',... are now handled in a single place,
which makes the code more extensible eventually.
(Getopt, Full_Switch): When the switch was returned as part of the
special character '*', make sure it is prepended by the switch character
('-' in general), so that the application knows whether "foo" or "-foo"
was specified on the command line.
Modified:
trunk/gcc/ada/g-comlin.adb
trunk/gcc/ada/g-comlin.ads