Topic: Permissible undefined behavior?!?


Author: jk@steel.orel.ru (Eugene Karpachov)
Date: Thu, 19 Jul 2001 18:53:35 GMT
Raw View
Wed, 18 Jul 2001 19:10:05 GMT Barry Margolin =CE=C1=D0=C9=D3=C1=CC:
>impossible.  So although we like to jokingly refer to "daemons flying ou=
t
>your nose", it's not really necessary for the standard to include this i=
n
>permissible undefined behavior, because it's simply impossible for a
>computer to do that.

Why not to permit it, because it is impossible anyway? :))

--=20
jk

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.research.att.com/~austern/csc/faq.html                ]





Author: thp@cs.ucr.edu
Date: Thu, 19 Jul 2001 18:53:33 GMT
Raw View
Barry Margolin <barmar@genuity.net> wrote:
: In article <9j4dh1$9f1$2@glue.ucr.edu>,  <thp@cs.ucr.edu> wrote:
:>James Kuyper Jr. <kuyper@wizard.net> wrote:
:>: thp@cs.ucr.edu wrote:
:>:>
:>:> 1.3.12 undefined behavior:
:>:>     behavior ... for which this International Standard imposes
:>:>     no requirements. ... permissible undefined behavior ranges
:>:>     from ... to ...
:>:>
:>:> So, all other undefined behavior is non-permissible and is therefore
:>
:>: The "ranges" clause merely gives examples; it doesn't constitute a
:>: restriction on the range of possible behavior.
:>
:>I agree that that was the intent.  However, at the very least the
:>words "permissible undefined behavior" suggest the existence of
:>*non-permissible undefined behavior*, thereby adding to the confusion
:>surrounding the notion of undefined behavior.

: I think the intent was that the behaviors listed were the extremes of
: possibilities.  It's not necessary to legislate against something that's
: impossible.  So although we like to jokingly refer to "daemons flying out
: your nose", it's not really necessary for the standard to include this in
: permissible undefined behavior, because it's simply impossible for a
: computer to do that.

Agreed, but my point has nothing to do with what should or should not
be included on the list of "permissible undefined behaviors."  Rather,
I'm objecting to the occurrence of that phrase within this
international standard.

Technically, in the phrase "permissible undefined behavior" the word
"permissible" is simply redundant.  But careful writers don't throw in
gratuitous redundancies.  Visibly, the writers of the standard are
very careful, so their reader is lead to believe that some behaviors
are not "permissible undefined behaviors".

Tom Payne














---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.research.att.com/~austern/csc/faq.html                ]





Author: thp@cs.ucr.edu
Date: Tue, 17 Jul 2001 22:36:45 GMT
Raw View
1.3.12 undefined behavior:
    behavior ... for which this International Standard imposes
    no requirements. ... permissible undefined behavior ranges
    from ... to ...

So, all other undefined behavior is non-permissible and is therefore
prohibited by this International Standard, which imposes no
requirements on undefined behavior.  Right?

Tom Payne

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.research.att.com/~austern/csc/faq.html                ]





Author: "James Kuyper Jr." <kuyper@wizard.net>
Date: Wed, 18 Jul 2001 15:02:48 GMT
Raw View
thp@cs.ucr.edu wrote:
>
> 1.3.12 undefined behavior:
>     behavior ... for which this International Standard imposes
>     no requirements. ... permissible undefined behavior ranges
>     from ... to ...
>
> So, all other undefined behavior is non-permissible and is therefore

The "ranges" clause merely gives examples; it doesn't constitute a
restriction on the range of possible behavior.

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.research.att.com/~austern/csc/faq.html                ]





Author: thp@cs.ucr.edu
Date: Wed, 18 Jul 2001 16:53:22 GMT
Raw View
James Kuyper Jr. <kuyper@wizard.net> wrote:
: thp@cs.ucr.edu wrote:
:>
:> 1.3.12 undefined behavior:
:>     behavior ... for which this International Standard imposes
:>     no requirements. ... permissible undefined behavior ranges
:>     from ... to ...
:>
:> So, all other undefined behavior is non-permissible and is therefore

: The "ranges" clause merely gives examples; it doesn't constitute a
: restriction on the range of possible behavior.

I agree that that was the intent.  However, at the very least the
words "permissible undefined behavior" suggest the existence of
*non-permissible undefined behavior*, thereby adding to the confusion
surrounding the notion of undefined behavior.

Tom Payne









---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.research.att.com/~austern/csc/faq.html                ]





Author: Barry Margolin <barmar@genuity.net>
Date: Wed, 18 Jul 2001 19:10:05 GMT
Raw View
In article <9j4dh1$9f1$2@glue.ucr.edu>,  <thp@cs.ucr.edu> wrote:
>James Kuyper Jr. <kuyper@wizard.net> wrote:
>: thp@cs.ucr.edu wrote:
>:>
>:> 1.3.12 undefined behavior:
>:>     behavior ... for which this International Standard imposes
>:>     no requirements. ... permissible undefined behavior ranges
>:>     from ... to ...
>:>
>:> So, all other undefined behavior is non-permissible and is therefore
>
>: The "ranges" clause merely gives examples; it doesn't constitute a
>: restriction on the range of possible behavior.
>
>I agree that that was the intent.  However, at the very least the
>words "permissible undefined behavior" suggest the existence of
>*non-permissible undefined behavior*, thereby adding to the confusion
>surrounding the notion of undefined behavior.

I think the intent was that the behaviors listed were the extremes of
possibilities.  It's not necessary to legislate against something that's
impossible.  So although we like to jokingly refer to "daemons flying out
your nose", it's not really necessary for the standard to include this in
permissible undefined behavior, because it's simply impossible for a
computer to do that.

--
Barry Margolin, barmar@genuity.net
Genuity, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.research.att.com/~austern/csc/faq.html                ]