As part of the work on changing side-effects removal in SPARK, a special case was introduced to generate an Itype_Reference for Itypes in slices. This was based on a misunderstanding of existing checks for bounds when analyzing slices. These Itype_Reference are actually not needed to get the corresponding run-time checks in GNATprove, and are actually harmful in some cases (inside quantified expressions) as the insertion point for the Itype_Reference ends up being outside of the quantifier scope, leading to unprovable checks. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_res.adb (Set_Slice_Subtype): Revert special-case introduced previously, which is not needed as Itypes created for slices are precisely always used.