]> granicus.if.org Git - curl/commitdiff
Try another variation of the 'volatile' variables icc 9.1 on unix IA32 workaround.
authorYang Tse <yangsita@gmail.com>
Thu, 23 Apr 2009 11:09:20 +0000 (11:09 +0000)
committerYang Tse <yangsita@gmail.com>
Thu, 23 Apr 2009 11:09:20 +0000 (11:09 +0000)
The #pragma optimize("", off) attempt did not fix the problem and SIGSEGV's in Curl_freeaddrinfo() were back.

lib/curl_addrinfo.c

index 4e1eb4c26545babf8a767412706afd0d1c1b5bdd..14b2a438b7c1505dd9ef83c327ef07484a4c7af6 100644 (file)
  * any function call which actually allocates a Curl_addrinfo struct.
  */
 
-#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER == 910) && \
-    defined(__unix__) &&  defined(__i386__)
-#   pragma optimize("", off)
-#endif
-
 void
 Curl_freeaddrinfo(Curl_addrinfo *cahead)
 {
+#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER == 910) && \
+    defined(__unix__) &&  defined(__i386__)
+  /* workaround icc 9.1 optimizer issue */
+  volatile Curl_addrinfo * volatile canext;
+  Curl_addrinfo *ca;
+#else
   Curl_addrinfo *ca, *canext;
+#endif
 
   for(ca = cahead; ca != NULL; ca = canext) {
 
@@ -92,10 +94,6 @@ Curl_freeaddrinfo(Curl_addrinfo *cahead)
   }
 }
 
-#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER == 910) && \
-    defined(__unix__) &&  defined(__i386__)
-#   pragma optimize("", on)
-#endif
 
 #ifdef HAVE_GETADDRINFO
 /*