diff options
Diffstat (limited to 'gcc/ada/rtsfind.adb')
-rw-r--r-- | gcc/ada/rtsfind.adb | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ada/rtsfind.adb b/gcc/ada/rtsfind.adb index 08b6e5e2a18..2723e4f79c6 100644 --- a/gcc/ada/rtsfind.adb +++ b/gcc/ada/rtsfind.adb @@ -582,6 +582,8 @@ package body Rtsfind is Pkg_Ent : Entity_Id; Ename : Name_Id; + Ravenscar : constant Boolean := Restricted_Profile; + procedure Check_RPC; -- Reject programs that make use of distribution features not supported -- on the current target. On such targets (VMS, Vxworks, others?) we @@ -712,13 +714,17 @@ package body Rtsfind is -- Start of processing for RTE begin - -- Check violation of no run time mode + -- Check violation of no run time and ravenscar mode if No_Run_Time and then not OK_To_Use_In_No_Run_Time_Mode (U_Id) then - Disallow_In_No_Run_Time_Mode (Current_Error_Node); - return Empty; + if not Ravenscar + or else not OK_To_Use_In_Ravenscar_Mode (U_Id) + then + Disallow_In_No_Run_Time_Mode (Current_Error_Node); + return Empty; + end if; end if; -- Doing a rtsfind in system.ads is special, as we cannot do this @@ -843,6 +849,7 @@ package body Rtsfind is and then not Is_Predefined_File_Name (Unit_File_Name (Get_Source_Unit (Current_Error_Node))) + and then not Ravenscar then Disallow_In_No_Run_Time_Mode (Current_Error_Node); end if; |