diff options
Diffstat (limited to 'gcc/ada/switch-b.adb')
-rw-r--r-- | gcc/ada/switch-b.adb | 19 |
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' => |