public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Paul Schlie <schlie@comcast.net>
To: Paul Koning <pkoning@equallogic.com>
Cc: <dewar@adacore.com>, <mattheww@chiark.greenend.org.uk>,
	<gcc@gcc.gnu.org>
Subject: Re: Where does the C standard describe overflow of signed integers?
Date: Thu, 14 Jul 2005 21:58:00 -0000	[thread overview]
Message-ID: <BEFC5856.AD2E%schlie@comcast.net> (raw)
In-Reply-To: <17110.52392.697364.523433@gargle.gargle.HOWL>

> From: Paul Koning <pkoning@equallogic.com>
>>>>>> "Paul" == Paul Schlie <schlie@comcast.net> writes:
>>> From: Robert Dewar <dewar@adacore.com>
>>>> Paul Schlie wrote:
>>>>> What about optimising x*2/2 to x?
>>>> Given that "C" requires the above be evaluated as (x*2)/2, as the
>>>> language specifies that the syntax defines the precedence of the
>>>> operations, and that no optimization should alter the behavior as
>>>> specified by the program; I'd say that unless it was known that
>>>> the value range of x was between 0 and INT_MAX, the optimization
>>>> is simply invalid.
>>> the optimization is indeed valid
>>> 
>>> optimizations may most certainly alter behavior of undefined
>>> code. think about uninitialized local variables.
> 
>  Paul> I don't contest that it may, I simply don't believe it should.
> 
> In that case you may want to stick with -O0.  There are *lots* of
> things GCC does that alter undefined cases.  How about the undefined
> behavior when aliasing rules are violated?  Would you want to make
> -fno-strict-aliasing be the only supported setting?

- Isn't the purpose of "restrict" to explicitly enable the compiler to
  more aggressively optimize references which it may be not have been
  able to identify it as being strictly safe?  (As opposed to it feeling
  compelled presume potentially disastrously otherwise, without explicit
  permission to do so?)


  reply	other threads:[~2005-07-14 21:58 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-14 19:09 Paul Schlie
2005-07-14 19:13 ` Robert Dewar
2005-07-14 19:28   ` Paul Schlie
2005-07-14 19:33     ` Robert Dewar
2005-07-14 20:13       ` Paul Schlie
2005-07-15 13:20         ` Georg Bauhaus
2005-07-15 13:33           ` Georg Bauhaus
2005-07-15 14:31           ` Dave Korn
2005-07-16 12:04             ` Georg Bauhaus
2005-07-16 14:26               ` Paul Schlie
2005-07-15 15:03           ` Paul Schlie
2005-07-16 12:12             ` Georg Bauhaus
2005-07-14 20:35     ` Paul Koning
2005-07-14 21:58       ` Paul Schlie [this message]
2005-07-15  7:04         ` Avi Kivity
  -- strict thread matches above, loose matches on Subject: below --
2005-07-14  1:10 Paul Schlie
2005-07-14  1:59 ` Robert Dewar
2005-07-14  5:28   ` Paul Schlie
2005-07-14 17:57 ` Matthew Woodcraft
2005-07-14 18:36   ` Paul Koning
2005-07-11 14:58 Nicholas Nethercote
2005-07-11 15:07 ` Dave Korn
2005-07-11 16:07   ` Nicholas Nethercote
2005-07-11 17:04     ` Dave Korn
2005-07-11 15:15 ` Nathan Sidwell
2005-07-11 15:23   ` Dave Korn
2005-07-12 23:13 ` Michael Meissner

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=BEFC5856.AD2E%schlie@comcast.net \
    --to=schlie@comcast.net \
    --cc=dewar@adacore.com \
    --cc=gcc@gcc.gnu.org \
    --cc=mattheww@chiark.greenend.org.uk \
    --cc=pkoning@equallogic.com \
    /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).