comparison gcc/ada/restrict.ads @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
4 -- -- 4 -- --
5 -- R E S T R I C T -- 5 -- R E S T R I C T --
6 -- -- 6 -- --
7 -- S p e c -- 7 -- S p e c --
8 -- -- 8 -- --
9 -- Copyright (C) 1992-2018, Free Software Foundation, Inc. -- 9 -- Copyright (C) 1992-2019, Free Software Foundation, Inc. --
10 -- -- 10 -- --
11 -- GNAT is free software; you can redistribute it and/or modify it under -- 11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- -- 12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- 13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
305 -- Tests to see if elaboration code is allowed by the current restrictions 305 -- Tests to see if elaboration code is allowed by the current restrictions
306 -- settings. This function is called by Gigi when it needs to define an 306 -- settings. This function is called by Gigi when it needs to define an
307 -- elaboration routine. If elaboration code is not allowed, an error 307 -- elaboration routine. If elaboration code is not allowed, an error
308 -- message is posted on the node given as argument. 308 -- message is posted on the node given as argument.
309 309
310 -- WARNING: There is a matching C declaration of this subprogram in fe.h
311
310 procedure Check_SPARK_05_Restriction 312 procedure Check_SPARK_05_Restriction
311 (Msg : String; 313 (Msg : String;
312 N : Node_Id; 314 N : Node_Id;
313 Force : Boolean := False); 315 Force : Boolean := False);
314 -- Node N represents a construct not allowed in SPARK_05 mode. If this is 316 -- Node N represents a construct not allowed in SPARK_05 mode. If this is
335 -- trampolines, in particular) is allowed by the current restrictions 337 -- trampolines, in particular) is allowed by the current restrictions
336 -- settings. This function is called by Gigi when it needs to generate code 338 -- settings. This function is called by Gigi when it needs to generate code
337 -- that generates a trampoline. If not allowed, an error message is posted 339 -- that generates a trampoline. If not allowed, an error message is posted
338 -- on the node given as argument. 340 -- on the node given as argument.
339 341
342 -- WARNING: There is a matching C declaration of this subprogram in fe.h
343
340 procedure Check_No_Implicit_Heap_Alloc (N : Node_Id); 344 procedure Check_No_Implicit_Heap_Alloc (N : Node_Id);
341 -- Equivalent to Check_Restriction (No_Implicit_Heap_Allocations, N). 345 -- Equivalent to Check_Restriction (No_Implicit_Heap_Allocations, N).
342 -- Provided for easy use by back end, which has to check this restriction. 346 -- Provided for easy use by back end, which has to check this restriction.
343 347
344 procedure Check_No_Implicit_Task_Alloc (N : Node_Id); 348 -- WARNING: There is a matching C declaration of this subprogram in fe.h
345 -- Equivalent to Check_Restriction (No_Implicit_Task_Allocations, N).
346 -- Provided for easy use by back end, which has to check this restriction.
347 349
348 procedure Check_No_Implicit_Protected_Alloc (N : Node_Id); 350 procedure Check_No_Implicit_Protected_Alloc (N : Node_Id);
349 -- Equivalent to: 351 -- Equivalent to:
350 -- Check_Restriction (No_Implicit_Protected_Object_Allocations, N) 352 -- Check_Restriction (No_Implicit_Protected_Object_Allocations, N)
351 -- Provided for easy use by back end, which has to check this restriction. 353 -- Provided for easy use by back end, which has to check this restriction.
354
355 -- WARNING: There is a matching C declaration of this subprogram in fe.h
356
357 procedure Check_No_Implicit_Task_Alloc (N : Node_Id);
358 -- Equivalent to Check_Restriction (No_Implicit_Task_Allocations, N).
359 -- Provided for easy use by back end, which has to check this restriction.
360
361 -- WARNING: There is a matching C declaration of this subprogram in fe.h
352 362
353 procedure Check_Obsolescent_2005_Entity (E : Entity_Id; N : Node_Id); 363 procedure Check_Obsolescent_2005_Entity (E : Entity_Id; N : Node_Id);
354 -- This routine checks if the entity E is one of the obsolescent entries 364 -- This routine checks if the entity E is one of the obsolescent entries
355 -- in Ada.Characters.Handling in Ada 2005 and No_Obsolescent_Features 365 -- in Ada.Characters.Handling in Ada 2005 and No_Obsolescent_Features
356 -- restriction is active. If so an appropriate message is given. N is 366 -- restriction is active. If so an appropriate message is given. N is
391 -- expand an AT END clean up identifier with no exception handler. True 401 -- expand an AT END clean up identifier with no exception handler. True
392 -- will be returned if the configurable run-time is activated, and either 402 -- will be returned if the configurable run-time is activated, and either
393 -- of the restrictions No_Exception_Handlers or No_Exception_Propagation is 403 -- of the restrictions No_Exception_Handlers or No_Exception_Propagation is
394 -- set. In the latter case, the source may contain handlers but they either 404 -- set. In the latter case, the source may contain handlers but they either
395 -- get converted using the local goto transformation or deleted. 405 -- get converted using the local goto transformation or deleted.
406
407 -- WARNING: There is a matching C declaration of this subprogram in fe.h
396 408
397 function No_Exception_Propagation_Active return Boolean; 409 function No_Exception_Propagation_Active return Boolean;
398 -- Test to see if current restrictions settings specify that no 410 -- Test to see if current restrictions settings specify that no
399 -- exception propagation is activated. 411 -- exception propagation is activated.
400 412