gcc 4.2 more strict check for "function called through a non-compatible type"
Andrew Haley
aph@redhat.com
Tue Jul 4 17:51:00 GMT 2006
Ian Lance Taylor writes:
> Yuri Pudgorodsky <yur@ptci.ru> writes:
>
> > Compiling openssl-0.9.8b with gcc-4.2 snapshots, I found gcc 4.2
> > fortifies its check for function pointer conversion and generates
> > abort for PEM_read_X509_AUX() and similar wrappers.
>
> Personally speaking, I agree with you that the compiler should issue a
> warning and then go ahead and compile the call. I don't think we gain
> anything useful by compiling a runtime abort in this case. The spirit
> of C is to let the user shoot themselves in the foot if they really
> want to.
>
> Any contrary opinions?
The answer is here:
keating> Because if you *do* try to inline the call, you will get an ICE.
We could allow this iff someone fixes the ICE. But we've provided a
union cast to do the work if it's *really* needed; insn't that enough?
Andrew.
More information about the Gcc
mailing list