On Tue, Oct 10, 2023 at 7:30 AM Florian Weimer via Gcc wrote: > Are these code fragments valid C89 code? > > int i1 = 1; > char *p1 = i; > > char c; > char *p2 = &c; > int i2 = p2; > > Or can we generate errors for them even with -std=gnu89? > > (It will still be possible to override this with -fpermissive or > -Wno-int-conversion.) > Given that C89 code is unlikely to be actively maintained, I think we should be permissive by default in that mode. People compiling with an old -std flag are presumably doing it to keep old code compiling, and it seems appropriate to respect that. I'm also (though less strongly) inclined to be permissive in C99 mode, and only introduce the new strictness by default for C11/C17 modes. Jason