This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This patch adds the missing restrictions No_Local_Timing_Events and No_Specific_Termination_Handlers. It also properly marks No_Asynchronous_Control, No_Unchecked_Conversion, and No_Unchecked_Deallocation as GNAT defined restrictions (they were in the RM previously, but were removed once the No_Dependence restriction was added, but we retain them in GNAT anyway. The following example shows the changes in action (compiled with -gnat05 -gnatj60): 1. pragma Restrictions (No_Local_Timing_Events); 2. pragma Restrictions (No_Specific_Termination_Handlers); 3. pragma Restrictions (No_Implementation_Restrictions); 4. pragma Restrictions (No_Asynchronous_Control); | >>> violation of restriction "No_Implementation_Restrictions" at line 3 5. pragma Restrictions (No_Unchecked_Conversion); | >>> violation of restriction "No_Implementation_Restrictions" at line 3 6. pragma Restrictions (No_Unchecked_Deallocation); | >>> violation of restriction "No_Implementation_Restrictions" at line 3 7. with Ada.Real_Time.Timing_Events; 8. with Ada.Task_Termination; 9. with Ada.Task_Identification; 10. procedure NewRestrictions is 11. E : Ada.Real_Time.Timing_Events.Timing_Event; | >>> violation of restriction "No_Local_Timing_Events" at line 1 12. T : Ada.Task_Identification.Task_Id; 13. H : Ada.Task_Termination.Termination_Handler; 14. begin 15. Ada.Task_Termination.Set_Specific_Handler (T, H); | >>> violation of restriction "No_Specific_Termination_Handlers" at line 2 16. H := Ada.Task_Termination.Specific_Handler (T); | >>> violation of restriction "No_Specific_Termination_Handlers" at line 2 17. end; Tested on i686-pc-linux-gnu, committed on trunk 2008-05-28 Robert Dewar <dewar@adacore.com> * restrict.ads: Add missing restrictions, and properly label all GNAT defined ones * rtsfind.ads: Add entry for Ada_Real_Time.Timing_Events.Timing_Event Add entry for Ada.Task_Termination.Set_Specific_Handler Add entry for Ada.Task_Termination.Specific_Handler * s-rident.ads: Add missing restrictions and properly mark all gnat defined ones * sem_ch3.adb: (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction * sem_res.adb: (Resolve_Call): Check violation of No_Specific_Termination_Handlers * gnat_rm.texi: Add missing restrictions, and properly label all GNAT defined ones
Attachment:
difs
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |