-
Notifications
You must be signed in to change notification settings - Fork 15.3k
Open
Labels
cc++clang:frontendLanguage frontend issues, e.g. anything involving "Sema"Language frontend issues, e.g. anything involving "Sema"confirmedVerified by a second partyVerified by a second party
Description
The following should work just fine AFAICT:
#include <stdint.h>
static_assert(__is_same(int8_t, __INT8_TYPE__));
static_assert(__is_same(int16_t, __INT16_TYPE__));
static_assert(__is_same(int32_t, __INT32_TYPE__));
static_assert(__is_same(int64_t, __INT64_TYPE__));
static_assert(__is_same(int_least8_t, __INT_LEAST8_TYPE__));
static_assert(__is_same(int_least16_t, __INT_LEAST16_TYPE__));
static_assert(__is_same(int_least32_t, __INT_LEAST32_TYPE__));
static_assert(__is_same(int_fast64_t, __INT_FAST64_TYPE__));
static_assert(__is_same(int_fast8_t, __INT_FAST8_TYPE__));
static_assert(__is_same(int_fast16_t, __INT_FAST16_TYPE__));
static_assert(__is_same(int_fast32_t, __INT_FAST32_TYPE__));
static_assert(__is_same(int_fast64_t, __INT_FAST64_TYPE__));
static_assert(__is_same(intptr_t, __INTPTR_TYPE__));
static_assert(__is_same(intmax_t, __INTMAX_TYPE__));
static_assert(__is_same(uint8_t, __UINT8_TYPE__));
static_assert(__is_same(uint16_t, __UINT16_TYPE__));
static_assert(__is_same(uint32_t, __UINT32_TYPE__));
static_assert(__is_same(uint64_t, __UINT64_TYPE__));
static_assert(__is_same(uint_least8_t, __UINT_LEAST8_TYPE__));
static_assert(__is_same(uint_least16_t, __UINT_LEAST16_TYPE__));
static_assert(__is_same(uint_least32_t, __UINT_LEAST32_TYPE__));
static_assert(__is_same(uint_least64_t, __UINT_LEAST64_TYPE__));
static_assert(__is_same(uint_fast8_t, __UINT_FAST8_TYPE__));
static_assert(__is_same(uint_fast16_t, __UINT_FAST16_TYPE__));
static_assert(__is_same(uint_fast32_t, __UINT_FAST32_TYPE__));
static_assert(__is_same(uint_fast64_t, __UINT_FAST64_TYPE__));
static_assert(__is_same(uintptr_t, __UINTPTR_TYPE__));
static_assert(__is_same(uintmax_t, __UINTMAX_TYPE__));
However, at least with glibc, a few of the static_asserts currently fail. Note that with GCC this does in fact work: https://godbolt.org/z/xjcGzq4Mb
Metadata
Metadata
Assignees
Labels
cc++clang:frontendLanguage frontend issues, e.g. anything involving "Sema"Language frontend issues, e.g. anything involving "Sema"confirmedVerified by a second partyVerified by a second party