public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Fergus Henderson <fjh@cs.mu.oz.au>
To: Alexandre Oliva <aoliva@redhat.com>
Cc: Axel Kittenberger <Anshil@gmx.net>, gcc@gcc.gnu.org
Subject: Re: Is this a gcc bug?
Date: Fri, 12 Jan 2001 19:11:00 -0000	[thread overview]
Message-ID: <20010113141053.B30713@hg.cs.mu.oz.au> (raw)
In-Reply-To: <or8zoggpv6.fsf@guarana.lsd.ic.unicamp.br>

On 13-Jan-2001, Alexandre Oliva <aoliva@redhat.com> wrote:
> On Jan 12, 2001, Axel Kittenberger <Anshil@gmx.net> wrote:
> 
> > bug.i:8: unpredictable behaviour due to undefined evaluation sequence of
> > 'x'
> 
> It's the behavior that is undefined.  How about:
> 
> undefined behavior: expression may modify `x' multiple times

You also get the warning for cases like

	printf("%d %d\n", x++, x);

where cause of the undefined behaviour is not that `x' was modified
multiple times, but that `x' was both modified and read.  The warning
that you suggest would not be appropriate in these cases.

It might be good to give different warnings for these two different
kinds of problems, depending on whether they violate the first
sentence of C99 6.5 #2, or the second:

 | 	Between the previous and next sequence point an object
 | 	shall have its stored value modified at  most  once  by  the
 | 	evaluation  of  an expression.  Furthermore, the prior value
 | 	shall be read only to determine the value to be stored.70)

For those that violate the first sentence, your suggested warning sounds OK.
But for those that violate the second, something like

	warning: undefined behavior: expression modifies `x' and reads `x'

would be better.

-- 
Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
                                    |  of excellence is a lethal habit"
WWW: < http://www.cs.mu.oz.au/~fjh >  |     -- the last words of T. S. Garp.

  reply	other threads:[~2001-01-12 19:11 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-12  1:18 Axel Kittenberger
2001-01-12 18:14 ` Alexandre Oliva
2001-01-12 19:11   ` Fergus Henderson [this message]
2001-01-13  3:21   ` Richard Earnshaw
  -- strict thread matches above, loose matches on Subject: below --
2008-06-16 13:01 Is this a GCC bug? Bingfeng Mei
2008-06-16 13:33 ` Bingfeng Mei
2001-01-17 23:30 Is this a gcc bug? Axel Kittenberger
2001-01-16 17:06 dewar
2001-01-14 16:14 dewar
2001-01-14 16:53 ` Dave Korn
2001-01-14  5:31 dewar
2001-01-14 15:51 ` Geoff Keating
2001-01-12 19:15 dewar
2001-01-12 19:29 ` Fergus Henderson
2001-01-12 19:14 dewar
2001-01-12 19:36 ` Alexandre Oliva
2001-01-12 18:21 dewar
2001-01-12 18:29 ` Joseph S. Myers
2001-01-12 18:49 ` Alexandre Oliva
2001-01-12 18:58 ` Fergus Henderson
2001-01-13 10:34 ` James Dennett
2001-01-16 17:01 ` Michael Eager
2001-01-17  3:21   ` Falk Hueffner
2001-01-17 14:57     ` Michael Eager
2001-01-11 10:38 dewar
2001-01-11 10:30 dewar
2001-01-11 10:05 dewar
2001-01-11 10:00 David Korn
2001-01-11 21:36 ` Andy Walker
2001-01-13 18:45   ` Joern Rennecke
2001-01-14  2:21     ` Geoff Keating
2001-01-11  7:07 dewar
2001-01-11  5:53 dewar
2001-01-11  6:06 ` Bernd Schmidt
2001-01-11  8:40   ` Per Bothner
2001-01-11  9:03     ` Richard Earnshaw
2001-01-11  9:27       ` Alexandre Oliva
2001-01-11  9:33       ` Joe Buck
2001-01-11  9:38         ` Bernd Schmidt
2001-01-11  9:44           ` Richard Earnshaw
2001-01-11 10:57     ` Neil Booth
2001-01-11  5:49 dewar
2001-01-11  3:04 David Korn
2001-01-11  2:11 Uros Bizjak
2001-01-11  3:04 ` Alexandre Oliva

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010113141053.B30713@hg.cs.mu.oz.au \
    --to=fjh@cs.mu.oz.au \
    --cc=Anshil@gmx.net \
    --cc=aoliva@redhat.com \
    --cc=gcc@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).