mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-15 22:51:38 +08:00
restrict.ads, [...] (Check_Implicit_Dynamic_Code_Allowed): New procedure to be called from the back end to check the...
2007-12-06 Bob Duff <duff@adacore.com> * restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New procedure to be called from the back end to check the No_Implicit_Dynamic_Code restriction. From-SVN: r130847
This commit is contained in:
parent
6c1f47ee4b
commit
cadf64d1d5
@ -101,19 +101,18 @@ package body Restrict is
|
||||
|
||||
procedure Check_Elaboration_Code_Allowed (N : Node_Id) is
|
||||
begin
|
||||
-- Avoid calling Namet.Unlock/Lock except when there is an error.
|
||||
-- Even in the error case it is a bit dubious, either gigi needs
|
||||
-- the table locked or it does not! ???
|
||||
|
||||
if Restrictions.Set (No_Elaboration_Code)
|
||||
and then not Suppress_Restriction_Message (N)
|
||||
then
|
||||
Namet.Unlock;
|
||||
Check_Restriction (No_Elaboration_Code, N);
|
||||
Namet.Lock;
|
||||
end if;
|
||||
Check_Restriction (No_Elaboration_Code, N);
|
||||
end Check_Elaboration_Code_Allowed;
|
||||
|
||||
-----------------------------------------
|
||||
-- Check_Implicit_Dynamic_Code_Allowed --
|
||||
-----------------------------------------
|
||||
|
||||
procedure Check_Implicit_Dynamic_Code_Allowed (N : Node_Id) is
|
||||
begin
|
||||
Check_Restriction (No_Implicit_Dynamic_Code, N);
|
||||
end Check_Implicit_Dynamic_Code_Allowed;
|
||||
|
||||
----------------------------------
|
||||
-- Check_No_Implicit_Heap_Alloc --
|
||||
----------------------------------
|
||||
|
@ -207,6 +207,13 @@ package Restrict is
|
||||
-- an elaboration routine. If elaboration code is not allowed, an error
|
||||
-- message is posted on the node given as argument.
|
||||
|
||||
procedure Check_Implicit_Dynamic_Code_Allowed (N : Node_Id);
|
||||
-- Tests to see if dynamic code generation (dynamically generated
|
||||
-- trampolines, in particular) is allowed by the current restrictions
|
||||
-- settings. This function is called by Gigi when it needs to generate code
|
||||
-- that generates a trampoline. If not allowed, an error message is posted
|
||||
-- on the node given as argument.
|
||||
|
||||
procedure Check_No_Implicit_Heap_Alloc (N : Node_Id);
|
||||
-- Equivalent to Check_Restriction (No_Implicit_Heap_Allocations, N).
|
||||
-- Provided for easy use by back end, which has to check this restriction.
|
||||
|
Loading…
x
Reference in New Issue
Block a user