aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/rtsfind.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/rtsfind.adb')
-rw-r--r--gcc/ada/rtsfind.adb13
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ada/rtsfind.adb b/gcc/ada/rtsfind.adb
index 08b6e5e..2723e4f 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;