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