This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: While compiling binutils-2.17, i get the error "dereferencing type-punned pointer will break strict-aliasing rules"
- From: Nick Clifton <nickc at redhat dot com>
- To: Mayank Kumar <mayank at microsoft dot com>
- Cc: "binutils at sources dot redhat dot com" <binutils at sources dot redhat dot com>
- Date: Mon, 18 Jun 2007 16:41:30 +0100
- Subject: Re: While compiling binutils-2.17, i get the error "dereferencing type-punned pointer will break strict-aliasing rules"
- References: <76EBE649FB0E0E4DA883B5840459059F1610D18010@AA-EXMSG-C412.southpacific.corp.microsoft.com>
Hi Mayank,
(struct bfd_link_hash_entry **) &h))) -->The error points to this line in all places.
The problem is that variable h is of type struct coff_link_hash_entry *, whereas the
function pointer expects a variable of type struct bfd_link_hash_entry *.
Does anybody know how to fix the above error.
This is not an error. The coff_link_hash_entry structure includes a
bfd_link_hash_entry structure as its first field. (See bfd/libcoff.h).
Hence it is OK to cast the pointer in this way.
There may be more elegant ways to handle this sort of thing, but the
code does work.
Cheers
Nick