[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: integer types
From: |
Eli Zaretskii |
Subject: |
Re: integer types |
Date: |
Wed, 05 Apr 2023 17:14:03 +0300 |
> From: Gavin Smith <gavinsmith0123@gmail.com>
> Date: Wed, 5 Apr 2023 14:59:23 +0100
> Cc: pertusus@free.fr, arash@gnu.org, bug-texinfo@gnu.org
>
> Might it be better to round-trip through intptr_t rather than through
> a pointer type?
Yes, I think this will be better. Cleaner, too.
> > I think you are forgetting the endianness. With at least one of the
> > two possible endianness possibilities, isn't it true that casting to a
> > narrower type can result in catastrophic loss of significant bits, if
> > you cast between integers and pointers, or vice versa?
>
> I've never heard of that before. So you are saying if you have a small
> integer (like 5) stored in a narrow integer type, cast this to a wider
> pointer type, and then cast it back to the same integer type, then
> something catastrophic happens? How does that work?
If the pointer is to a narrower type, then dereferencing it will take
only part of the bits of the integer value. Depending on the
endianness, that part could be the LSB (good) or MSB (bad).
> > If we don't want to change the type, we can assign the value to a
> > variable of the suitable width:
> >
> > void *elptr = value;
> > add_associated_info_key (e->extra_info, key, elptr, extra_integer);
>
> How is that different to the following?
>
> add_associated_info_key (e->extra_info, key, (void*) value,
> extra_integer);
It avoids the problem with endianness, since all the significant bits
will be copied.
- [PATCH] Silence compiler warnings with MinGW64, Arash Esbati, 2023/04/05
- Re: [PATCH] Silence compiler warnings with MinGW64, Eli Zaretskii, 2023/04/05
- Re: [PATCH] Silence compiler warnings with MinGW64, Patrice Dumas, 2023/04/05
- Re: [PATCH] Silence compiler warnings with MinGW64, Eli Zaretskii, 2023/04/05
- integer types, Gavin Smith, 2023/04/05
- Re: integer types, Eli Zaretskii, 2023/04/05
- Re: integer types, Gavin Smith, 2023/04/05
- Re: integer types,
Eli Zaretskii <=
- Re: integer types, Gavin Smith, 2023/04/05
- Re: integer types, Andreas Schwab, 2023/04/05
Re: [PATCH] Silence compiler warnings with MinGW64, Gavin Smith, 2023/04/05
- Re: [PATCH] Silence compiler warnings with MinGW64, Arash Esbati, 2023/04/06
- Re: [PATCH] Silence compiler warnings with MinGW64, Gavin Smith, 2023/04/06
- Re: [PATCH] Silence compiler warnings with MinGW64, Eli Zaretskii, 2023/04/06
- Re: [PATCH] Silence compiler warnings with MinGW64, Arash Esbati, 2023/04/06
- Re: [PATCH] Silence compiler warnings with MinGW64, Eli Zaretskii, 2023/04/06
- Re: [PATCH] Silence compiler warnings with MinGW64, Gavin Smith, 2023/04/06
- Re: [PATCH] Silence compiler warnings with MinGW64, Arash Esbati, 2023/04/06