diff options
author | Hristian Kirtchev <kirtchev@adacore.com> | 2019-07-10 09:01:38 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2019-07-10 09:01:38 +0000 |
commit | 5b4ce2a0360a79751107c245c2e44c0932835164 (patch) | |
tree | a336c598eb7e8be8d55e2478f01b8aeea26a05f4 /gcc/cppbuiltin.c | |
parent | 7f8c1cd3675b0e30817d98e52740b918b4e970b0 (diff) | |
download | gcc-5b4ce2a0360a79751107c245c2e44c0932835164.zip gcc-5b4ce2a0360a79751107c245c2e44c0932835164.tar.gz gcc-5b4ce2a0360a79751107c245c2e44c0932835164.tar.bz2 |
[Ada] Spurious error on case expression with limited result
This patch modifies the expansion of case expressions to prevent a
spurious error caused by the use of assignment statements to capture the
result of the case expression when the associated type is limited.
2019-07-10 Hristian Kirtchev <kirtchev@adacore.com>
gcc/ada/
* exp_ch4.adb (Expand_N_Case_Expression): Mark the generated
assignments to the temporary result as being OK because the
expansion of case expressions is correct by construction.
(Is_Copy_Type): Update the predicate to match the comment
within.
gcc/testsuite/
* gnat.dg/limited2.adb, gnat.dg/limited2_pack_1.adb,
gnat.dg/limited2_pack_1.ads, gnat.dg/limited2_pack_2.adb,
gnat.dg/limited2_pack_2.ads: New testcase.
From-SVN: r273336
Diffstat (limited to 'gcc/cppbuiltin.c')
0 files changed, 0 insertions, 0 deletions