On 08/07/18 18:40, Olivier Hainque wrote: > 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 ? >
Yes, Please use the latest patch patch here: [PATCH] Check the STRING_CSTs in varasm.c https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00361.html There is also a Fortran patch: [PATCH] Create internally nul terminated string literals in fortan FE https://gcc.gnu.org/ml/fortran/2018-08/msg00000.html And a JIT FE patch: [PATCH] Fix not properly nul-terminated string constants in JIT https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00370.html My host triplet is x86_64-pc-linux-gnu (I let config.guess determine it). I use gmp, mpfr, mpc, isl in-tree. And configure simply with ../gcc-trunk/configure --prefix=/home/ed/gnu/install --enable-languages=all Thanks Bernd. > Can you then confirm the target triplet and > compilation options ? > > Thanks in advance! > > Olivier > > > >