diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-07-29 13:00:08 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-07-29 13:00:08 +0000 |
commit | 99ed4b4ce96bec3446145e7c97dd173e7e8edd82 (patch) | |
tree | 3e0836e2432482756fcd199eecdab0169bd974f4 /gcc/ada/sem_ch9.adb | |
parent | cda40848caccff3268bd45e8e5ef6211c1fb92ac (diff) | |
download | gcc-99ed4b4ce96bec3446145e7c97dd173e7e8edd82.tar.gz |
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document pragma Unevaluated_Use_Of_Old.
* opt.adb: Handle Uneval_Old.
* opt.ads (Uneval_Old, Uneval_Old_Config): New variables.
* par-prag.adb: Add dummy entry for pragma Unevaluated_Use_Of_Old.
* sem.ads (Save_Uneval_Old): New field in Scope_Stack_Entry.
* sem_attr.adb (Uneval_Old_Msg): New procedure.
* sem_ch8.adb (Push_Scope): Save Uneval_Old.
(Pop_Scope): Restore Uneval_Old.
* sem_prag.adb (Analyze_Pragma, case Unevaluated_Use_Of_Old):
Implemented.
* snames.ads-tmpl: Add entries for pragma Unevaluated_Use_Of_Old
Add entries for Name_Warn, Name_Allow.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213160 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_ch9.adb')
-rw-r--r-- | gcc/ada/sem_ch9.adb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch9.adb b/gcc/ada/sem_ch9.adb index 00f9abe5897..82fa38a9917 100644 --- a/gcc/ada/sem_ch9.adb +++ b/gcc/ada/sem_ch9.adb @@ -1912,6 +1912,11 @@ package body Sem_Ch9 is or else Has_Task (Etype (E)) then Set_Has_Task (Current_Scope); + + elsif Is_Protected_Type (Etype (E)) + or else Has_Protected (Etype (E)) + then + Set_Has_Protected (Current_Scope); end if; Next_Entity (E); @@ -1958,6 +1963,7 @@ package body Sem_Ch9 is Set_Ekind (T, E_Protected_Type); Set_Is_First_Subtype (T, True); + Set_Has_Protected (T, True); Init_Size_Align (T); Set_Etype (T, T); Set_Has_Delayed_Freeze (T, True); |