[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
Showing
gcc/testsuite/gnat.dg/limited2.adb
0 → 100644
gcc/testsuite/gnat.dg/limited2_pack_1.adb
0 → 100644
gcc/testsuite/gnat.dg/limited2_pack_1.ads
0 → 100644
gcc/testsuite/gnat.dg/limited2_pack_2.adb
0 → 100644
gcc/testsuite/gnat.dg/limited2_pack_2.ads
0 → 100644
Please
register
or
sign in
to comment