diff --git a/configure b/configure
index 3ae7a55195d94eac19ec53b8f2b9caa8eca14161..525092d013b162261a8edb7ff8a20e07457d5177 100755
--- a/configure
+++ b/configure
@@ -867,6 +867,7 @@ static void sighandler(int sig){
 int func(void){
     $code
 }
+int (*func_ptr)(void) = func;
 int main(void){
     signal(SIGILL, sighandler);
     signal(SIGFPE, sighandler);
@@ -874,7 +875,7 @@ int main(void){
 #ifdef SIGBUS
     signal(SIGBUS, sighandler);
 #endif
-    return func();
+    return func_ptr();
 }
 EOF
 }