[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#317494: marked as done (libc6-dev: illegal syntax in obstack.h)



Your message dated Tue, 27 Dec 2005 13:16:53 +0000
with message-id <1135689413.3241.55.camel@mebius.reciva.com>
and subject line libc6-dev: illegal syntax in obstack.h
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 9 Jul 2005 03:25:11 +0000
>From cph@csail.mit.edu Fri Jul 08 20:25:11 2005
Return-path: <cph@csail.mit.edu>
Received: from rozz.csail.mit.edu [128.30.2.16] 
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1Dr5xn-0007Ct-00; Fri, 08 Jul 2005 20:25:11 -0700
Received: from c-24-147-127-19.hsd1.ma.comcast.net ([24.147.127.19] helo=kleph.csail.mit.edu)
	by rozz.csail.mit.edu with esmtpsa (TLSv1:DES-CBC3-SHA:168)
	(Exim 4.50)
	id 1Dr5xl-00052q-Tw
	for submit@bugs.debian.org; Fri, 08 Jul 2005 23:25:10 -0400
Received: from cph by kleph.csail.mit.edu with local (Exim 4.52)
	id 1Dr5xk-0005OF-Ai
	for submit@bugs.debian.org; Fri, 08 Jul 2005 23:25:08 -0400
From: Chris Hanson <cph@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: libc6-dev: illegal syntax in obstack.h
X-Debbugs-CC: Chris Hanson <cph@debian.org>
Message-Id: <E1Dr5xk-0005OF-Ai@kleph.csail.mit.edu>
Date: Fri, 08 Jul 2005 23:25:08 -0400
Delivered-To: submit@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-11.0 required=4.0 tests=BAYES_00,HAS_PACKAGE,
	X_DEBBUGS_CC autolearn=ham version=2.60-bugs.debian.org_2005_01_02
X-Spam-Level: 

Package: libc6-dev
Version: 2.3.2.ds1-22
Severity: normal
Tags: sid, upstream

The following definitions cause errors when compiled with gcc-4.0:

    obstack_ptr_grow
    obstack_int_grow
    obstack_ptr_grow_fast
    obstack_int_grow_fast

The problem is that they each contain a statement of the form

    *((foo *) bar->next_free)++ = baz;

which is not legal C code, because the ++ operator uses the preceding
cast expression as an lvalue, but cast expressions _aren't_ lvalues.

One way of dealing with this is to rewrite each instance as

    *((foo *) bar->next_free) = baz;
    bar->next_free += (sizeof (foo));

which works because the next_free field is a "char *".

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (1200, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12.2-cph2
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages libc6-dev depends on:
ii  libc6                       2.3.2.ds1-22 GNU C Library: Shared libraries an
ii  linux-kernel-headers        2.6.12.0-1   Linux Kernel Headers for developme

Versions of packages libc6-dev recommends:
ii  gcc [c-compiler]             4:4.0.0-2   The GNU C compiler
ii  gcc-2.95 [c-compiler]        1:2.95.4-22 The GNU C compiler
ii  gcc-3.3 [c-compiler]         1:3.3.6-7   The GNU C compiler
ii  gcc-3.4 [c-compiler]         3.4.4-5     The GNU C compiler
ii  gcc-4.0 [c-compiler]         4.0.0-12    The GNU C compiler

-- no debconf information

---------------------------------------
Received: (at 317494-done) by bugs.debian.org; 27 Dec 2005 13:17:17 +0000
>From pb@reciva.com Tue Dec 27 05:17:17 2005
Return-path: <pb@reciva.com>
Received: from mail.nexus.co.uk ([82.70.217.43] helo=crown.nexus.co.uk)
	by spohr.debian.org with esmtp (Exim 4.50)
	id 1ErEhZ-0003Ly-6q
	for 317494-done@bugs.debian.org; Tue, 27 Dec 2005 05:17:17 -0800
Received: from cpc1-cmbg6-5-0-cust20.cmbg.cable.ntl.com ([81.104.210.20] helo=[192.168.2.116])
	by crown.nexus.co.uk with esmtpsa (TLS-1.0:RSA_ARCFOUR_MD5:16)
	(Exim 4.50)
	id 1ErEhT-0000aQ-7f
	for 317494-done@bugs.debian.org; Tue, 27 Dec 2005 13:17:12 +0000
Subject: Re: libc6-dev: illegal syntax in obstack.h
From: Phil Blundell <pb@reciva.com>
To: 317494-done@bugs.debian.org
Content-Type: text/plain
Date: Tue, 27 Dec 2005 13:16:53 +0000
Message-Id: <1135689413.3241.55.camel@mebius.reciva.com>
Mime-Version: 1.0
X-Mailer: Evolution 2.2.2 
Content-Transfer-Encoding: 7bit
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-2.5 required=4.0 tests=BAYES_00,RCVD_IN_SORBS 
	autolearn=no version=2.60-bugs.debian.org_2005_01_02

This bug appears to be fixed in glibc 2.3.5, now available in unstable.

The current header file reads as follows:

# define obstack_ptr_grow_fast(OBSTACK,aptr)			\
__extension__							\
({ struct obstack *__o1 = (OBSTACK);				\
   *(const void **) __o1->next_free = (aptr);			\
   __o1->next_free += sizeof (const void *);			\
   (void) 0; })

which, if I understand correctly, should be fine.  Submitter, please
re-open this bug if it still doesn't work for you.

p.




Reply to: