Marc 'HE' Brockschmidt <[EMAIL PROTECTED]> quotes: > | cc1: warnings being treated as errors > | /build/buildd/elinks-0.12~20080127/src/intl/gettext/dcigettext.c: In > function '_nl_find_msg': > | /build/buildd/elinks-0.12~20080127/src/intl/gettext/dcigettext.c:745: > warning: cast from pointer to integer of different size > | /build/buildd/elinks-0.12~20080127/src/intl/gettext/dcigettext.c:746: > warning: cast from pointer to integer of different size
I see amd64 has given these warnings already in ELinks 0.11.3,
but there they didn't break the build, because configure was not
run with --enable-debug and so it did not add -Werror to $CFLAGS.
Please try the appended patch.
There has been a similar warning in src/network/ssl/socket.c, at
the gnutls_transport_set_ptr call. That could also be silenced
with an extra cast, but this would in principle also require
changing the code that converts the pointer back to an integer,
and I can't find where that happens, so I'm not changing it now.
Perhaps there is no such code and the call could just be removed.
Debian bug 464384: fix cast warning in alignof
---
commit 3b93dcc4726d4363215233a780df34772d76ee09
tree 3b3b3712e96c7115d44f180758b71ee95aa43b59
parent a2c7af990b11e1772b9f3e26c372213aa0fb8b03
author Kalle Olavi Niemitalo <[EMAIL PROTECTED]> Sat, 09 Feb 2008 00:24:45 +0200
committer Kalle Olavi Niemitalo <[EMAIL PROTECTED]> Sat, 09 Feb 2008 00:24:45
+0200
NEWS | 1 +
src/osdep/generic.h | 2 +-
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/NEWS b/NEWS
index 06215f0..ac4c337 100644
--- a/NEWS
+++ b/NEWS
@@ -131,6 +131,7 @@ Miscellaneous:
Build system and compile-time errors (ignore if you don't build ELinks):
+* serious Debian bug 464384: fix cast warning in alignof
* bug 725: fix version checking for Ruby in 'configure'
* enhancement: if make -k was used and a sub-Make fails, build the
rest before propagating
diff --git a/src/osdep/generic.h b/src/osdep/generic.h
index 9223cd5..357b602 100644
--- a/src/osdep/generic.h
+++ b/src/osdep/generic.h
@@ -102,7 +102,7 @@ safe_write(int fd, const void *buf, size_t count) {
/* Alignment of types. */
#define alignof(TYPE) \
- ((int) &((struct { unsigned char dummy1; TYPE dummy2; } *) 0)->dummy2)
+ offsetof(struct { unsigned char dummy1; TYPE dummy2; }, dummy2)
/* Using this macro to copy structs is both faster and safer than
* memcpy(destination, source, sizeof(source)). Please, use this macro instead
pgpofbjN5hgWE.pgp
Description: PGP signature

