diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-07-08 10:15:25 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-07-08 10:15:25 +0200 |
commit | 2cbac6c692b9a68e9fedaa193ae756eea8ac23c5 (patch) | |
tree | 50c5674f4b0dc7891f7116f7ee46b8a75f9b73f7 /gcc/ada/lib-writ.adb | |
parent | d7a3e18ca87744c3bd293396952a7ff36412d1ce (diff) | |
download | gcc-2cbac6c692b9a68e9fedaa193ae756eea8ac23c5.zip gcc-2cbac6c692b9a68e9fedaa193ae756eea8ac23c5.tar.gz gcc-2cbac6c692b9a68e9fedaa193ae756eea8ac23c5.tar.bz2 |
[multiple changes]
2013-07-08 Robert Dewar <dewar@adacore.com>
* sem.ads: Minor comment updates.
* s-restri.ads, exp_ch6.adb, lib-load.ads, exp_ch3.adb, sem_ch10.adb:
Minor reformatting.
2013-07-08 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
for Restriction_Set.
* gnat_rm.texi: Add missing menu entry for Attribute Ref Add
documentation for attribute Restriction_Set.
* lib-writ.adb (Write_With_Lines): Generate special W lines
for Restriction_Set.
* lib-writ.ads: Document special use of W lines for
Restriction_Set.
* lib.ads (Restriction_Set_Dependences): New table.
* par-ch4.adb (Is_Parameterless_Attribute): Add Loop_Entry to
list (Scan_Name_Extension_Apostrophe): Remove kludge test for
Loop_Entry (Scan_Name_Extension_Apostrophe): Handle No_Dependence
for Restricton_Set.
* restrict.adb (Check_SPARK_Restriction): Put in Alfa order
(OK_No_Dependence_Unit_Name): New function.
* restrict.ads (OK_No_Dependence_Unit_Name): New function.
* rtsfind.adb: Minor reformatting Minor code reorganization.
* sem_attr.adb (Analyze_Attribute): Add processing for
Restriction_Set.
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
Remove Check_Unit_Name and use new function
OK_No_Dependence_Unit_Name instead.
* sinfo.ads: Minor comment updates.
* snames.ads-tmpl: Add entry for Restriction_Set attribute.
2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Apply_Accessibility_Check): Remove local constant
Pool_Id and local variable Free_Stmt. Do not deallocate the faulty
object as "free" is not available on all targets/profiles.
2013-07-08 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): Handle
Storage_Size aspect for task type in case discriminant is
referenced.
(Analyze_Attribute_Definition_Clause): Do not flag Storage_Size
attribute definition clause as obsolescent if from aspect.
From-SVN: r200771
Diffstat (limited to 'gcc/ada/lib-writ.adb')
-rw-r--r-- | gcc/ada/lib-writ.adb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/ada/lib-writ.adb b/gcc/ada/lib-writ.adb index e5c0912..c95b9dc 100644 --- a/gcc/ada/lib-writ.adb +++ b/gcc/ada/lib-writ.adb @@ -882,6 +882,38 @@ package body Lib.Writ is Write_Info_EOL; end loop; + + -- Finally generate the special lines for cases of Restriction_Set + -- with No_Dependence and no restriction present. + + declare + Unam : Unit_Name_Type; + + begin + for J in Restriction_Set_Dependences.First .. + Restriction_Set_Dependences.Last + loop + Unam := Restriction_Set_Dependences.Table (J); + + -- Don't need an entry if already in the unit table + + for U in 0 .. Last_Unit loop + if Unit_Name (U) = Unam then + goto Continue; + end if; + end loop; + + -- Otherwise generate the entry + + Write_Info_Initiate ('W'); + Write_Info_Char (' '); + Write_Info_Name (Unam); + Write_Info_EOL; + + <<Continue>> + null; + end loop; + end; end Write_With_Lines; -- Start of processing for Write_ALI |