]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug #1244: Squid-3.0 compilation problems with gcc-4.0
authorserassio <>
Fri, 3 Jun 2005 21:24:14 +0000 (21:24 +0000)
committerserassio <>
Fri, 3 Jun 2005 21:24:14 +0000 (21:24 +0000)
This patch fixes inlining optimization problems with gcc4.
For some functions (peerDigestSwapInHeaders(),
peerDigestSwapInCBlock() and peerDigestSwapInMask()) is not
possible any workaround without big changes, so the function
scope must be changed from static to global.

src/ESI.cc
src/cache_cf.cc
src/peer_digest.cc

index 975b1010a7d1092c223946002aad7f4851328071..91fe1655276d96e3d452bd60608afe88615bdbba 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ESI.cc,v 1.13 2005/04/18 21:52:41 hno Exp $
+ * $Id: ESI.cc,v 1.14 2005/06/03 15:24:14 serassio Exp $
  *
  * DEBUG: section 86    ESI processing
  * AUTHOR: Robert Collins
@@ -553,6 +553,8 @@ esiStreamStatus (clientStreamNode *thisNode, clientHttpRequest *http)
 static int
 esiAlwaysPassthrough(http_status sline)
 {
+    int result;
+
     switch (sline) {
 
     case HTTP_CONTINUE: /* Should never reach us... but squid needs to alter to accomodate this */
@@ -564,13 +566,15 @@ esiAlwaysPassthrough(http_status sline)
     case HTTP_NO_CONTENT: /* no body, no esi */
 
     case HTTP_NOT_MODIFIED: /* ESI does not affect assembled page headers, so 304s are valid */
-        return 1;
+        result = 1;
         /* unreached */
         break;
 
     default:
-        return 0;
+        result = 0;
     }
+
+    return result;
 }
 
 void
index 49aa8eb6504c4e0d2038c6aa027bfbf4d3bbb10c..24517f97cdf20ad93e0fe15bb5dd5599df10ff01 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cache_cf.cc,v 1.474 2005/05/06 22:35:46 wessels Exp $
+ * $Id: cache_cf.cc,v 1.475 2005/06/03 15:24:14 serassio Exp $
  *
  * DEBUG: section 3     Configuration File Parsing
  * AUTHOR: Harvest Derived
@@ -1456,24 +1456,28 @@ parse_cachedir(_SquidConfig::_cacheSwap * swap)
 static const char *
 peer_type_str(const peer_t type)
 {
+    const char * result;
+
     switch (type) {
 
     case PEER_PARENT:
-        return "parent";
+        result = "parent";
         break;
 
     case PEER_SIBLING:
-        return "sibling";
+        result = "sibling";
         break;
 
     case PEER_MULTICAST:
-        return "multicast";
+        result = "multicast";
         break;
 
     default:
-        return "unknown";
+        result = "unknown";
         break;
     }
+
+    return result;
 }
 
 static void
index 23b4e9179ad535ad68b461849b8c4e9853e8b9d7..36f3cffecd3c2ce87a49ed5c445d5d7ea92316d0 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: peer_digest.cc,v 1.102 2005/01/03 16:08:26 robertc Exp $
+ * $Id: peer_digest.cc,v 1.103 2005/06/03 15:24:14 serassio Exp $
  *
  * DEBUG: section 72    Peer Digest Routines
  * AUTHOR: Alex Rousskov
@@ -53,9 +53,9 @@ static EVH peerDigestCheck;
 static void peerDigestRequest(PeerDigest * pd);
 static STCB peerDigestHandleReply;
 static int peerDigestFetchReply(void *, char *, ssize_t);
-static int peerDigestSwapInHeaders(void *, char *, ssize_t);
-static int peerDigestSwapInCBlock(void *, char *, ssize_t);
-static int peerDigestSwapInMask(void *, char *, ssize_t);
+int peerDigestSwapInHeaders(void *, char *, ssize_t);
+int peerDigestSwapInCBlock(void *, char *, ssize_t);
+int peerDigestSwapInMask(void *, char *, ssize_t);
 static int peerDigestFetchedEnough(DigestFetchState * fetch, char *buf, ssize_t size, const char *step_name);
 static void peerDigestFetchStop(DigestFetchState * fetch, char *buf, const char *reason);
 static void peerDigestFetchAbort(DigestFetchState * fetch, char *buf, const char *reason);
@@ -596,7 +596,7 @@ peerDigestFetchReply(void *data, char *buf, ssize_t size)
 }
 
 /* fetch headers from disk, pass on to SwapInCBlock */
-static int
+int
 peerDigestSwapInHeaders(void *data, char *buf, ssize_t size)
 {
     DigestFetchState *fetch = (DigestFetchState *)data;
@@ -636,7 +636,7 @@ peerDigestSwapInHeaders(void *data, char *buf, ssize_t size)
     fatal("peerDigestSwapInHeaders() - shouldn't get here!\n");
 }
 
-static int
+int
 peerDigestSwapInCBlock(void *data, char *buf, ssize_t size)
 {
     DigestFetchState *fetch = (DigestFetchState *)data;
@@ -676,7 +676,7 @@ peerDigestSwapInCBlock(void *data, char *buf, ssize_t size)
     fatal("peerDigestSwapInCBlock(): shouldn't get here!\n");
 }
 
-static int
+int
 peerDigestSwapInMask(void *data, char *buf, ssize_t size)
 {
     DigestFetchState *fetch = (DigestFetchState *)data;