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


Groups > comp.lang.c > #106242

Re: More problems with lcc-win

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>

Show all headers | View raw


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


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