https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124447

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Note, https://eel.is/c++draft/cstdint.syn#1 describes it like that, i.e.
namespace std { using something_t = ...; } rather than namespace std { using
::something_t; }
Now, without reflection guess there is no difference.  And  <cstdint> actually
has
two different halves, one:
namespace std
{
#ifdef _GLIBCXX_USE_C99_STDINT
  using ::int8_t;
  using ::int16_t;
  using ::int32_t;
  using ::int64_t;
...
#else // !_GLIBCXX_USE_C99_STDINT

  using intmax_t = __INTMAX_TYPE__;
  using uintmax_t = __UINTMAX_TYPE__;

#ifdef __INT8_TYPE__
  using int8_t = __INT8_TYPE__;
#endif
#ifdef __INT16_TYPE__
  using int16_t = __INT16_TYPE__;
#endif
#ifdef __INT32_TYPE__
  using int32_t = __INT32_TYPE__;
#endif
#ifdef __INT64_TYPE__
  using int64_t = __INT64_TYPE__;
#endif
...
#endif
}
So, guess it works if _GLIBCXX_USE_C99_STDINT is not defined and doesn't if it
is.

Reply via email to