This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: RFC: Support non-standard extension (call via casted function pointer)
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Andreas Schwab <schwab at linux-m68k dot org>
- Cc: gcc at gcc dot gnu dot org, Jeff Law <law at redhat dot com>, Florian Weimer <fweimer at redhat dot com>, Richard Biener <richard dot guenther at gmail dot com>, Thorsten Otto <halgara at yahoo dot de>, Michael Karcher <debian at mkarcher dot dialup dot fu-berlin dot de>, John Paul Adrian Glaubitz <glaubitz at physik dot fu-berlin dot de>, Debian m68k <debian-68k at lists dot debian dot org>, Matthias Klose <doko at debian dot org>
- Date: Sat, 30 Jan 2016 11:20:33 +0100
- Subject: Re: RFC: Support non-standard extension (call via casted function pointer)
- Authentication-results: sourceware.org; auth=none
- References: <56A7C307 dot 3010701 at mkarcher dot dialup dot fu-berlin dot de> <56AC3925 dot 1080205 at redhat dot com> <m2h9hv1kg0 dot fsf at linux-m68k dot org>
> See PR48835. The Ada situation is even worse, it doesn't even try to
> cast the (wrongly declared) function to the correct type before calling
> it.
How could it, since it doesn't know the correct type of the function? The way
out is to change the type of the function on the Ada side, as explained in:
https://gcc.gnu.org/ml/gcc-patches/2012-02/msg00556.html
so this is largely unrelated to the problem at stake in this thread.
As for PR ada/48835, the incentive to bite the bullet was low until recently,
but it turns out that the polymorphism pointer/address is also problematic for
LTO on all architectures so we'll probably give it a try for GCC 7.
--
Eric Botcazou