All of lore.kernel.org
 help / color / mirror / Atom feed
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 17:26:27 +0100	[thread overview]
Message-ID: <jesmuc498s.fsf@sykes.suse.de> (raw)
In-Reply-To: <Pine.LNX.4.44.0302250742400.10210-100000@home.transmeta.com> (Linus Torvalds's message of "Tue, 25 Feb 2003 08:02:15 -0800 (PST)")

Linus Torvalds <torvalds@transmeta.com> writes:

|> On Tue, 25 Feb 2003, Andreas Schwab wrote:
|> > |> 
|> > |> 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.
|> 
|> Go back and read my mail. In fact, go back and read just about _any_ of my 
|> mails on the subject. Gop back and read the part you snipped:
|> 
|>  "And if the compiler isn't good enough to do it, then the compiler 
|>   shouldn't be warning about something that it hasn't got a clue about."
|> 
|> In other words, either gcc should do it right, or it should not be done at 
|> all. Right now the warning IS GENERATED IN THE WRONG PLACE. Your argument 
|> seems to be "but that's the place it is generated" is a total 
|> non-argument. It's just stating a fact, and it's exactly that fact that 
|> causes the BUG IN GCC.

Then we have to agree to disagree.  Signed/unsigned mixups are just too
easy to get wrong in C, and a constant source of security bugs.

|> > |> 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). 
|> 
|> It is as trivial as it seems, and this is _not_ an out-of-array reference.  

It is out of the x[1] array, *if* you consider it an object of its own
(whether this is the right viewpoint is the point of the issue).

|> So if they argued about this on comp.std.c, they either had clueless
|> people there (in addition to the ones that obviously aren't ;), _or_ you
|> misunderstood the argument.

I'd guess that the language experts on comp.std.c are more clueful about
the C standard than both you and me.

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."

  parent reply	other threads:[~2003-02-25 16:16 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
2003-02-25 16:02                   ` Linus Torvalds
2003-02-25 16:15                     ` Linus Torvalds
2003-02-25 16:26                     ` Andreas Schwab [this message]
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=jesmuc498s.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.