diff options
author | Hristian Kirtchev <kirtchev@adacore.com> | 2018-05-22 13:17:22 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2018-05-22 13:17:22 +0000 |
commit | 80f0c69c2c698023f76d0e5db7e2b42e1fd7b637 (patch) | |
tree | bd5e35605e38e6b79c8cb9bf7ab8721a6bbc1cdf /gcc/ada/atree.h | |
parent | 440ed9f839a068948c72441eda2ef3da515f4656 (diff) | |
download | gcc-80f0c69c2c698023f76d0e5db7e2b42e1fd7b637.zip gcc-80f0c69c2c698023f76d0e5db7e2b42e1fd7b637.tar.gz gcc-80f0c69c2c698023f76d0e5db7e2b42e1fd7b637.tar.bz2 |
[Ada] Missing error on illegal categorization dependency
This patch modifies the analysis of subprogram declarations to ensure that an
aspect which is converted into a categorization pragma is properly taken into
account when verifying the dependencies of a subprogram unit.
------------
-- Source --
------------
-- pack.ads
package Pack is end Pack;
-- proc1.ads
with Pack;
procedure Proc1 with Pure;
-- proc2.ads
with Pack;
procedure Proc2;
pragma Pure (Proc2);
----------------------------
-- Compilation and output --
----------------------------
$ gcc -c proc1.ads
$ gcc -c proc2.ads
proc1.ads:1:06: cannot depend on "Pack" (wrong categorization)
proc1.ads:1:06: pure unit cannot depend on non-pure unit
proc2.ads:1:06: cannot depend on "Pack" (wrong categorization)
proc2.ads:1:06: pure unit cannot depend on non-pure unit
2018-05-22 Hristian Kirtchev <kirtchev@adacore.com>
gcc/ada/
* sem_ch6.adb (Analyze_Subprogram_Declaration): Set the proper
categorization of the unit after processing the aspects in case one of
its aspects is converted into a categorization pragma.
From-SVN: r260506
Diffstat (limited to 'gcc/ada/atree.h')
0 files changed, 0 insertions, 0 deletions