Improve configure tests for ffsl
In particular:
- ffsl always returns int, not long, on FreeBSD, Linux, and OSX.
- Mute compiler warnings about rv being unused (and the potential for
compilers optimizing out the call completely) by dumping the value
with printf(3).
Signed-off-by: Garrett Cooper <yanegomi@gmail.com>
diff --git a/configure.ac b/configure.ac
index 9d062a9..88297c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -928,7 +928,7 @@
#include <stdio.h>
]],
[[
- long result;
+ int result;
FILE *f;
#ifdef _WIN32
@@ -947,7 +947,7 @@
if (f == NULL) {
return 1;
}
- fprintf(f, "%u\n", result);
+ fprintf(f, "%d\n", result);
fclose(f);
return 0;
@@ -1092,11 +1092,13 @@
dnl platforms that jemalloc currently has a chance of functioning on without
dnl modification.
JE_COMPILABLE([a program using ffsl], [
+#include <stdio.h>
#include <strings.h>
#include <string.h>
], [
{
int rv = ffsl(0x08);
+ printf("%d\n", rv);
}
], [je_cv_function_ffsl])
if test "x${je_cv_function_ffsl}" != "xyes" ; then