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 bec5c5744da9f7e2fe3b54dfc06ef3437a0e0bbc..710de7ded27ded95c7d68e07b275189587560628 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 4bbe6d754bc39d281e7a5043b2a1fc79b699a138..2064ed2215e24833e28f7c3a22ce5e4944c155f8 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 ca589287e41959907e9166314dbcbd129432cede..c7fb593484be41333497b8e7a04bd07dcb6af814 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 8f75416428a10f7183bbda5cb6ff59a6c03cdcaa..87be9b5e1d8c4422c628eff4b77af3b88be9e830 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 c6e973ad9af80c613eb961803666e50d2ecbe3eb..21ed75bf4813e4f9ce5ec75884ad71ca01f92ea1 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 862243850c9a5b9cd6a392dfeb7322852843f1a5..23ad2adddeac90dfd2ed8bf5dae86ba8e4d79ffd 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"