Commit 7486d8e0 by Arnaud Charlet

g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part of any…

g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part of any alias or prefix but having attached...

2008-08-20  Jerome Lambourg  <lambourg@adacore.com>

	* g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
	of any alias or prefix but having attached parameters (as \"-O2\").

From-SVN: r139314
parent 26a29f01
2008-08-20 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
gprbuild when casing is MixedCase, whatever the casing of the letters
in the file name.
2008-08-20 Gary Dismukes <dismukes@adacore.com>
* exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
creating dummy init proc.
(Requires_Init_Proc): Return False in the case No_Default_Initialization
is in force and the type does not have associated default
initialization. Move test of Is_Public (with tests of restrictions
No_Initialize_Scalars and No_Default_Initialization) to end, past tests
for default initialization.
2008-08-20 Jerome Lambourg <lambourg@adacore.com>
* g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
of any alias or prefix but having attached parameters (as \"-O2\").
2008-08-20 Robert Dewar <dewar@adacore.com>
* s-fileio.adb: Minor reformatting
......@@ -1566,6 +1566,50 @@ package body GNAT.Command_Line is
end loop;
end if;
-- Determine if the added switch is a known switch with parameter
-- attached.
if Parameter = ""
and then Cmd.Config /= null
and then Cmd.Config.Switches /= null
then
for S in Cmd.Config.Switches'Range loop
declare
Sw : constant String :=
Actual_Switch (Cmd.Config.Switches (S).all);
Last : Natural;
Param : Natural;
begin
if Switch'Length >= Sw'Length
-- Verify that switch starts with Sw
and then Looking_At (Switch, Switch'First, Sw)
then
Param := Switch'First + Sw'Length - 1;
Last := Param;
if Can_Have_Parameter (Cmd.Config.Switches (S).all) then
while Last < Switch'Last
and then Switch (Last + 1) in '0' .. '9'
loop
Last := Last + 1;
end loop;
end if;
-- If the full Switch is a known switch with attached
-- parameter, then we use this parameter in the callback.
if Last = Switch'Last then
Callback
(Switch (Switch'First .. Param),
Switch (Param + 1 .. Last));
return;
end if;
end if;
end;
end loop;
end if;
Callback (Switch, Parameter);
end For_Each_Simple_Switch;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment