summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2004-02-18 01:15:34 +0000
committerEric Andersen <andersen@codepoet.org>2004-02-18 01:15:34 +0000
commit377c7157a8802c289c5560f1a2ecd1030d571e7d (patch)
treedbfc05a518799d315e5a9bc070d6a408287a4691 /include
parentc56735672c2f771e0c9d87480c85b72aa99aceec (diff)
Alexandre Oliva writes:
While testing the FR-V code with GCC mainline, I ran into some problems in the RPC code. It relies on a GCC extension that is no longer available, namely, the result of a cast is no longer considered an lvalue. This patch enables the code to compile. I haven't been able to test RPC though, especially in a multi-threaded environment.
Diffstat (limited to 'include')
-rw-r--r--include/rpc/xdr.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/rpc/xdr.h b/include/rpc/xdr.h
index 83707cc19..6eaf958bb 100644
--- a/include/rpc/xdr.h
+++ b/include/rpc/xdr.h
@@ -274,9 +274,9 @@ struct xdr_discrim
* in the RPC code will not work on 64bit Solaris platforms !
*/
#define IXDR_GET_LONG(buf) \
- ((long)ntohl((u_long)*__extension__((u_int32_t*)(buf))++))
+ ((long)ntohl((u_long)*(*(u_int32_t**)&(buf))++))
#define IXDR_PUT_LONG(buf, v) \
- (*__extension__((u_int32_t*)(buf))++ = (long)htonl((u_long)(v)))
+ (*(*(u_int32_t**)&(buf))++ = (long)htonl((u_long)(v)))
#define IXDR_GET_U_LONG(buf) ((u_long)IXDR_GET_LONG(buf))
#define IXDR_PUT_U_LONG(buf, v) IXDR_PUT_LONG(buf, (long)(v))