Commit bc5677a4 authored by Yang Tse's avatar Yang Tse
Browse files

Disable optimizations when compiling function Curl_freeaddrinfo() with icc 9.1 on unix IA32.

Previous 'volatile' variables workaround proved useful, but it triggered the following warning:

warning #167: argument of type "volatile Curl_addrinfo *" is incompatible with parameter of type "void *"
parent 137ef367
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -68,17 +68,15 @@
 * 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 ca;
  volatile Curl_addrinfo * volatile canext;
#else
  Curl_addrinfo *ca, *canext;
#endif

  for(ca = cahead; ca != NULL; ca = canext) {

@@ -94,6 +92,10 @@ Curl_freeaddrinfo(Curl_addrinfo *cahead)
  }
}

#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER == 910) && \
    defined(__unix__) &&  defined(__i386__)
#   pragma optimize("", on)
#endif

#ifdef HAVE_GETADDRINFO
/*