Re: C99

Doug Evans
2013-07-16T21:40:33Z

On Tue, Jul 16, 2013 at 2:22 PM, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
>> From: Tom Tromey <tromey@redhat.com>
>> Date: Tue, 16 Jul 2013 14:51:36 -0600
>>
>> I'd like to draw attention to this patch:
>>
>> http://sourceware.org/ml/gdb-patches/2013-06/msg00808.html
>>
>> This points out that gdb has been unconditionally using a GCC extension,
>> apparently since at least 2010; the patch introducing the varargs define
>> in tracepoint.c was 7c56ce7 (2010-04-09).
>>
>> The patch proposes replacing this with the corresponding C99 construct.
>>
>> So, I'd like to propose we allow the use of C99 in gdb. In particular I
>> think we ought to require a C99 preprocessor -- enabling this particular
>> patch to go in and also allowing the use of "//" comments.
>
> Perhaps it is time to move on and start requiring a C99 compiler for GDB.
> But "//" comments are offensive to real C programmers! ;)
>
> Seriously though. This points out that such a switch has some
> consequences for our coding standards. We have a fairly consistent
> coding style in GDB, which makes it easy for people to move around in
> the codebase without getting distracted by the "looks" of the code. I
> think it's worth some effort to keep it that way. And allowing "//"
> comments isn't going to help. I'd vote for not using them at all.

I don't see // as a serious issue, but I can live with it either way.

> However, a more important C99 "misfeature" that affects the coding
> standard is the possibility to declare varaibles anywhere in the code.
> We should not allow this, except for declaring loop variables in a
> for() statement.

Can you elaborate?