fix build with long double
[m6w6/ext-psi] / m4 / stdlib.m4
index c84d44d1a38da74415d518e2a761fba7da628d4b..99ca54eb81fd3d9f95e84e2227620d6892275e6c 100644 (file)
@@ -1,10 +1,24 @@
-AC_DEFUN(PSI_CHECK_STDLIB, [
+PSI_CHECK_STDLIB() {
        AC_CHECK_HEADERS(stdlib.h)
 
+       PSI_STRUCT(div_t, [
+               int quot,
+               int rem
+       ])
+       PSI_STRUCT(ldiv_t, [
+               long quot,
+               long rem
+       ])
+       PSI_STRUCT(lldiv_t, [
+               long long quot,
+               long long rem
+       ])
+
        PSI_CONST(EXIT_FAILURE, int)
        PSI_CONST(EXIT_SUCCESS, int)
        PSI_CONST(RAND_MAX, int)
-       PSI_CONST(MB_CUR_MAX, int)
+       
+       PSI_MACRO(int MB_CUR_MAX)
 
        PSI_DECL(void _Exit, [(int status)])
        PSI_DECL(void abort, [()])
@@ -23,7 +37,8 @@ AC_DEFUN(PSI_CHECK_STDLIB, [
        PSI_DECL(long jrand48, [(unsigned short xsubi@<:@3@:>@)])
        PSI_DECL(long labs, [(long l)])
        PSI_DECL(void lcong48, [(unsigned short param@<:@7@:>@)])
-       PSI_DECL(long ldiv, [(long numerator, long denominator)])
+       PSI_DECL(ldiv_t ldiv, [(long numerator, long denominator)])
+       PSI_DECL(lldiv_t lldiv, [(long long numerator, long long denominator)])
        PSI_DECL(long lrand48, [()])
        PSI_DECL(int mblen, [(const char *s, size_t n)])
        PSI_DECL(size_t mbstowcs, [(wchar_t *dest, char *src, size_t n)])
@@ -50,11 +65,11 @@ AC_DEFUN(PSI_CHECK_STDLIB, [
        PSI_DECL(double strtod, [(char *nptr, char **endptr)])
        PSI_DECL(float strtof, [(char *nptr, char **endptr)])
        PSI_DECL(long strtol, [(char *nptr, char **endptr)])
+       PSI_DECL(long double strtold, [(const char *nptr, char **endptr)])
        PSI_DECL(unsigned long strtoul, [(char *nptr, char **endptr)])
        PSI_DECL(int system, [(char *command)])
        PSI_DECL(int unlockpt, [(int fd)])
        PSI_DECL(int unsetenv, [(char *var)])
        PSI_DECL(size_t wcstombs, [(char *dest, wchar_t *src, size_t n)])
        PSI_DECL(int wctomb, [(char *s, wchar_t wc)])
-])
-
+}