yann@1: To: Glibc hackers yann@1: Subject: iconvdata: Get rid of lvalue casts yann@1: From: Andreas Jaeger yann@1: Date: Sun, 07 Mar 2004 08:29:47 +0100 yann@1: Message-ID: yann@1: yann@1: Here's one more patch to get rid of lvalues to make GCC 3.5 happy. It yann@1: generates the same code as before on my machine and passes the yann@1: testsuite. yann@1: yann@1: Ok to commit? yann@1: yann@1: Andreas yann@1: yann@1: 2004-03-07 Andreas Jaeger yann@1: yann@1: * iconvdata/iso-2022-cn-ext.c (BODY): Remove cast used as lvalue. yann@1: * iconvdata/tcvn5712-1.c (EMIT_SHIFT_TO_INIT): Likewise. yann@1: * iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise. yann@1: * iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise. yann@1: * iconvdata/tscii.c (EMIT_SHIFT_TO_INIT): Likewise. yann@1: yann@1: [rediffed to make crosstool happy] yann@1: yann@1: diff -ur glibc-2.3.3.orig/iconvdata/euc-jisx0213.c glibc-2.3.3.new/iconvdata/euc-jisx0213.c yann@1: --- glibc-2.3.3.orig/iconvdata/euc-jisx0213.c Mon Dec 2 14:07:54 2002 yann@1: +++ glibc-2.3.3.new/iconvdata/euc-jisx0213.c Fri Mar 18 09:29:22 2005 yann@1: @@ -1,5 +1,5 @@ yann@1: /* Conversion from and to EUC-JISX0213. yann@1: - Copyright (C) 2002 Free Software Foundation, Inc. yann@1: + Copyright (C) 2002, 2004 Free Software Foundation, Inc. yann@1: This file is part of the GNU C Library. yann@1: Contributed by Bruno Haible , 2002. yann@1: yann@1: @@ -83,7 +83,8 @@ yann@1: if (__builtin_expect (outbuf + 4 <= outend, 1)) \ yann@1: { \ yann@1: /* Write out the last character. */ \ yann@1: - *((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \ yann@1: + *((uint32_t *) outbuf) = data->__statep->__count >> 3; \ yann@1: + outbuf += sizeof (uint32_t); \ yann@1: data->__statep->__count = 0; \ yann@1: } \ yann@1: else \ yann@1: diff -ur glibc-2.3.3.orig/iconvdata/iso-2022-cn-ext.c glibc-2.3.3.new/iconvdata/iso-2022-cn-ext.c yann@1: --- glibc-2.3.3.orig/iconvdata/iso-2022-cn-ext.c Fri Jun 28 14:13:14 2002 yann@1: +++ glibc-2.3.3.new/iconvdata/iso-2022-cn-ext.c Fri Mar 18 09:29:22 2005 yann@1: @@ -1,5 +1,5 @@ yann@1: /* Conversion module for ISO-2022-CN-EXT. yann@1: - Copyright (C) 2000-2002 Free Software Foundation, Inc. yann@1: + Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. yann@1: This file is part of the GNU C Library. yann@1: Contributed by Ulrich Drepper , 2000. yann@1: yann@1: @@ -377,7 +377,8 @@ yann@1: } \ yann@1: } \ yann@1: \ yann@1: - *((uint32_t *) outptr)++ = ch; \ yann@1: + *((uint32_t *) outptr) = ch; \ yann@1: + outptr += sizeof (uint32_t); \ yann@1: } yann@1: #define EXTRA_LOOP_DECLS , int *setp yann@1: #define INIT_PARAMS int set = (*setp >> 3) & CURRENT_MASK; \ yann@1: diff -ur glibc-2.3.3.orig/iconvdata/shift_jisx0213.c glibc-2.3.3.new/iconvdata/shift_jisx0213.c yann@1: --- glibc-2.3.3.orig/iconvdata/shift_jisx0213.c Mon Dec 2 14:07:56 2002 yann@1: +++ glibc-2.3.3.new/iconvdata/shift_jisx0213.c Fri Mar 18 09:29:22 2005 yann@1: @@ -1,5 +1,5 @@ yann@1: /* Conversion from and to Shift_JISX0213. yann@1: - Copyright (C) 2002 Free Software Foundation, Inc. yann@1: + Copyright (C) 2002, 2004 Free Software Foundation, Inc. yann@1: This file is part of the GNU C Library. yann@1: Contributed by Bruno Haible , 2002. yann@1: yann@1: @@ -83,7 +83,8 @@ yann@1: if (__builtin_expect (outbuf + 4 <= outend, 1)) \ yann@1: { \ yann@1: /* Write out the last character. */ \ yann@1: - *((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \ yann@1: + *((uint32_t *) outbuf) = data->__statep->__count >> 3; \ yann@1: + outbuf += sizeof (uint32_t); \ yann@1: data->__statep->__count = 0; \ yann@1: } \ yann@1: else \ yann@1: diff -ur glibc-2.3.3.orig/iconvdata/tcvn5712-1.c glibc-2.3.3.new/iconvdata/tcvn5712-1.c yann@1: --- glibc-2.3.3.orig/iconvdata/tcvn5712-1.c Mon Dec 2 14:07:52 2002 yann@1: +++ glibc-2.3.3.new/iconvdata/tcvn5712-1.c Fri Mar 18 09:29:22 2005 yann@1: @@ -1,5 +1,5 @@ yann@1: /* Conversion to and from TCVN5712-1. yann@1: - Copyright (C) 2001, 2002 Free Software Foundation, Inc. yann@1: + Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. yann@1: This file is part of the GNU C Library. yann@1: Contributed by Ulrich Drepper , 2001. yann@1: yann@1: @@ -68,7 +68,8 @@ yann@1: if (__builtin_expect (outbuf + 4 <= outend, 1)) \ yann@1: { \ yann@1: /* Write out the last character. */ \ yann@1: - *((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \ yann@1: + *((uint32_t *) outbuf) = data->__statep->__count >> 3; \ yann@1: + outbuf += sizeof (uint32_t); \ yann@1: data->__statep->__count = 0; \ yann@1: } \ yann@1: else \ yann@1: diff -ur glibc-2.3.3.orig/iconvdata/tscii.c glibc-2.3.3.new/iconvdata/tscii.c yann@1: --- glibc-2.3.3.orig/iconvdata/tscii.c Mon Sep 23 20:39:45 2002 yann@1: +++ glibc-2.3.3.new/iconvdata/tscii.c Fri Mar 18 09:29:22 2005 yann@1: @@ -1,5 +1,5 @@ yann@1: /* Conversion from and to TSCII. yann@1: - Copyright (C) 2002 Free Software Foundation, Inc. yann@1: + Copyright (C) 2002, 2004 Free Software Foundation, Inc. yann@1: This file is part of the GNU C Library. yann@1: Contributed by Bruno Haible , 2002. yann@1: yann@1: @@ -98,7 +98,8 @@ yann@1: break; \ yann@1: } \ yann@1: /* Write out the pending character. */ \ yann@1: - *((uint32_t *) outbuf)++ = data->__statep->__count >> 8; \ yann@1: + *((uint32_t *) outbuf) = data->__statep->__count >> 8; \ yann@1: + outbuf += sizeof (uint32_t); \ yann@1: /* Retrieve the successor state. */ \ yann@1: data->__statep->__count = \ yann@1: tscii_next_state[(data->__statep->__count >> 4) & 0x0f]; \