]> git.ipfire.org Git - thirdparty/gcc.git/commit
[Ada] No_Task_Parts aspect
authorBob Duff <duff@adacore.com>
Thu, 11 Feb 2021 22:57:53 +0000 (17:57 -0500)
committerPierre-Marie de Rodat <derodat@adacore.com>
Tue, 15 Jun 2021 10:19:35 +0000 (06:19 -0400)
commit811b8aa53649982c352a1d56626e2a5b0b5d2696
tree6db7811d68dae30e8e953ec0ea9302c2266b8726
parent4cee20bb1ebbe66d4065c33da9f8743683228ede
[Ada] No_Task_Parts aspect

gcc/ada/

* aspects.ads (No_Task_Parts): New aspect.
* snames.ads-tmpl: Add the aspect name.
* exp_ch6.adb (Might_Have_Tasks): Return False if this is a
class-wide type whose specific type has No_Task_Parts.
* freeze.adb (Check_No_Parts_Violations): This is an adaptation
of the procedure formerly known as
Check_No_Controlled_Parts_Violations, which now supports both
No_Controlled_Parts and No_Task_Parts.  It takes a parameter
indicating which aspect is being checked.
(Freeze_Entity): Call Check_No_Parts_Violations for both
aspects.
* sem_ch13.adb (Analyze_Aspect_Specifications): The code for
Aspect_No_Controlled_Parts already works as is with
Aspect_No_Task_Parts.
* libgnat/a-iteint.ads: Add No_Task_Parts aspect to the two
iterator iterfaces.
* doc/gnat_rm/implementation_defined_aspects.rst: Add
documentation for the No_Task_Parts aspect.
* gnat_rm.texi: Regenerate.
gcc/ada/aspects.ads
gcc/ada/doc/gnat_rm/implementation_defined_aspects.rst
gcc/ada/exp_ch6.adb
gcc/ada/freeze.adb
gcc/ada/gnat_rm.texi
gcc/ada/libgnat/a-iteint.ads
gcc/ada/sem_ch13.adb
gcc/ada/snames.ads-tmpl