indent(1) support for gcc(1) 0b prefix
Giorgos Keramidas
keramida at ceid.upatras.gr
Fri May 2 02:14:53 UTC 2008
On Sun, 27 Apr 2008 02:01:53 +0200, Max Laier <max at love2party.net> wrote:
> On Saturday 26 April 2008 23:35:57 Romain Tarti=8Are 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..."
> would be valid C code, let alone better formated as "...0 b...".
> Hence I see no harm in adding your patch to the base indent(1).
>
> Does anyone have an example where "...0 b..." is valid C code?
The only case I can think of is when the "b..." is an existing macro,
i.e. something like:
1 #include <stdio.h>
2
3 #define b0101 + 3
4
5 int
6 main(void)
7 {
8 printf("%u\n", 0 b0101);
9 return 0;
10 }
But that's a rather contrived example. Making the "0b...." support
tunable through a command-line option seems ok for me.
More information about the freebsd-hackers
mailing list