Jeroen Demeyer on Wed, 16 Sep 2009 09:57:11 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Problems with has_log2.c and has_exp2.c |
Bill Allombert wrote:
As far as I see, the issue is two-fold: 1) The file has_exp2.c is not valid in C++, hence this cause Configure to omit HAS_EXP2. The file has_exp2.c would be better written as: #include <math.h> double (*f)(double) = exp2; int main(){ return f != exp2; } (since the prototype is part of the standard)
Your fixes work, thanks! You could also simplify things by casting to void*: void *f = (void*)exp2;I attach a patch which also fixes has_alarm.c and has_setsid.c in the same way.
Cheers, Jeroen.
Index: config/has_setsid.c =================================================================== --- config/has_setsid.c (revision 11920) +++ config/has_setsid.c (working copy) @@ -1 +1,3 @@ -main(){ setsid(); } +#include <unistd.h> +pid_t (*f)() = setsid; +int main(){ return f != setsid; } Index: config/has_alarm.c =================================================================== --- config/has_alarm.c (revision 11920) +++ config/has_alarm.c (working copy) @@ -1,4 +1,3 @@ #include <unistd.h> - -char (*f)() = alarm; +unsigned int (*f)(unsigned int) = alarm; int main(){ return f != alarm; }