This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Compare addresses in operand_equal_p correctly
- From: Roger Sayle <roger at eyesopen dot com>
- To: Andrew Haley <aph at redhat dot com>
- Cc: Richard Sandiford <richard at codesourcery dot com>, Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 14 Nov 2006 09:33:14 -0700 (MST)
- Subject: Re: [patch] Compare addresses in operand_equal_p correctly
On Tue, 14 Nov 2006, Andrew Haley wrote:
> Insert extra parentheses so that Emacs will indent the code
> properly. For example, the following indentation looks nice if you do
> it by hand,
>
> v = rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
> + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000;
>
> but Emacs would alter it. Adding a set of parentheses produces
> something that looks equally nice, and which Emacs will preserve:
>
> v = (rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
> + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000);
I believe that this is to prevent *always* aligning equal operators
under one another, when there's a good aesthetic reason, otherwise
this ends up as:
v = rup->ru_utime.tv_sec*1000
+ rup->ru_utime.tv_usec/1000
+ rup->ru_stime.tv_sec*1000
+ rup->ru_stime.tv_usec/1000;
which is OK, but hides the utime/tv_sec/tv_usec symmetry.
I'll agree that if you need to place operators of a multi-line
conditional the same line, such as:
return a->x == b->x && b->x == c->x
&& a->y == b->y && b->y == c->y
&& a->z == b->z && b->z == c-z;
Then using parenthesis to avoid emacs auto-indent screwing things up.
[But perhaps emacs has been fixed since then, I use vi :-)]
Roger
--