diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-08-20 17:30:04 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-08-20 17:30:04 +0200 |
commit | 7486d8e0c87a721a4b04229d1a3c3638d53d870c (patch) | |
tree | 7cd84483c9de707e504b57f3b06cfea1f6a94481 | |
parent | 26a29f015c8fcd83cd199443745c9dfd462913bd (diff) | |
download | gcc-7486d8e0c87a721a4b04229d1a3c3638d53d870c.zip gcc-7486d8e0c87a721a4b04229d1a3c3638d53d870c.tar.gz gcc-7486d8e0c87a721a4b04229d1a3c3638d53d870c.tar.bz2 |
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
-rw-r--r-- | gcc/ada/ChangeLog | 21 | ||||
-rw-r--r-- | gcc/ada/g-comlin.adb | 44 |
2 files changed, 65 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index dde77de..b01ef10 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,24 @@ +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 diff --git a/gcc/ada/g-comlin.adb b/gcc/ada/g-comlin.adb index d37d06b..e307041 100644 --- a/gcc/ada/g-comlin.adb +++ b/gcc/ada/g-comlin.adb @@ -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; |