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


Groups > comp.lang.c > #66298

Re: counting bytes

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: counting bytes
Date 2015-07-24 11:14 -0700
Organization None to speak of
Message-ID <lna8ulzam2.fsf@kst-u.example.com> (permalink)
References (9 earlier) <kfn4mlazpn0.fsf@x-alumni2.alumni.caltech.edu> <lnwpy6nsxq.fsf@kst-u.example.com> <kfnbnf7os84.fsf@x-alumni2.alumni.caltech.edu> <lnwpxug0bb.fsf@kst-u.example.com> <kfnmvylh4r0.fsf@x-alumni2.alumni.caltech.edu>

Show all headers | View raw


Tim Rentsch <txr@alumni.caltech.edu> writes:
> Keith Thompson <kst-u@mib.org> writes:
>> Tim Rentsch <txr@alumni.caltech.edu> writes:
>>> Keith Thompson <kst-u@mib.org> writes:
>>>> Tim Rentsch <txr@alumni.caltech.edu> writes:
>>
>> [...]
>>
>>>>> It is possible to have a conforming implementation with
>>>>> CHAR_BIT > 8 but still having a type that occupies only eight
>>>>> bits.  AFAIK there is no reason such an implementation
>>>>> could not use that type to provide the [u]int8_t types.
>>>>
>>>> I'm skeptical.
>>>
>>> The combination of undefined behavior resulting from trap
>>> representatons and the Standard allowing an extremely wide
>>> range of extensions is enormously powerful.  In some sense
>>> it's an academic question since such an implementation will
>>> in all likelihood never be produced.  But I think it's
>>> interesting to consider the possibility.
>>
>> Sure -- but I still don't think it's a possibility.
>>
>> Extensions can take advantage of undefined behavior, but your proposed
>> extension (using padding bits and trap representations in size_t to
>> represent fractional values) introduces undefined behavior where it
>> doesn't currently exist.  I believe it is therefore non-conforming.
>>
>> I believe that this program:
>>
>> #include <stdio.h>
>> #include <stdint.h>
>>
>> int main(void) {
>> #ifdef UINT8_MAX
>>     if (sizeof (uint8_t) < (size_t)1) {
>>         puts("I am confused");
>>     }
>>     else {
>>         puts("ok");
>>     }
>> #else
>>     puts("ok");
>> #endif
>>     return 0;
>> }
>>
>> is strictly conforming (subject to the usual caveats about the puts call
>> failing) and must print "ok".
>
> Sure, but that doesn't mean there can't an extension that provides
> these types, as long as they are provided only to (some subset of)
> programs that are not strictly conforming.

If you enable the extension only in the presence of a #pragma, for
example, then sure, it would be valid.  A conforming implementation
could have a "#pragma LANGUAGE FORTRAN" that turns it into a Fortran
compiler.

Types smaller than CHAR_BIT bits are permitted as an extension only in
the sense that just about *anything* is permitted as an extension.

Using such a type to define uint8_t on a system where CHAR_BIT > 8 would
not, I think, be conforming.  In addition, I think it would be a bad
idea; it would break some assumptions that C programmers can reasonably
depend on, such as that any object's representation can be treated as an
array of unsigned char -- or that sizeof yields an integer.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"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

