Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Apr 2008 02:01:53 +0200
From:      Max Laier <max@love2party.net>
To:        freebsd-hackers@freebsd.org
Cc:        hackers@freebsd.org, Romuald Conty <romuald.conty@free.fr>, Romain =?utf-8?q?Tarti=C3=A8re?= <romain@blogreen.org>
Subject:   Re: indent(1) support for gcc(1) 0b prefix
Message-ID:  <200804270201.53271.max@love2party.net>
In-Reply-To: <20080426213557.GA88577@marvin.blogreen.org>
References:  <20080426213557.GA88577@marvin.blogreen.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 26 April 2008 23:35:57 Romain Tarti=C3=A8re wrote:
> Hello FreeBSD hackers!
>
> I'm using avr-gcc from the ports and relying on the 0b prefix notation
> for binary constants, that is:
>
> 	foo =3D 0b00101010;
>
> Thanks to /usr/ports/devel/avr-gcc/files/patch-0b-constants this is
> possible :-)
>
> But I would like to use indent(1) to reformat contributed code
> automatically. Unfortunately, the 0b notation is not supported by that
> program, and the resulting code looks like this:
>
> 	foo =3D 0 b00101010;
>
> ... then compilation fails, bla bla bla...

I can't think of a case (outside of "0x...." context) where "...0b..."=20
would be valid C code, let alone better formated as "...0 b...".  Hence I=20
see no harm in adding your patch to the base indent(1).

Does anyone have an example where "...0 b..." is valid C code?

> A quick look at indent(1) source code leaded me to tweak
> /usr/src/usr.bin/indent/lexi.c so that the 0b notation is supported
> (patch attached).
>
> I was so wondering how useful(less) it was to support this extension in
> FreeBSD indent(1) program. The version of gcc provided with the base
> system does not support this syntax, and AFAIK, only the avr-gcc port
> support this kind of constructs...
>
> So options are:
>   - Add support for 0b notation to FreeBSD indent(1) (maybe requiring
>     the use of an extra command line argument to support this feature);
>   - Provide a patch for indent(1) that can be conditionally applied on
>     the code when compiling the world;
>   - Create another port, say avr-indent(1), that is not more than a
> copy of indent(1) with support of 0b constructs;
>   - Do nothing: tweaking indent(1) for supporting this is so trivial
>     that the few individuals interested in this can have their local
>     version of indent.
>
> Can you please tell me your opinion about this?
>
> Thank you in advance,
> Romain
>
> PS: I also took a look at GNU indent (gindent(1) from the ports), but
> it does not support 0b notation too.

=2D-=20
/"\  Best regards,                      | mlaier@freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier@EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200804270201.53271.max>