This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: converting function pointers to/from object pointers
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: Josef Wolf <jw at raven dot inka dot de>, Jonathan Wakely <jwakely dot gcc at gmail dot com>, gcc-help <gcc-help at gcc dot gnu dot org>
- Date: Mon, 24 Aug 2015 21:50:33 +0100
- Subject: Re: converting function pointers to/from object pointers
- Authentication-results: sourceware.org; auth=none
- References: <20150824144924 dot GI29006 at raven dot inka dot de> <CAH6eHdSRk67RuT5k2egxMUT8RdihcHED2+nrgrBLG5anKEw97Q at mail dot gmail dot com> <20150824152320 dot GB10100 at gate dot crashing dot org> <20150824193319 dot GA29262 at raven dot inka dot de>
On 24 August 2015 at 20:33, Josef Wolf wrote:
> On Mo, Aug 24, 2015 at 10:23:20 -0500, Segher Boessenkool wrote:
>> On Mon, Aug 24, 2015 at 03:53:54PM +0100, Jonathan Wakely wrote:
>> > On 24 August 2015 at 15:49, Josef Wolf wrote:
>
>> > > I have some old code, which worked fine with old GCC releases, but
>> > > fails with current GCC.
>> > >
>> > > With current GCC, I get a warning:
>> > >
>> > > "ISO C forbids conversion of function pointer to object pointer type [-Wpedantic]"
>> > >
>> > > and the system crashes.
>> >
>> > That warning is not likely to be the reason it crashes.
>
> Right. But warnings tend to be there for a reason. So I'm trying to find out
> how to correctly handle this situation.
It's a -Wpedantic warning telling you that you're relying on a
non-portable feature, but it's a feature that GCC supports, so is not
indicative of an actual problem.
It's like using 'long long' in C90 mode, it is not strictly valid
according to the ISO C90 standard, but that doesn't mean the program
will crash when it tries to use 'long long'.
If you don't want such warnings then don't use -Wpedantic.
It's not the reason for the crash.