Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #14205

Re: Type interchange

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Type interchange
Date 2011-12-01 16:59 -0800
Organization None to speak of
Message-ID <lnsjl3okkf.fsf@nuthaus.mib.org> (permalink)
References (6 earlier) <4ED7A703.4658@mindspring.com> <lnaa7cos2f.fsf@nuthaus.mib.org> <4ED80320.7A05@mindspring.com> <lnwrafoq1p.fsf@nuthaus.mib.org> <4ED81BD0.4855@mindspring.com>

Show all headers | View raw


pete <pfiland@mindspring.com> writes:
> Keith Thompson wrote:
>> pete <pfiland@mindspring.com> writes:
>> > Keith Thompson wrote:
>> >> pete <pfiland@mindspring.com> writes:
>> >> > James Kuyper wrote:
>> >> >> Some people prefer to describe this by saying that if there's any
>> >> >> possible conforming implementation
>> >> >> where the behavior is undefined, then
>> >> >> the behavior is undefined, period, even on other implementations where
>> >> >> the condition that makes it undefined isn't true - but I find that
>> >> >> interpretation incoherent.
>> >> >
>> >> > That way,
>> >> > whether or not a program contains undefined behavior
>> >> > is a property of the C program,
>> >> > and not a property of the
>> >> > combination of the implementation and C program.
>> >>
>> >> int n = 32767;
>> >> n ++;
>> >
>> > The behavior of that code isn't limited by the standard, is it?
>> 
>> If INT_MAX == 32767, then its behavior is undefined.  Otherwise, its
>> behavior is well defined (it sets n to 32768).
>> 
>> The point is that whether or not a program contains undefined
>> behavior already is "a property of the combination of the
>> implementation and C program".
>
> Whether or not a program is a "strictly conforming program"
> is not dependant on the implementation,

Agreed.

> and whether or not a program is a correct program
> is not dependant on the implementation.

Depends on what you mean by "correct".

> The code that you posted was intended to have a portability issue.

Of course.

> A non portable program construct 
> for which the standard imposes no requirements, 
> is what the standard says yields undefined behavior.

But it doesn't say that *all* uses of nonportable program constructs
yield undefined behavior.

Let's make it a complete program:

int main(void) {
    int n = 32767;
    n ++;
    return 0;
}

I say that this program (specifically its execution) has undefined
behavior under an implementation with INT_MAX == 32767, and has
well defined behavior under an implementation with INT_MAX > 32767.

What do you say?  Are you claiming that the program's behavior is
undefined regardless of the implementation?

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
    Will write code for food.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Type interchange Edward Rutherford <edward.p.rutherford79@REMOVETHIS.gmail.com> - 2011-11-30 21:53 +0000
  Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-11-30 17:29 -0500
    Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-11-30 15:22 -0800
      Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-11-30 19:10 -0500
        Re: Type interchange Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-12-01 03:09 +0000
          Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-01 07:13 -0500
            Re: Type interchange Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-12-01 15:55 +0000
              Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-01 11:28 -0500
                Re: Type interchange Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-12-01 16:45 +0000
                Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-01 12:00 -0500
                Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-12-01 14:31 -0800
                Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-01 20:18 -0500
                Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-12-01 17:35 -0800
                Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-02 12:03 -0500
                Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-12-02 13:49 -0800
                Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-02 22:12 -0500
                Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-12-03 02:01 -0800
                Re: Type interchange Tim Rentsch <txr@alumni.caltech.edu> - 2012-01-25 12:47 -0800
            Re: Type interchange pete <pfiland@mindspring.com> - 2011-12-01 11:10 -0500
              Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-01 11:34 -0500
              Re: Type interchange Kaz Kylheku <kaz@kylheku.com> - 2011-12-01 17:48 +0000
              Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-12-01 14:17 -0800
                Re: Type interchange pete <pfiland@mindspring.com> - 2011-12-01 17:43 -0500
                Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-12-01 15:00 -0800
                Re: Type interchange pete <pfiland@mindspring.com> - 2011-12-01 19:29 -0500
                Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-12-01 16:59 -0800
                Re: Type interchange pete <pfiland@mindspring.com> - 2011-12-02 08:35 -0500
                Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-02 08:46 -0500
                Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-12-02 13:32 -0800
                Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-12-02 13:30 -0800
                Re: Type interchange pete <pfiland@mindspring.com> - 2011-12-02 18:45 -0500
        Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-11-30 19:17 -0800
          Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-01 06:50 -0500
            Re: Type interchange Keith Thompson <kst-u@mib.org> - 2011-12-01 07:15 -0800
              Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-01 10:36 -0500
                Re: Type interchange pete <pfiland@mindspring.com> - 2011-12-01 11:04 -0500
                Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-01 11:37 -0500
                Re: Type interchange Tim Rentsch <txr@alumni.caltech.edu> - 2012-01-25 13:02 -0800
            Re: Type interchange Tim Rentsch <txr@alumni.caltech.edu> - 2012-01-25 13:01 -0800
    Re: Type interchange Quentin Pope <qp19433@hotmail.NOSPAM.com> - 2011-12-02 22:15 +0000
      Re: Type interchange James Kuyper <jameskuyper@verizon.net> - 2011-12-03 11:39 -0500

csiph-web