diff options
author | Ed Schonberg <schonberg@adacore.com> | 2018-11-14 11:42:49 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2018-11-14 11:42:49 +0000 |
commit | 076bbec1c8e8be10079027f6519702275ce5f445 (patch) | |
tree | 746d012c47f50c8b65bb1c673a53d322cf363b29 /gcc/tree-data-ref.c | |
parent | 9989a43983116c05aca5c3b5fc30191524b73b94 (diff) | |
download | gcc-076bbec1c8e8be10079027f6519702275ce5f445.zip gcc-076bbec1c8e8be10079027f6519702275ce5f445.tar.gz gcc-076bbec1c8e8be10079027f6519702275ce5f445.tar.bz2 |
[Ada] Problem with boundary case of XOR operation and unnesting
The XOR operation applied to a boolean array whose component type has
the range True .. True raises constraint error. Previous to this patch,
the expansion of the operation could lead to uplevel references that
were not handled properly when unnesting is in effect.
2018-11-14 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* exp_util.ads, exp_util.adb: Change the profile of
Silly_Boolean_Array_Xor_Test, adding a formal that can be a copy
of the right opersnd. This prevents unnesting anomalies when
that operand contains uplevel references.
* exp_ch4.adb (Expand_Boolean_Operation): Use this new profile.
* exp_pakd.adb (Expand_Packed_Boolean_Operator): Ditto.
From-SVN: r266137
Diffstat (limited to 'gcc/tree-data-ref.c')
0 files changed, 0 insertions, 0 deletions