diff --git i/m4/ssize_t.m4 w/m4/ssize_t.m4 index 209d64c..5ea72a1 100644 --- i/m4/ssize_t.m4 +++ w/m4/ssize_t.m4 @@ -1,4 +1,4 @@ -# ssize_t.m4 serial 5 (gettext-0.18.2) +# ssize_t.m4 serial 6 (gettext-0.18.2) dnl Copyright (C) 2001-2003, 2006, 2010-2012 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -17,7 +17,21 @@ AC_DEFUN([gt_TYPE_SSIZE_T], return !x;]])], [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])]) if test $gt_cv_ssize_t = no; then - AC_DEFINE([ssize_t], [int], - [Define as a signed type of the same size as size_t.]) + AC_CACHE_CHECK([for rank of size_t], [gt_cv_size_t_rank], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #ifdef __cplusplus + extern "C" { + #endif + int foo(unsigned long bar); + int foo(size_t bar); + #ifdef __cplusplus + } + #endif + ]])], + [gt_cv_size_t_rank=long], [gt_cv_size_t_rank=int])]) + AC_DEFINE_UNQUOTED([ssize_t], [$gt_cv_size_t_rank], + [Define as a signed type of the same size and rank as size_t.]) fi ])