aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/config/os/hpux/bits/os_defines.h7
2 files changed, 15 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b552f4f..1611797 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,11 @@
+2002-04-12 Steve Ellcey <sje@cup.hp.com>
+
+ * gcc/libstdc++-v3/config/os/hpux/bits/os_defines.h
+ (strtoll, strtoull): In 64 bit mode HP-UX (IA64 and HPPA)
+ does not define strtoll or strtoull, but does define strtol
+ and strtoul which are the same since in 64 bit mode
+ sizeof(long) == sizeof(long long).
+
2002-04-12 Phil Edwards <pme@gcc.gnu.org>
* include/std/std_bitset.h: Doxygenate std::bitset<>. Clean up
diff --git a/libstdc++-v3/config/os/hpux/bits/os_defines.h b/libstdc++-v3/config/os/hpux/bits/os_defines.h
index efc5e7a..4bd2e05 100644
--- a/libstdc++-v3/config/os/hpux/bits/os_defines.h
+++ b/libstdc++-v3/config/os/hpux/bits/os_defines.h
@@ -60,10 +60,17 @@
We also force _GLIBCPP_USE_LONG_LONG here so that we don't have
to bastardize configure to deal with this sillyness. */
namespace std {
+#ifndef __LP64__
__extension__ extern "C" long long strtoll (const char *, char **, int)
__asm ("__strtoll");
__extension__ extern "C" unsigned long long strtoull (const char *, char **, int)
__asm ("__strtoull");
+#else
+ __extension__ extern "C" long long strtoll (const char *, char **, int)
+ __asm ("strtol");
+ __extension__ extern "C" unsigned long long strtoull (const char *, char **, int)
+ __asm ("strtoul");
+#endif
}
#define _GLIBCPP_USE_LONG_LONG 1
#endif