aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/config
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-22 00:42:46 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-22 00:42:46 +0000
commit5506172a3e8251423efbb5d90c991cec569c294c (patch)
tree466dfaf8e60d97857a783b501005eec5828af6e2 /libstdc++-v3/config
parent1c278227f2816d32b1b64a62896c35757d8db812 (diff)
* config/os/hpux/bits/os_defines.h: Include <sys/_inttypes.h.
Define strtoll and strtoull. Provide prototypes for __strtoll and __strtoull. Define _GLIBCPP_USE_LONG_LONG unconditionally. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48260 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/config')
-rw-r--r--libstdc++-v3/config/os/hpux/bits/os_defines.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/libstdc++-v3/config/os/hpux/bits/os_defines.h b/libstdc++-v3/config/os/hpux/bits/os_defines.h
index d7045d0a16e..323c0c66d71 100644
--- a/libstdc++-v3/config/os/hpux/bits/os_defines.h
+++ b/libstdc++-v3/config/os/hpux/bits/os_defines.h
@@ -43,4 +43,27 @@
#define __glibcpp_long_bits 64
#endif
+/* HP-UX, for reasons unknown choose to use a different name for
+ the string to [unsigned] long long conversion routines.
+
+ Furthermore, instead of having the prototypes in stdlib.h like
+ everyone else, they put them into a non-standard header
+ <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.
+
+ 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.
+
+ 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>
+#define strtoll __strtoll
+#define strtoull __strtoull
+extern intmax_t __strtoll (const char *, char**, int);
+extern uintmax_t __strtoull (const char *, char**, int);
+#define _GLIBCPP_USE_LONG_LONG 1
#endif