aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/config.h.in
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2021-04-30 15:54:14 +0100
committerJonathan Wakely <jwakely@redhat.com>2021-04-30 20:30:46 +0100
commit7ddcd26ebb60a8a4b57330442631115cabb6ec22 (patch)
treee797c6b35100d8a67d310fb1327ae5c337cc3347 /libstdc++-v3/config.h.in
parentd8d291f3367230fdfdacc9868b0aa01de1dabb13 (diff)
downloadgcc-7ddcd26ebb60a8a4b57330442631115cabb6ec22.zip
gcc-7ddcd26ebb60a8a4b57330442631115cabb6ec22.tar.gz
gcc-7ddcd26ebb60a8a4b57330442631115cabb6ec22.tar.bz2
libstdc++: Remove GLIBCXX_CHECK_INT64_T checks
This simplifies the definition of std::streamoff by using the predefined __INT64_TYPE__ macro, instead of the _GLIBCXX_HAVE_INT64_T_LONG, _GLIBCXX_HAVE_INT64_T_LONG_LONG and _GLIBCXX_HAVE_INT64_T macros defined by configure. By using the __INT64_TYPE__ macro (which all of GCC, Clang and Intel define) we do not need to determine the type of int64_t in configure, we can just use that type directly. The background for the change was explained by David Edelsohn: Currently the type of streamoff is determined at libstdc++ configure time, chosen by the definitions of _GLIBCXX_HAVE_INT64_T_LONG and _GLIBCXX_HAVE_INT64_T_LONG_LONG. For a multilib configuration, the difference is encoded in the different multilib header file paths. For "FAT" library targets that package 32 bit and 64 bit libraries together, G++ also expects a single header file directory hierarchy, causing an incorrect value for streamoff in some situations. And in a subsequent mail: Most of the libstdc++ headers are architecture-neutral, OS neutral and ABI neutral. The differences are localized in bits/c++config.h. And most of c++config.h is identical for 32 bit AIX and 64 bit AIX. The only differences that matter are __int128 and __int64_t. This change removes some of those differences. With the only uses of the INT64_T configure macros removed, the configure checks themselves can also be removed. Co-authored-by: David Edelsohn <dje.gcc@gmail.com> libstdc++-v3/ChangeLog: * acinclude.m4 (GLIBCXX_CHECK_INT64_T): Delete. * config.h.in: Regenerate. * configure: Regenerate. * configure.ac: Do not use GLIBCXX_CHECK_INT64_T. * include/bits/postypes.h: Remove include of <stdint.h> and definition/undefinition of the __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS macros. (streamoff): Use __INT64_TYPE__ if defined.
Diffstat (limited to 'libstdc++-v3/config.h.in')
-rw-r--r--libstdc++-v3/config.h.in9
1 files changed, 0 insertions, 9 deletions
diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in
index 37b56b8..197e8e6 100644
--- a/libstdc++-v3/config.h.in
+++ b/libstdc++-v3/config.h.in
@@ -153,15 +153,6 @@
/* Define to 1 if you have the <ieeefp.h> header file. */
#undef HAVE_IEEEFP_H
-/* Define if int64_t is available in <stdint.h>. */
-#undef HAVE_INT64_T
-
-/* Define if int64_t is a long. */
-#undef HAVE_INT64_T_LONG
-
-/* Define if int64_t is a long long. */
-#undef HAVE_INT64_T_LONG_LONG
-
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H