On Thu, Nov 10, 2022 at 07:25:21PM +0100, Florian Weimer via Gcc wrote: > GCC accepts various conversions between pointers and ints and different > types of pointers by default, issuing a warning. > > I've been reading the (hopefully) relevant partso f the C99 standard, > and it seems to me that C implementations are actually required to > diagnose errors in these cases because they are constraint violations: > the types are not compatible.
It doesn't need to be a hard error, a warning is a diagnostic message, which is enough to diagnose a violation of any syntax rule or constraint. IIRC, the only case where the compiler _must_ emit a hard error is for #error. > Is this interpretation correct? > > Sorry if this questions this is more appropriate for the gcc-help list. > > Thanks, > Florian > Marek