aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/switch-b.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/switch-b.adb')
-rw-r--r--gcc/ada/switch-b.adb19
1 files changed, 18 insertions, 1 deletions
diff --git a/gcc/ada/switch-b.adb b/gcc/ada/switch-b.adb
index b26c583..71ee61a 100644
--- a/gcc/ada/switch-b.adb
+++ b/gcc/ada/switch-b.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2015, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2016, 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- --
@@ -28,6 +28,7 @@ with Debug; use Debug;
with Osint; use Osint;
with Opt; use Opt;
+with System.OS_Lib; use System.OS_Lib;
with System.WCh_Con; use System.WCh_Con;
package body Switch.B is
@@ -252,6 +253,22 @@ package body Switch.B is
Ptr := Ptr + 1;
end if;
+ -- Processing for f switch
+
+ when 'f' =>
+ if Ptr = Max then
+ Bad_Switch (Switch_Chars);
+ end if;
+
+ Force_Elab_Order_File :=
+ new String'(Switch_Chars (Ptr + 1 .. Max));
+
+ Ptr := Max + 1;
+
+ if not Is_Read_Accessible_File (Force_Elab_Order_File.all) then
+ Osint.Fail (Force_Elab_Order_File.all & ": file not found");
+ end if;
+
-- Processing for F switch
when 'F' =>