]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Clean up slice-of-component optimization
authorBob Duff <duff@adacore.com>
Wed, 28 Sep 2022 15:24:49 +0000 (11:24 -0400)
committerMarc Poulhiès <poulhies@adacore.com>
Thu, 6 Oct 2022 09:22:48 +0000 (11:22 +0200)
commit3e7ff131f47f2a07c497af1c5b2df6bf1ba842fb
tree49f7bc25bda32d37fbc73d4d9827ad264ed07936
parent5a841af88be1ce4ff1c69cbb76a5033f2ceec3d6
ada: Clean up slice-of-component optimization

In the recursive case of Volatile_Or_Independent = False for array
types, fall through into later checks, so for example we check
the type of the prefix of a slice. The pattern here is "return True
in certain cases, otherwise fall through into the final 'return False'".

Remove check for "Ndim = 1"; if Slices is True, then the number of
dimensions is necessarily 1, because Ada doesn't have multi-dimensional
slices.

gcc/ada/

* exp_ch5.adb
(Expand_Assign_Array_Loop_Or_Bitfield): Minor cleanups.
gcc/ada/exp_ch5.adb