aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/rtsfind.adb
diff options
context:
space:
mode:
authorGeert Bosch <bosch@gcc.gnu.org>2001-12-19 01:31:42 +0100
committerGeert Bosch <bosch@gcc.gnu.org>2001-12-19 01:31:42 +0100
commit6510f4c98e33e0aac8d5ccb40c680b077ce7aa1b (patch)
treed40702acfcb4ff5d5279688dcc3cee29d5dd3741 /gcc/ada/rtsfind.adb
parentc6d96f20fdf9caad7e3fe1939b78295241df0036 (diff)
downloadgcc-6510f4c98e33e0aac8d5ccb40c680b077ce7aa1b.zip
gcc-6510f4c98e33e0aac8d5ccb40c680b077ce7aa1b.tar.gz
gcc-6510f4c98e33e0aac8d5ccb40c680b077ce7aa1b.tar.bz2
sem_res.adb (Resolve_Selected_Component): do not generate a discriminant check if the selected component is a component...
* sem_res.adb (Resolve_Selected_Component): do not generate a discriminant check if the selected component is a component of the argument of an initialization procedure. * trans.c (tree_transform, case of arithmetic operators): If result type is private, the gnu_type is the base type of the full view, given that the full view itself may be a subtype. * sem_res.adb: Minor reformatting * trans.c (tree_transform, case N_Real_Literal): Add missing third parameter in call to Machine (unknown horrible effects from this omission). * urealp.h: Add definition of Round_Even for call to Machine Add third parameter for Machine * sem_warn.adb (Check_One_Unit): Suppress warnings completely on predefined units in No_Run_Time mode. * misc.c (insn-codes.h): Now include. * a-except.adb: Preparation work for future integration of the GCC 3 exception handling mechanism (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines to factorize previous code sequences and make them externally callable, e.g. for the Ada personality routine when the GCC 3 mechanism is used. (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler): Use the new notification routines. * prj-tree.ads (First_Choice_Of): Document the when others case * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in HI-E mode, in order to support Ravenscar profile properly. * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E mode on 32 bits targets. * fmap.adb: Initial version. * fmap.ads: Initial version. * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped. If search is successfully done, add to mapping. * frontend.adb: Initialize the mapping if a -gnatem switch was used. * make.adb: (Gnatmake): Add new local variable Mapping_File_Name. Create mapping file when using project file(s). Delete mapping file before exiting. * opt.ads (Mapping_File_Name): New variable * osint.adb (Find_File): Use path name found in mapping, if any. * prj-env.adb (Create_Mapping_File): New procedure * prj-env.ads (Create_Mapping_File): New procedure. * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem (Mapping_File) * usage.adb: Add entry for new switch -gnatem. * Makefile.in: Add dependencies for fmap.o. * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit is a package instantiation rewritten as a package body. (Install_Withed_Unit): Undo previous change, now redundant. * layout.adb: (Compute_Length): Move conversion to Unsigned to callers. (Get_Max_Size): Convert Len expression to Unsigned after calls to Compute_Length and Determine_Range. (Layout_Array_Type): Convert Len expression to Unsigned after calls to Compute_Length and Determine_Range. Above changes fix problem with length computation for supernull arrays where Max (Len, 0) wasn't getting applied due to the Unsigned conversion used by Compute_Length. * rtsfind.ads: (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and System.Secondary_Stack. (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar in HI-E mode. Remove unused entity RE_Exception_Data. * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode. * rident.ads (No_Secondary_Stack): New restriction. From-SVN: r48168
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;