On 30.11.2016 15:32, Paul "LeoNerd" Evans wrote:
On Wed, 30 Nov 2016 18:18:11 +0530
Senthil Kumar Selvaraj <senthil_kumar.selva...@atmel.com> wrote:

Diogo Martins Silva writes:

Hello all.

The avr-gcc wiki (https://gcc.gnu.org/wiki/avr-gcc) lists 24 bits
(u)ints as an extension since version 4.7. How do I use them?

Use __uint24 as the type. Like so

$ cat test.c
volatile __uint24 x;
int main() {
  x++;
  x--;
}

Is it possible to get that added to <stdint.h> as the expected names

  int24_t
  uint24_t

?

The C99 and later standards don't supply these types or reserve these identifiers. Since C99, "int8_t" is an identifier that resides in the namespace of the implementation, whereas "int24_t" is still in the namespace of the application. Hence, for the new 3-byte types names were chosen that are in the namespace of the implementation, i.e. reserved identifiers which start with "__" (__int24 and __uint24).

If you like you can define such types in your application, but they should not go into any standard header.

Johann



_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to