diff options
author | Steve Baird <baird@adacore.com> | 2024-08-30 14:13:22 -0700 |
---|---|---|
committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2024-10-08 10:37:12 +0200 |
commit | 4aa366fcb2a1a1d359207c6826f04be696d5e547 (patch) | |
tree | f2195e7e8b8e52a37f9d95c54bb878bbec6c13a4 /libcpp | |
parent | 985b06da41a089ab5d1295177b90813d29032b72 (diff) | |
download | gcc-4aa366fcb2a1a1d359207c6826f04be696d5e547.zip gcc-4aa366fcb2a1a1d359207c6826f04be696d5e547.tar.gz gcc-4aa366fcb2a1a1d359207c6826f04be696d5e547.tar.bz2 |
ada: Legal access discriminant default expression incorrectly rejected
If a limited private partial view of a type has an access discriminant with
a default expression, and if the type (perhaps tagged, perhaps not) is
completed by deriving from an immutably limited type, then the default
discriminant expression should not be rejected.
gcc/ada/ChangeLog:
* sem_ch6.adb (Check_Discriminant_Conformance): In testing whether
a default expression is permitted for an access discriminant, we
need to know whether the discriminated type is immutably limited.
Handle another part of this test that cannot easily be handled in
Sem_Aux.Is_Immutably_Limited. This involves declaring a new local
function, Is_Derived_From_Immutably_Limited_Type.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions