[cfe-users] Warnings with stdint.h?

Kumar Gala via cfe-users cfe-users at lists.llvm.org
Thu Mar 14 08:39:22 PDT 2019


I’m trying to build for ARM and was surprised to get warnings from the stdint.h.  Is this expected behavior?

Here’s what my c file looks like:

foo.c:
#include <stdint.h>

How I’m invoking the compiler:

/usr/bin/clang --target=arm-none-eabi -I/usr/lib64/clang/7.0.1/include -nostdinc  -c foo.c

I’m surprised to see the following warnings get generated with /usr/lib64/clang/7.0.1/include/stdint.h:

In file included from foo.c:1:
/usr/lib64/clang/7.0.1/include/stdint.h:186:10: warning: '__int_least32_t' macro redefined [-Wmacro-redefined]
# define __int_least32_t int32_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:112:10: note: previous definition is here
# define __int_least32_t int64_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:187:10: warning: '__uint_least32_t' macro redefined [-Wmacro-redefined]
# define __uint_least32_t uint32_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:113:10: note: previous definition is here
# define __uint_least32_t uint64_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:188:10: warning: '__int_least16_t' macro redefined [-Wmacro-redefined]
# define __int_least16_t int32_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:114:10: note: previous definition is here
# define __int_least16_t int64_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:189:10: warning: '__uint_least16_t' macro redefined [-Wmacro-redefined]
# define __uint_least16_t uint32_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:115:10: note: previous definition is here
# define __uint_least16_t uint64_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:190:10: warning: '__int_least8_t' macro redefined [-Wmacro-redefined]
# define __int_least8_t int32_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:116:10: note: previous definition is here
# define __int_least8_t int64_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:191:10: warning: '__uint_least8_t' macro redefined [-Wmacro-redefined]
# define __uint_least8_t uint32_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:117:10: note: previous definition is here
# define __uint_least8_t uint64_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:219:10: warning: '__int_least16_t' macro redefined [-Wmacro-redefined]
# define __int_least16_t int16_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:188:10: note: previous definition is here
# define __int_least16_t int32_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:220:10: warning: '__uint_least16_t' macro redefined [-Wmacro-redefined]
# define __uint_least16_t uint16_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:189:10: note: previous definition is here
# define __uint_least16_t uint32_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:221:10: warning: '__int_least8_t' macro redefined [-Wmacro-redefined]
# define __int_least8_t int16_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:190:10: note: previous definition is here
# define __int_least8_t int32_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:222:10: warning: '__uint_least8_t' macro redefined [-Wmacro-redefined]
# define __uint_least8_t uint16_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:191:10: note: previous definition is here
# define __uint_least8_t uint32_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:238:10: warning: '__int_least8_t' macro redefined [-Wmacro-redefined]
# define __int_least8_t int8_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:221:10: note: previous definition is here
# define __int_least8_t int16_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:239:10: warning: '__uint_least8_t' macro redefined [-Wmacro-redefined]
# define __uint_least8_t uint8_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:222:10: note: previous definition is here
# define __uint_least8_t uint16_t
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:376:11: warning: '__int32_c_suffix' macro redefined [-Wmacro-redefined]
#  define __int32_c_suffix __INT32_C_SUFFIX__
          ^
/usr/lib64/clang/7.0.1/include/stdint.h:301:11: note: previous definition is here
#  define __int32_c_suffix __INT64_C_SUFFIX__
          ^
/usr/lib64/clang/7.0.1/include/stdint.h:377:11: warning: '__int16_c_suffix' macro redefined [-Wmacro-redefined]
#  define __int16_c_suffix __INT32_C_SUFFIX__
          ^
/usr/lib64/clang/7.0.1/include/stdint.h:302:11: note: previous definition is here
#  define __int16_c_suffix __INT64_C_SUFFIX__
          ^
/usr/lib64/clang/7.0.1/include/stdint.h:378:11: warning: '__int8_c_suffix' macro redefined [-Wmacro-redefined]
#  define __int8_c_suffix  __INT32_C_SUFFIX__
          ^
/usr/lib64/clang/7.0.1/include/stdint.h:303:12: note: previous definition is here
#  define  __int8_c_suffix __INT64_C_SUFFIX__
           ^
/usr/lib64/clang/7.0.1/include/stdint.h:414:11: warning: '__int16_c_suffix' macro redefined [-Wmacro-redefined]
#  define __int16_c_suffix __INT16_C_SUFFIX__
          ^
/usr/lib64/clang/7.0.1/include/stdint.h:377:11: note: previous definition is here
#  define __int16_c_suffix __INT32_C_SUFFIX__
          ^
/usr/lib64/clang/7.0.1/include/stdint.h:415:11: warning: '__int8_c_suffix' macro redefined [-Wmacro-redefined]
#  define __int8_c_suffix  __INT16_C_SUFFIX__
          ^
/usr/lib64/clang/7.0.1/include/stdint.h:378:11: note: previous definition is here
#  define __int8_c_suffix  __INT32_C_SUFFIX__
          ^
/usr/lib64/clang/7.0.1/include/stdint.h:435:11: warning: '__int8_c_suffix' macro redefined [-Wmacro-redefined]
#  define __int8_c_suffix __INT8_C_SUFFIX__
          ^
/usr/lib64/clang/7.0.1/include/stdint.h:415:11: note: previous definition is here
#  define __int8_c_suffix  __INT16_C_SUFFIX__
          ^
/usr/lib64/clang/7.0.1/include/stdint.h:569:10: warning: '__INT_LEAST32_MIN' macro redefined
      [-Wmacro-redefined]
# define __INT_LEAST32_MIN   INT32_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:478:10: note: previous definition is here
# define __INT_LEAST32_MIN   INT64_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:570:10: warning: '__INT_LEAST32_MAX' macro redefined
      [-Wmacro-redefined]
# define __INT_LEAST32_MAX   INT32_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:479:10: note: previous definition is here
# define __INT_LEAST32_MAX   INT64_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:571:10: warning: '__UINT_LEAST32_MAX' macro redefined
      [-Wmacro-redefined]
# define __UINT_LEAST32_MAX UINT32_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:480:10: note: previous definition is here
# define __UINT_LEAST32_MAX UINT64_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:572:10: warning: '__INT_LEAST16_MIN' macro redefined
      [-Wmacro-redefined]
# define __INT_LEAST16_MIN   INT32_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:481:10: note: previous definition is here
# define __INT_LEAST16_MIN   INT64_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:573:10: warning: '__INT_LEAST16_MAX' macro redefined
      [-Wmacro-redefined]
# define __INT_LEAST16_MAX   INT32_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:482:10: note: previous definition is here
# define __INT_LEAST16_MAX   INT64_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:574:10: warning: '__UINT_LEAST16_MAX' macro redefined
      [-Wmacro-redefined]
# define __UINT_LEAST16_MAX UINT32_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:483:10: note: previous definition is here
# define __UINT_LEAST16_MAX UINT64_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:575:10: warning: '__INT_LEAST8_MIN' macro redefined [-Wmacro-redefined]
# define __INT_LEAST8_MIN    INT32_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:484:10: note: previous definition is here
# define __INT_LEAST8_MIN    INT64_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:576:10: warning: '__INT_LEAST8_MAX' macro redefined [-Wmacro-redefined]
# define __INT_LEAST8_MAX    INT32_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:485:10: note: previous definition is here
# define __INT_LEAST8_MAX    INT64_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:577:10: warning: '__UINT_LEAST8_MAX' macro redefined
      [-Wmacro-redefined]
# define __UINT_LEAST8_MAX  UINT32_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:486:10: note: previous definition is here
# define __UINT_LEAST8_MAX  UINT64_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:613:10: warning: '__INT_LEAST16_MIN' macro redefined
      [-Wmacro-redefined]
# define __INT_LEAST16_MIN   INT16_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:572:10: note: previous definition is here
# define __INT_LEAST16_MIN   INT32_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:614:10: warning: '__INT_LEAST16_MAX' macro redefined
      [-Wmacro-redefined]
# define __INT_LEAST16_MAX   INT16_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:573:10: note: previous definition is here
# define __INT_LEAST16_MAX   INT32_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:615:10: warning: '__UINT_LEAST16_MAX' macro redefined
      [-Wmacro-redefined]
# define __UINT_LEAST16_MAX UINT16_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:574:10: note: previous definition is here
# define __UINT_LEAST16_MAX UINT32_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:616:10: warning: '__INT_LEAST8_MIN' macro redefined [-Wmacro-redefined]
# define __INT_LEAST8_MIN    INT16_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:575:10: note: previous definition is here
# define __INT_LEAST8_MIN    INT32_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:617:10: warning: '__INT_LEAST8_MAX' macro redefined [-Wmacro-redefined]
# define __INT_LEAST8_MAX    INT16_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:576:10: note: previous definition is here
# define __INT_LEAST8_MAX    INT32_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:618:10: warning: '__UINT_LEAST8_MAX' macro redefined
      [-Wmacro-redefined]
# define __UINT_LEAST8_MAX  UINT16_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:577:10: note: previous definition is here
# define __UINT_LEAST8_MAX  UINT32_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:635:10: warning: '__INT_LEAST8_MIN' macro redefined [-Wmacro-redefined]
# define __INT_LEAST8_MIN    INT8_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:616:10: note: previous definition is here
# define __INT_LEAST8_MIN    INT16_MIN
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:636:10: warning: '__INT_LEAST8_MAX' macro redefined [-Wmacro-redefined]
# define __INT_LEAST8_MAX    INT8_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:617:10: note: previous definition is here
# define __INT_LEAST8_MAX    INT16_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:637:10: warning: '__UINT_LEAST8_MAX' macro redefined
      [-Wmacro-redefined]
# define __UINT_LEAST8_MAX  UINT8_MAX
         ^
/usr/lib64/clang/7.0.1/include/stdint.h:618:10: note: previous definition is here
# define __UINT_LEAST8_MAX  UINT16_MAX
         ^
36 warnings generated.
[galak at spiff zephyr]$ /usr/lib64/clang/7.0.1/include/stdint.h:




More information about the cfe-users mailing list