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 *"
This commit is contained in:
Yang Tse 2009-04-22 15:03:05 +00:00
Родитель 137ef36757
Коммит bc5677a47b
1 изменённых файлов: 9 добавлений и 7 удалений

Просмотреть файл

@ -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
/*