summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-08-27 05:39:09 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-08-27 05:39:09 +0000
commit762f44cf49e92b13420de97ee99d4bc050aab24e (patch)
treecfb1dc10b9d41eb5194a96a352c342e19ba7dd12
parent49a55f28abdcf3dea1f84ec5b59cfbedc37f44bf (diff)
configure.ac: printf prifix for int64_t
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--configure.ac3
-rw-r--r--include/ruby/ruby.h2
2 files changed, 5 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 0cbdc4c..92713f3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1558,6 +1558,9 @@ RUBY_DEFINT(uint128_t, 16, unsigned)
RUBY_DEFINT(intptr_t, void*)
RUBY_DEFINT(uintptr_t, void*, unsigned)
RUBY_DEFINT(ssize_t, size_t, [], [@%:@include <sys/types.h>]) dnl may differ from int, so not use AC_TYPE_SSIZE_T.
+AS_IF([test "x$rb_cv_type_int64_t" != xno], [
+ RUBY_CHECK_PRINTF_PREFIX(int64_t, ll I64 l, 64)
+])
AC_CACHE_CHECK(for stack end address, rb_cv_stack_end_address,
[rb_cv_stack_end_address=no
diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h
index a654cdd..b1ac0c6 100644
--- a/include/ruby/ruby.h
+++ b/include/ruby/ruby.h
@@ -124,11 +124,13 @@ typedef char ruby_check_sizeof_voidp[SIZEOF_VOIDP == sizeof(void*) ? 1 : -1];
#define PRI_SHORT_PREFIX "h"
#endif
+#ifndef PRI_64_PREFIX
#if SIZEOF_LONG == 8
#define PRI_64_PREFIX PRI_LONG_PREFIX
#elif SIZEOF_LONG_LONG == 8
#define PRI_64_PREFIX PRI_LL_PREFIX
#endif
+#endif
#define RUBY_PRI_VALUE_MARK "\v"
#if defined PRIdPTR && !defined PRI_VALUE_PREFIX