// <cinttypes> -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007-2024 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
#pragma GCC system_header
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
-#endif
-
-#if defined(_GLIBCXX_INCLUDE_AS_TR1)
-# error C++0x header cannot be included from TR1 header
-#endif
+#else
#include <cstdint>
-// For 8.11.1/1 (see C99, Note 184)
+// For 27.9.2/3 (see C99, Note 184)
#if _GLIBCXX_HAVE_INTTYPES_H
# ifndef __STDC_FORMAT_MACROS
# define _UNDEF__STDC_FORMAT_MACROS
# endif
#endif
-#if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
-# include <tr1_impl/cinttypes>
-#else
-# define _GLIBCXX_INCLUDE_AS_CXX0X
-# define _GLIBCXX_BEGIN_NAMESPACE_TR1
-# define _GLIBCXX_END_NAMESPACE_TR1
-# define _GLIBCXX_TR1
-# include <tr1_impl/cinttypes>
-# undef _GLIBCXX_TR1
-# undef _GLIBCXX_END_NAMESPACE_TR1
-# undef _GLIBCXX_BEGIN_NAMESPACE_TR1
-# undef _GLIBCXX_INCLUDE_AS_CXX0X
+#ifdef _GLIBCXX_USE_C99_INTTYPES
+
+namespace std
+{
+ // types
+ using ::imaxdiv_t;
+
+ // functions
+ using ::imaxabs;
+ using ::imaxdiv;
+
+ // GCC does not support extended integer types
+ // intmax_t abs(intmax_t)
+ // imaxdiv_t div(intmax_t, intmax_t)
+
+ using ::strtoimax;
+ using ::strtoumax;
+
+#if defined(_GLIBCXX_USE_WCHAR_T) && _GLIBCXX_USE_C99_INTTYPES_WCHAR_T
+ using ::wcstoimax;
+ using ::wcstoumax;
#endif
+} // namespace std
+
+#endif // _GLIBCXX_USE_C99_INTTYPES
+
+#endif // C++11
#endif // _GLIBCXX_CINTTYPES