aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/switch-m.adb46
1 files changed, 45 insertions, 1 deletions
diff --git a/gcc/ada/switch-m.adb b/gcc/ada/switch-m.adb
index 5215fe1..aeb33e7 100644
--- a/gcc/ada/switch-m.adb
+++ b/gcc/ada/switch-m.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2004 Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2005 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -404,6 +404,50 @@ package body Switch.M is
end if;
end loop;
+ -- -gnat95 -gnat05
+
+ when '0' | '9' =>
+ Last_Stored := First_Stored;
+ Storing (Last_Stored) := C;
+ Ptr := Ptr + 1;
+
+ if Ptr /= Max or else Switch_Chars (Ptr) /= '5' then
+
+ -- Invalid switch
+
+ Last := 0;
+ return;
+
+ else
+ Last_Stored := Last_Stored + 1;
+ Storing (Last_Stored) := '5';
+ Add_Switch_Component
+ (Storing (Storing'First .. Last_Stored));
+ Ptr := Ptr + 1;
+ end if;
+
+ -- -gnat83
+
+ when '8' =>
+ Last_Stored := First_Stored;
+ Storing (Last_Stored) := '8';
+ Ptr := Ptr + 1;
+
+ if Ptr /= Max or else Switch_Chars (Ptr) /= '3' then
+
+ -- Invalid switch
+
+ Last := 0;
+ return;
+
+ else
+ Last_Stored := Last_Stored + 1;
+ Storing (Last_Stored) := '3';
+ Add_Switch_Component
+ (Storing (Storing'First .. Last_Stored));
+ Ptr := Ptr + 1;
+ end if;
+
-- Not a valid switch
when others =>