This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
RE: New ARI warning Sat Mar 12 01:53:29 UTC 2011
- From: "Pierre Muller" <pierre dot muller at ics-cnrs dot unistra dot fr>
- To: "'Eli Zaretskii'" <eliz at gnu dot org>
- Cc: <gdb-patches at sourceware dot org>
- Date: Mon, 14 Mar 2011 09:20:07 +0100
- Subject: RE: New ARI warning Sat Mar 12 01:53:29 UTC 2011
- References: <20110312015329.GA20179@sourceware.org> <010f01cbe157$aebb5cb0$0c321610$@muller@ics-cnrs.unistra.fr> <E1PyiT1-0005DR-16@fencepost.gnu.org>
> -----Message d'origine-----
> De?: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] De la part de Eli Zaretskii
> Envoyé?: dimanche 13 mars 2011 11:24
> À?: Pierre Muller
> Cc?: gdb-patches@sourceware.org
> Objet?: Re: New ARI warning Sat Mar 12 01:53:29 UTC 2011
>
> > From: "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr>
> > Date: Sun, 13 Mar 2011 09:21:35 +0100
> >
> > This is the consequence of the two new ARI rules I added:
> > http://sourceware.org/ml/gdb-patches/2011-03/msg00654.html
> >
> > As I just introduced these new rules,
> > I felt that it would be cheating to
> > use OBVIOUS rule as we normally do to fix
> > a ARI regression...
> > This is why I will submit shortly two patches
> > to remove all those new warnings.
>
> The rule to detect "()" without a "void" is fine, but why on Earth do
> we need the other rule, about prototypes like this:
>
> int
> foo (bar);
>
> This is a perfectly valid formatting. In your patch, you modify long
> prototypes like this as follows:
>
> extern struct hppa_objfile_private *
> -hppa_init_objfile_priv_data (struct objfile *objfile);
> + hppa_init_objfile_priv_data (struct objfile *objfile);
>
> But that is not a good idea, because if you type TAB in Emacs on the
> line with the function name, Emacs will reindent the name to column
> zero. So I expect this rule to annoy us quite a bit, e.g. if someone
> reindents a large region.
>
> Can you tell why we need this?
See
http://sourceware.org/ml/gdb-patches/2011-03/msg00651.html
This way you will find only the implementation of function foo_function
using grep:
grep "^foo_function" *
I really thought that prototypes,
either in header or in C sources should not be found by that
pattern and that it shouls thus either be on a single line,
or be indented to avoid being on first column.
Notice that the new rule only found a few of these
extern TYPE
long_func_name (with_long_parameters);
Would it be better to reformat those as
extern TYPE long_func_name
(with_long_parameters);
instead of
extern TYPE
long_func_name (with_long_parameters);
I have no preference on that matter,
I would really like to avoid getting both the
prototype and the implementation if I do:
grep "^func_name "
That's the reason of this rule.
Tell us what you think about the alternate
I propose above and what we should do in your opinion.
Pierre Muller
as ARI maintainer.