Fix check for declarations in hwloc.
authorPavan Balaji <balaji@mcs.anl.gov>
Sun, 5 May 2013 15:33:46 +0000 (10:33 -0500)
committerPavan Balaji <balaji@mcs.anl.gov>
Sun, 5 May 2013 15:50:32 +0000 (10:50 -0500)
hwloc's check for whether an explicitly function declaration is needed
was relying on whether a redefinition of the function throws an error.
This only works if the function declaration is already present in one
of the headers.  If such a declaration is not present, the test might
fail with "implicit function declaration" with the right CFLAGS.  This
leads the m4 macro to think that the declaration is already there in
one of the headers and an additional declaration is not needed.

This commit fixes this by adding a dummy function declaration,
together with the dummy function definition.

No reviewer.

src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc.m4

index c66f26c..8a6445f 100644 (file)
@@ -1217,7 +1217,10 @@ dnl number of arguments (10). Success means the compiler couldn't really check.
 AC_DEFUN([_HWLOC_CHECK_DECL], [
   AC_MSG_CHECKING([whether function $1 is declared])
   AC_REQUIRE([AC_PROG_CC])
-  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4])],[$1(1,2,3,4,5,6,7,8,9,10);])],
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+       [AC_INCLUDES_DEFAULT([$4])
+       $1(int,long,int,long,int,long,int,long,int,long);],
+       [$1(1,2,3,4,5,6,7,8,9,10);])],
     [AC_MSG_RESULT([no])
      $3],
     [AC_MSG_RESULT([yes])