avoid $@-clearing sideeffect of require in Carp
[p5sagit/p5-mst-13.2.git] / perl.h
diff --git a/perl.h b/perl.h
index 2139845..0d3f0b8 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -529,6 +529,19 @@ Malloc_t Perl_realloc (Malloc_t where, MEM_SIZE nbytes);
  * that causes clashes with case-insensitive linkers */
 Free_t   Perl_mfree (Malloc_t where);
 
+typedef struct perl_mstats perl_mstats_t;
+
+struct perl_mstats {
+    unsigned long *nfree;
+    unsigned long *ntotal;
+    long topbucket, topbucket_ev, topbucket_odd, totfree, total, total_chain;
+    long total_sbrk, sbrks, sbrk_good, sbrk_slack, start_slack, sbrked_remains;
+    long minbucket;
+    /* Level 1 info */
+    unsigned long *bucket_mem_size;
+    unsigned long *bucket_available_size;
+};
+
 #  define safemalloc  Perl_malloc
 #  define safecalloc  Perl_calloc
 #  define saferealloc Perl_realloc
@@ -3012,24 +3025,26 @@ typedef struct am_table_short AMTS;
 
 #endif /* !USE_LOCALE_NUMERIC */
 
-#if !defined(Atol) && defined(HAS_LONG_LONG)
+#if !defined(Atol) && defined(IV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
 #   if !defined(Atol) && defined(HAS_STRTOLL)
 #       define Atol(s) strtoll(s, (char**)NULL, 10)
 #   endif
 #   if !defined(Atol) && defined(HAS_ATOLL)
 #       define Atol atoll
 #   endif
-#endif
 /* is there atoq() anywhere? */
+#endif
 #if !defined(Atol)
 #   define Atol atol /* we assume atol being available anywhere */
 #endif
 
-#if !defined(Strtoul) && defined(HAS_LONG_LONG) && defined(HAS_STRTOULL)
-#   define Strtoul strtoull
+#if !defined(Strtoul) && defined(UV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
+#    if !defined(Strtoul) && defined(HAS_STRTOULL)
+#       define Strtoul strtoull
+#    endif
 #endif
 /* is there atouq() anywhere? */
-#if !defined(Strtoul) && defined(USE_64_BITS) && defined(HAS_STRTOUQ)
+#if !defined(Strtoul) && defined(HAS_STRTOUQ)
 #   define Strtoul strtouq
 #endif
 #if !defined(Strtoul)