Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #106242
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: More problems with lcc-win |
| Date | 2017-03-16 13:41 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <oae0vm$rhf$1@dont-email.me> (permalink) |
| References | (8 earlier) <oac0ft$8e2$1@dont-email.me> <lnh92ugw92.fsf@kst-u.example.com> <oac7ev$390$1@dont-email.me> <oadk7b$imu$1@dont-email.me> <oadrv2$bfv$1@dont-email.me> |
On 16/03/17 12:15, BartC wrote:
> On 16/03/2017 09:03, David Brown wrote:
>> On 15/03/17 21:19, BartC wrote:
>
>>> Here's the current set of int types and their typical widths on x86 and
>>> ARM:
>
>>> Notice the odd one out in each case...
>>>
>>> I think it could have been handled better.
>
>> And there /is/ an alternative that handles it differently (mostly
>> "better", IMHO - but not better in every way) - the fixed size types in
>> <stdint.h>.
>
> There is something about how stdint.h works. First, all those intN_t
> types are just defined on top of char, short, int, long, long long anyway!
/Usually/ that is the case - but it does not have to be that way. It
can be defined in an implementation-specific way. On the AVR port of
gcc, <stdint.h> has this:
typedef int int8_t __attribute__((__mode__(__QI__)));
typedef unsigned int uint8_t __attribute__((__mode__(__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int uint16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int uint32_t __attribute__ ((__mode__ (__SI__)));
But even with definitions in terms of the standard types, since
<stdint.h> is part of the implementation it knows exactly what sizes
these types are.
>
> But also the behaviour changes. Take this code using traditional types:
>
> int *a;
> long *b;
> long long *c;
>
> a=b;
> b=c;
> printf("%d %ld %lld",(int)0, (long)0, (long long)0);
>
>
> You would expect type errors on both assignments, but the formats to be
> fine. Now change to the equivalent using intN_t types:
>
> int32_t *a;
> //int32_t *b; // comment of these b's out
> int64_t *b;
> long long *c;
>
> a=b;
> b=c;
> printf("%d %ld %lld",(int32_t)0, (int64_t)0, (int64_t)0);
>
> Now only one of the assignments is a type error. And you can get an
> extra error in the formats. (Of course all formats would need upgrading
>
Yes. You should consider "int*" and "int32_t*" to be incompatible, and
the same applies to any other combination. Usually (baring an even
odder implementation than the one for the AVR above) some combinations
will work, but it will vary according to the implementation. You are
not even guaranteed that "int32_t *", "int_fast32_t *" and
"int_least32_t *" are compatible on a 32-bit system.
And for printf and friends, you need to use the macros in <inttypes.h>
(or use casts like you did). Ugly, it's true, but it works.
> Maybe this would never be of practical significance, but it seems to me
> amiss that you can't recreate the behaviour of the funny in-between
> 'long' type using fixed-width types.
>
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
More problems with lcc-win mertesthomas@gmail.com - 2017-03-15 00:29 -0700
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 11:27 +0100
Re: More problems with lcc-win scott@slp53.sl.home (Scott Lurndal) - 2017-03-15 13:18 +0000
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 15:22 +0100
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 08:26 -0700
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 08:25 -0700
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 16:46 +0100
Re: More problems with lcc-win David Brown <david.brown@hesbynett.no> - 2017-03-15 17:07 +0100
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 09:52 -0700
Re: More problems with lcc-win scott@slp53.sl.home (Scott Lurndal) - 2017-03-15 16:57 +0000
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 10:11 -0700
Re: More problems with lcc-win scott@slp53.sl.home (Scott Lurndal) - 2017-03-15 18:17 +0000
Re: More problems with lcc-win Richard Heathfield <rjh@cpax.org.uk> - 2017-03-15 17:21 +0000
Re: More problems with lcc-win GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-03-15 18:42 +0100
Re: More problems with lcc-win scott@slp53.sl.home (Scott Lurndal) - 2017-03-15 18:20 +0000
Re: More problems with lcc-win Richard Heathfield <rjh@cpax.org.uk> - 2017-03-15 18:59 +0000
Re: More problems with lcc-win BartC <bc@freeuk.com> - 2017-03-15 18:20 +0000
Re: More problems with lcc-win GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-03-15 19:39 +0100
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 12:44 -0700
Re: More problems with lcc-win BartC <bc@freeuk.com> - 2017-03-15 20:19 +0000
Re: More problems with lcc-win David Brown <david.brown@hesbynett.no> - 2017-03-16 10:03 +0100
Re: More problems with lcc-win BartC <bc@freeuk.com> - 2017-03-16 11:15 +0000
Re: More problems with lcc-win BartC <bc@freeuk.com> - 2017-03-16 11:32 +0000
Re: More problems with lcc-win David Brown <david.brown@hesbynett.no> - 2017-03-16 13:41 +0100
Re: More problems with lcc-win GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-03-16 08:52 +0100
Re: More problems with lcc-win David Brown <david.brown@hesbynett.no> - 2017-03-16 09:57 +0100
Re: More problems with lcc-win antispam@math.uni.wroc.pl - 2017-03-16 13:53 +0000
Re: More problems with lcc-win jm.bourguet@gmail.com - 2017-03-16 07:14 -0700
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-16 08:59 -0700
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 12:43 -0700
Re: More problems with lcc-win Richard Heathfield <rjh@cpax.org.uk> - 2017-03-15 20:39 +0000
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 23:56 +0100
Re: More problems with lcc-win Richard Heathfield <rjh@cpax.org.uk> - 2017-03-15 16:33 +0000
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 17:47 +0100
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 10:04 -0700
Re: More problems with lcc-win jacob navia <jacob@jacob.remcomp.fr> - 2017-03-16 00:52 +0100
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 18:02 -0700
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 18:23 -0700
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-17 13:45 -0700
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-18 00:23 +0100
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-18 00:29 +0100
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-18 00:31 +0100
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-17 17:01 -0700
Re: More problems with lcc-win Richard Heathfield <rjh@cpax.org.uk> - 2017-03-20 16:41 +0000
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-20 18:32 +0100
Re: More problems with lcc-win Richard Heathfield <rjh@cpax.org.uk> - 2017-03-20 18:18 +0000
Re: More problems with lcc-win bart4858@gmail.com - 2017-03-20 12:31 -0700
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-20 21:05 +0100
Re: More problems with lcc-win BartC <bc@freeuk.com> - 2017-03-20 20:45 +0000
Re: More problems with lcc-win Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-03-20 20:18 +0000
Re: More problems with lcc-win David Brown <david.brown@hesbynett.no> - 2017-03-21 09:56 +0100
Re: More problems with lcc-win Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-03-21 21:08 +0000
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-21 22:19 +0100
Re: More problems with lcc-win Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-03-22 06:29 +0000
Re: More problems with lcc-win supercat@casperkitty.com - 2017-03-21 16:12 -0700
Re: More problems with lcc-win gordonb.s97bd@burditt.org (Gordon Burditt) - 2017-03-24 01:13 -0500
Re: More problems with lcc-win supercat@casperkitty.com - 2017-03-24 08:16 -0700
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-26 03:18 -0700
Re: More problems with lcc-win BartC <bc@freeuk.com> - 2017-03-26 12:35 +0100
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-29 05:17 -0700
Re: More problems with lcc-win supercat@casperkitty.com - 2017-03-26 14:04 -0700
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-29 05:48 -0700
Re: More problems with lcc-win BartC <bc@freeuk.com> - 2017-03-21 23:21 +0000
Re: More problems with lcc-win Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-03-22 06:18 +0000
Re: More problems with lcc-win gordonb.1neik@burditt.org (Gordon Burditt) - 2017-03-21 18:45 -0500
Re: More problems with lcc-win jm.bourguet@gmail.com - 2017-03-22 01:02 -0700
Re: More problems with lcc-win David Brown <david.brown@hesbynett.no> - 2017-03-22 10:35 +0100
Re: More problems with lcc-win scott@slp53.sl.home (Scott Lurndal) - 2017-03-22 13:21 +0000
Re: More problems with lcc-win BartC <bc@freeuk.com> - 2017-03-22 14:08 +0000
Re: More problems with lcc-win scott@slp53.sl.home (Scott Lurndal) - 2017-03-22 15:37 +0000
Re: More problems with lcc-win Gareth Owen <gwowen@gmail.com> - 2017-03-22 21:09 +0000
Re: More problems with lcc-win scott@slp53.sl.home (Scott Lurndal) - 2017-03-21 13:09 +0000
Re: More problems with lcc-win Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-03-21 21:15 +0000
Re: More problems with lcc-win Ian Collins <ian-news@hotmail.com> - 2017-03-18 12:44 +1300
Re: More problems with lcc-win jameskuyper@verizon.net - 2017-03-17 16:59 -0700
Re: charsets Noob <root@127.0.0.1> - 2017-03-18 18:30 +0100
Re: More problems with lcc-win David Brown <david.brown@hesbynett.no> - 2017-03-16 10:18 +0100
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-15 15:06 -0700
Re: More problems with lcc-win Richard Heathfield <rjh@cpax.org.uk> - 2017-03-15 22:23 +0000
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-15 15:43 -0700
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 23:53 +0100
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-16 08:35 -0700
Re: More problems with lcc-win Richard Heathfield <rjh@cpax.org.uk> - 2017-03-15 23:13 +0000
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-16 06:28 -0700
Re: More problems with lcc-win Richard Heathfield <rjh@cpax.org.uk> - 2017-03-16 16:56 +0000
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-16 14:53 -0700
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 16:18 -0700
Re: More problems with lcc-win scott@slp53.sl.home (Scott Lurndal) - 2017-03-16 18:03 +0000
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-16 19:29 +0100
Re: More problems with lcc-win Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-03-16 21:38 +0000
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-17 08:58 -0700
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-17 09:45 -0700
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-17 10:33 -0700
Re: More problems with lcc-win "James R. Kuyper" <jameskuyper@verizon.net> - 2017-03-17 14:20 -0400
Re: More problems with lcc-win GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-03-17 20:18 +0100
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-18 00:44 -0700
Re: More problems with lcc-win BartC <bc@freeuk.com> - 2017-03-18 13:31 +0000
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-18 15:54 -0700
Re: More problems with lcc-win scott@slp53.sl.home (Scott Lurndal) - 2017-03-20 13:27 +0000
Re: More problems with lcc-win GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-03-18 15:15 +0100
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-18 11:39 -0700
Re: More problems with lcc-win GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-03-18 20:11 +0100
Re: More problems with lcc-win BartC <bc@freeuk.com> - 2017-03-18 19:45 +0000
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-20 00:35 -0700
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-18 14:22 -0700
Re: More problems with lcc-win GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-03-18 22:46 +0100
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-18 16:12 -0700
Re: More problems with lcc-win supercat@casperkitty.com - 2017-03-18 18:01 -0700
Re: More problems with lcc-win GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-03-19 03:21 +0100
Re: More problems with lcc-win Ian Collins <ian-news@hotmail.com> - 2017-03-19 15:32 +1300
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-19 02:17 -0700
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-15 14:25 -0700
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 23:49 +0100
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 11:28 +0100
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-15 14:35 -0700
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 23:44 +0100
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 13:06 +0100
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-15 14:43 -0700
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 23:43 +0100
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 13:19 +0100
Re: More problems with lcc-win mertesthomas@gmail.com - 2017-03-15 14:50 -0700
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 08:24 -0700
Re: More problems with lcc-win jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-15 16:47 +0100
Re: More problems with lcc-win jameskuyper@verizon.net - 2017-03-15 09:04 -0700
Re: More problems with lcc-win Keith Thompson <kst-u@mib.org> - 2017-03-15 09:15 -0700
Re: More problems with lcc-win gazelle@shell.xmission.com (Kenny McCormack) - 2017-03-15 19:59 +0000
Re: More problems with lcc-win Richard Heathfield <rjh@cpax.org.uk> - 2017-03-15 16:32 +0000
csiph-web