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.
next prev parent 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).