exp_util.adb
463 KB
-
[Ada] Problem with boundary case of XOR operation and unnesting · 076bbec1
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
Ed Schonberg committed