From: Andreas Schwab <schwab@suse.de>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Jeff Garzik <jgarzik@pobox.com>,
"Richard B. Johnson" <root@chaos.analogic.com>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] s390 (7/13): gcc 3.3 adaptions.
Date: Tue, 25 Feb 2003 16:39:53 +0100 [thread overview]
Message-ID: <jevfz84bee.fsf@sykes.suse.de> (raw)
In-Reply-To: <Pine.LNX.4.44.0302250712110.10210-100000@home.transmeta.com> (Linus Torvalds's message of "Tue, 25 Feb 2003 07:27:26 -0800 (PST)")
Linus Torvalds <torvalds@transmeta.com> writes:
|> On Tue, 25 Feb 2003, Andreas Schwab wrote:
|> > |>
|> > |> The point is that the compiler should see that the run-time value of i is
|> > |> _obviously_never_negative_ and as such the warning is total and utter
|> > |> crap.
|> >
|> > This requires a complete analysis of the loop body, which means that the
|> > warning must be moved down from the front end (the common type of the
|> > operands only depends on the type of the operands, not of any current
|> > value of the expressions).
|>
|> So? Gcc does that anyway. _Any_ good compiler has to.
But the point is that determining the common type does not require _any_
kind of data flow analysis, and this is the place where the unsigned
warning is generated.
|> Trivial example:
|>
|> int x[2][2];
|>
|> int main(int argc, char **argv)
|> {
|> return x[1][-1];
|> }
|>
|>
|> the above is actually a well-defined C program, and 100%
|> standards-conforming ("strictly conforming").
This isn't as trivial as it seems. Look in comp.std.c for recent
discussions on this topic (out-of-array references).
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
next prev parent reply other threads:[~2003-02-25 15:29 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-02-24 18:10 [PATCH] s390 (7/13): gcc 3.3 adaptions Martin Schwidefsky
2003-02-24 19:44 ` Richard B. Johnson
2003-02-24 21:02 ` Linus Torvalds
2003-02-24 21:27 ` Jeff Garzik
2003-02-24 21:33 ` Richard B. Johnson
2003-02-24 21:35 ` Andreas Schwab
2003-02-24 21:53 ` Jeff Garzik
2003-02-24 22:07 ` Andreas Schwab
2003-02-24 22:21 ` Jörn Engel
2003-02-24 22:31 ` Jörn Engel
2003-02-25 12:34 ` Andreas Schwab
2003-02-24 22:39 ` Linus Torvalds
2003-02-25 0:20 ` Alan Cox
2003-02-24 23:20 ` Linus Torvalds
2003-02-25 0:40 ` Alan Cox
2003-02-24 23:51 ` Linus Torvalds
2003-02-25 5:24 ` Chris Wedgwood
2003-02-25 12:25 ` Jamie Lokier
2003-02-25 12:40 ` Andreas Schwab
2003-02-25 15:27 ` Linus Torvalds
2003-02-25 15:39 ` Andreas Schwab [this message]
2003-02-25 16:02 ` Linus Torvalds
2003-02-25 16:15 ` Linus Torvalds
2003-02-25 16:26 ` Andreas Schwab
2003-02-25 16:17 ` Richard B. Johnson
2003-02-24 22:28 ` Linus Torvalds
2003-02-24 22:39 ` Jakub Jelinek
2003-02-24 23:52 ` John Alvord
2003-02-24 21:38 ` Adrian Bunk
2003-03-01 3:12 ` Richard Henderson
[not found] <20030224195008$59ef@gated-at.bofh.it>
[not found] ` <20030224195008$40bd@gated-at.bofh.it>
2003-02-24 20:03 ` Arnd Bergmann
2003-02-24 20:49 ` Richard B. Johnson
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=jevfz84bee.fsf@sykes.suse.de \
--to=schwab@suse.de \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=root@chaos.analogic.com \
--cc=schwidefsky@de.ibm.com \
--cc=torvalds@transmeta.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.