os_defines.h: Do not include <_sys/inttypes.h>.
authorJeff Law <law@redhat.com>
Mon, 24 Dec 2001 01:45:29 +0000 (18:45 -0700)
committerJeff Law <law@gcc.gnu.org>
Mon, 24 Dec 2001 01:45:29 +0000 (18:45 -0700)
        * config/os/hpux/bits/os_defines.h: Do not include <_sys/inttypes.h>.
        Twiddle return types for strtoll and strtoull to avoid using
        intmax_t and uintmax-t.

From-SVN: r48293

libstdc++-v3/ChangeLog
libstdc++-v3/config/os/hpux/bits/os_defines.h

index b6a91b4d416f30e1538edbf61460c1a347b0ae51..ed0be81506b446c0547ac46df9d15a020a20e9b5 100644 (file)
@@ -1,3 +1,9 @@
+Sun Dec 23 18:47:24 2001  Jeffrey A Law  (law@redhat.com)
+
+       * config/os/hpux/bits/os_defines.h: Do not include <_sys/inttypes.h>.
+       Twiddle return types for strtoll and strtoull to avoid using
+       intmax_t and uintmax-t.
+
 2001-12-22  Richard Henderson  <rth@redhat.com>
 
        * configure.target (CPULIMITSH): Fix typo in alpha case.
index 322bb568567074d3dce619d37e1c22eec3529f9a..29b32ea9c9991b05103fabeee98a54a827211c23 100644 (file)
    <inttypes.h>.  Ugh.
 
    <inttypes.h> defines a variety of things, some of which we 
-   probably do not want.  So we just provide prototypes for
-   the functions we care about here.
+   probably do not want.  So we don't want to include it here.
 
-   However, to do that, we must include <sys/_inttypes.h> to get
-   intmax_t and uintmax_t.  Luckily <sys/_inttypes.h> looks a
-   lot cleaner as far as namespace pollution is concerned. 
+   Luckily we can just declare strtoll and strtoull with the
+   __asm extension which effectively renames calls at the
+   source level without namespace pollution.
+
+   Also note that the compiler defines _INCLUDE_LONGLONG for C++
+   unconditionally, which makes intmax_t and uintmax_t long long
+   types.
 
    We also force _GLIBCPP_USE_LONG_LONG here so that we don't have
    to bastardize configure to deal with this sillyness.  */
-#include <sys/_inttypes.h>
 namespace std {
   extern "C" long long strtoll (const char *, char **, int)
     __asm  ("__strtoll");
-  extern "C" long long strtoull (const char *, char **, int)
+  extern "C" unsigned long long strtoull (const char *, char **, int)
     __asm  ("__strtoull");
 }
-extern intmax_t __strtoll (const char *, char**, int);
-extern uintmax_t __strtoull (const char *, char**, int);
 #define _GLIBCPP_USE_LONG_LONG 1
 #endif