Hi Bernd, (Thanks for your interest in the Ada case as well :)
> On 7 Aug 2018, at 15:07, Bernd Edlinger <bernd.edlin...@hotmail.de> wrote: > When I try this example: > > $ cat array9.adb > -- { dg-do run } > > procedure Array9 is > > V1 : String(1..10) := "1234567890"; > V2 : String(1..-1) := ""; > > procedure Compare (S : String) is > begin > if S'Size /= 8*S'Length then > raise Program_Error; > end if; > end; > > begin > Compare (""); > Compare ("1234"); > Compare (V1); > Compare (V2); > end; > > I see that "1234" is put in the merge section, > but V1 is not. Maybe because of the alignment requirement? > > But it sould not be much different from the C test case, > which is now able to merge the non-zero terminated strings. I'm happy to have a look. I'd just like to make sure I'll be looking at the right thing: I would need to start from trunk + the patches you referenced at https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00339.html + the last one you sent at https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00481.html Correct ? Can you then confirm the target triplet and compilation options ? Thanks in advance! Olivier