On 07/30/18 01:05, Martin Sebor wrote: > On 07/29/2018 04:56 AM, Bernd Edlinger wrote: >> Hi! >> >> This fixes two wrong code bugs where string_constant >> returns over length string constants. Initializers >> like that are rejected in C++, but valid in C. > > If by valid you are referring to declarations like the one in > the added test: > > const char a[2][3] = { "1234", "xyz" }; > > then (as I explained), the excess elements in "1234" make > the char[3] initialization and thus the test case undefined. > I have resolved bug 86711 as invalid on those grounds. > > Bug 86711 has a valid test case that needs to be fixed, along > with bug 86688 that I raised for the same underlying problem: > considering the excess nul as part of the string. As has been > discussed in a separate bug, rather than working around > the excessively long strings in the middle-end, it would be > preferable to avoid creating them to begin with. > > I'm already working on a fix for bug 86688, in part because > I introduced the code change and also because I'm making other > changes in this area -- bug 86552. Both of these in response > to your comments. >
Sorry, I must admit, I have completely lost track on how many things you are trying to work in parallel. Nevertheless I started to review you pr86552 patch here: https://gcc.gnu.org/ml/gcc-patches/2018-07/msg01593.html But so far you did not respond to me. Well actually I doubt your patch does apply to trunk, maybe you start to re-base that one, and post it again instead? Thanks Bernd.