counting bytes bilsch01 <king621@comcast.net> - 2015-06-06 04:58 -0700
  Re: counting bytes Bartc <bc@freeuk.com> - 2015-06-06 13:05 +0100
    Re: counting bytes bilsch01 <king621@comcast.net> - 2015-06-06 05:24 -0700
      Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-06-06 05:41 -0700
        Re: counting bytes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-06-06 14:00 +0100
      Re: counting bytes Bartc <bc@freeuk.com> - 2015-06-06 13:52 +0100
      Re: counting bytes Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-06-06 10:27 -0400
        Re: counting bytes jt@toerring.de (Jens Thoms Toerring) - 2015-06-06 22:31 +0000
          THANKS EVERYBODY FOR THE INFO bilsch01 <king621@comcast.net> - 2015-06-06 23:35 -0700
            Re: THANKS EVERYBODY FOR THE INFO Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-06-07 10:08 +0100
              Re: THANKS EVERYBODY FOR THE INFO Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-06-07 09:22 -0700
                Re: THANKS EVERYBODY FOR THE INFO Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-06-07 18:07 +0100
                Re: THANKS EVERYBODY FOR THE INFO Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-06-08 04:03 -0700
                Re: THANKS EVERYBODY FOR THE INFO Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-11 08:12 -0700
            Re: THANKS EVERYBODY FOR THE INFO Keith Thompson <kst-u@mib.org> - 2015-06-07 08:01 -0700
          Re: counting bytes gordonb.3gcai@burditt.org (Gordon Burditt) - 2015-06-07 05:02 -0500
          Re: counting bytes David Brown <david.brown@hesbynett.no> - 2015-06-07 15:32 +0200
            Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-06-07 12:48 -0700
              Re: counting bytes David Brown <david.brown@hesbynett.no> - 2015-06-07 23:05 +0200
                Re: counting bytes Richard Heathfield <rjh@cpax.org.uk> - 2015-06-07 22:17 +0100
                Re: counting bytes David Brown <david.brown@hesbynett.no> - 2015-06-07 23:49 +0200
                Re: counting bytes Richard Heathfield <rjh@cpax.org.uk> - 2015-06-07 23:37 +0100
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-11 08:25 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-11 08:21 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-11 13:54 -0500
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-20 06:33 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-20 09:51 -0500
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-24 09:49 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-24 12:26 -0500
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-30 11:16 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-30 23:15 -0500
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-02 06:07 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-02 14:31 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-09 05:31 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-09 17:09 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-05 09:58 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-09-05 19:29 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-06 14:38 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-09-06 17:46 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-07 23:50 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-09-06 22:00 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-07 23:24 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-24 20:03 -0400
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-24 22:13 -0500
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-25 02:22 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-25 11:39 -0500
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-25 09:48 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-25 14:04 -0500
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-25 14:22 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-25 11:07 -0400
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-25 12:43 -0400
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-25 13:32 -0400
                Re: counting bytes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-25 20:14 +0000
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-25 17:24 -0400
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-25 14:42 -0700
                Re: counting bytes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-25 23:02 +0000
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-25 19:17 -0400
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-25 16:37 -0700
                Re: counting bytes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-26 06:10 +0000
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-26 08:31 -0400
                Re: counting bytes Bartc <bc@freeuk.com> - 2015-07-30 21:32 +0100
                Re: counting bytes raltbos@xs4all.nl (Richard Bos) - 2015-07-31 13:25 +0000
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-31 11:31 -0400
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-31 11:30 -0700
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-31 14:29 -0400
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-31 12:14 -0700
                Re: counting bytes David Kleinecke <dkleinecke@gmail.com> - 2015-07-31 17:39 -0700
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-31 23:32 -0400
                Re: counting bytes David Kleinecke <dkleinecke@gmail.com> - 2015-08-01 16:41 -0700
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-08-01 20:23 -0400
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-31 11:01 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-25 19:42 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-30 12:16 -0700
                Re: counting bytes Bartc <bc@freeuk.com> - 2015-07-30 22:04 +0100
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-02 06:10 -0700
                Re: counting bytes David Kleinecke <dkleinecke@gmail.com> - 2015-07-25 19:10 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-25 22:16 -0400
                Re: counting bytes David Kleinecke <dkleinecke@gmail.com> - 2015-07-25 19:46 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-30 11:52 -0700
                Re: counting bytes raltbos@xs4all.nl (Richard Bos) - 2015-07-31 08:51 +0000
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-02 06:19 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-01 09:39 -0400
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-08-01 13:06 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-01 20:43 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-02 06:52 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-02 15:14 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-09 07:54 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-09 16:43 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-05 10:48 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-11 17:50 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-20 06:36 -0700
                Re: counting bytes raltbos@xs4all.nl (Richard Bos) - 2015-07-20 15:14 +0000
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-24 09:38 -0700
                Re: counting bytes raltbos@xs4all.nl (Richard Bos) - 2015-07-25 19:12 +0000
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-30 12:18 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-11 17:03 -0700
                Re: counting bytes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-12 00:15 +0000
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-11 17:42 -0700
                Re: counting bytes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-12 02:46 +0000
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-12 12:33 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-20 06:48 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-20 11:18 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-24 09:58 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-24 11:14 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-30 11:02 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-30 13:10 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-01 10:53 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-06-07 14:46 -0700
                Re: counting bytes David Brown <david.brown@hesbynett.no> - 2015-06-08 09:05 +0200
  Re: counting bytes Siri Cruz <chine.bleu@yahoo.com> - 2015-06-06 05:06 -0700
  Re: counting bytes bartekltg <bartekltg@gmail.com> - 2015-07-26 00:58 +0200
    Re: counting bytes bartekltg <bartekltg@gmail.com> - 2015-07-26 01:00 +0200

csiph-web