More compiler quietening.
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 18 Nov 2012 17:03:38 +0000 (17:03 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 18 Nov 2012 17:10:22 +0000 (17:10 +0000)
src/src/auths/call_pam.c
src/src/auths/call_radius.c
src/src/auths/cyrus_sasl.c
src/src/auths/gsasl_exim.c
src/src/auths/heimdal_gssapi.c
src/src/lookups/spf.c

index bec5c57..710de7d 100644 (file)
@@ -16,10 +16,13 @@ available for compiling. Therefore, compile these functions only if SUPPORT_PAM
 is defined. However, some compilers don't like compiling empty modules, so keep
 them happy with a dummy when skipping the rest. Make it reference itself to
 stop picky compilers complaining that it is unused, and put in a dummy argument
-to stop even pickier compilers complaining about infinite loops. */
+to stop even pickier compilers complaining about infinite loops.
+Then use a mutually-recursive pair as gcc is just getting stupid. */
 
 #ifndef SUPPORT_PAM
-static void dummy(int x) { dummy(x-1); }
+static void dummy(int x);
+static void dummy2(int x) { dummy(x-1); }
+static void dummy(int x) { dummy2(x-1); }
 #else  /* SUPPORT_PAM */
 
 #ifdef PAM_H_IN_PAM
index 4bbe6d7..2064ed2 100644 (file)
@@ -20,10 +20,12 @@ RADIUS_CONFIG_FILE is defined. However, some compilers don't like compiling
 empty modules, so keep them happy with a dummy when skipping the rest. Make it
 reference itself to stop picky compilers complaining that it is unused, and put
 in a dummy argument to stop even pickier compilers complaining about infinite
-loops. */
+loops. Then use a mutually-recursive pair as gcc is just getting stupid. */
 
 #ifndef RADIUS_CONFIG_FILE
-static void dummy(int x) { dummy(x-1); }
+static void dummy(int x);
+static void dummy2(int x) { dummy(x-1); }
+static void dummy(int x) { dummy2(x-1); }
 #else  /* RADIUS_CONFIG_FILE */
 
 
index ca58928..c7fb593 100644 (file)
@@ -25,7 +25,9 @@ in a dummy argument to stop even pickier compilers complaining about infinite
 loops. */
 
 #ifndef AUTH_CYRUS_SASL
-static void dummy(int x) { dummy(x-1); }
+static void dummy(int x);
+static void dummy2(int x) { dummy(x-1); }
+static void dummy(int x) { dummy2(x-1); }
 #else
 
 
index 8f75416..87be9b5 100644 (file)
@@ -29,7 +29,8 @@ sense in all contexts.  For some, we can do checks at init time.
 
 #ifndef AUTH_GSASL
 /* dummy function to satisfy compilers when we link in an "empty" file. */
-static void dummy2(int x) { dummy2(x-1); }
+static void dummy(int x);
+static void dummy2(int x) { dummy(x-1); }
 static void dummy(int x) { dummy2(x-1); }
 #else
 
index c6e973a..21ed75b 100644 (file)
@@ -43,7 +43,9 @@ Without rename, we could add an option for GS2 support in the future.
 
 #ifndef AUTH_HEIMDAL_GSSAPI
 /* dummy function to satisfy compilers when we link in an "empty" file. */
-static void dummy(int x) { dummy(x-1); }
+static void dummy(int x);
+static void dummy2(int x) { dummy(x-1); }
+static void dummy(int x) { dummy2(x-1); }
 #else
 
 #include <gssapi/gssapi.h>
index 8622438..23ad2ad 100644 (file)
@@ -18,7 +18,9 @@
 #include "../exim.h"
 
 #ifndef EXPERIMENTAL_SPF
-static void dummy(int x) { dummy(x-1); }
+static void dummy(int x);
+static void dummy2(int x) { dummy(x-1); }
+static void dummy(int x) { dummy2(x-1); }
 #else
 
 #include "lf_functions.h"