indent breaks C code !

Xavier Bestel <[email protected]> Thu, 07 May 2009 17:44:01 +0200
Newsgroups gmane.comp.gnu.indent.bugs
Message-ID <20090507153932.31506.93436.reportbug__27892.3654849224$1241913944$gmane$org@bip.bestouff.prv>
Package: indent
Version: 2.2.10-1
Severity: important


Hi,

when feeding this line:

	a += - -1;

indent transforms it to:

	a += --1;

which hasn't the same meaning at all (instead of a unary minus on a negative constant, it's a predecrementation of a constant) and in this example isn't even legal C code.

It's quite a serious issue.

Thanks,
	Xav

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.29-2-686 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages indent depends on:
ii  libc6                         2.9-10     GNU C Library: Shared libraries

indent recommends no packages.

indent suggests no packages.

-- no debconf information