diff options
author | Yang Tse <yangsita@gmail.com> | 2009-04-23 11:09:20 +0000 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2009-04-23 11:09:20 +0000 |
commit | 2236a247d9bedc6e79c73b47d37a5794300029ce (patch) | |
tree | 81dbde97162639712273e5b1d515cd2a9085b029 /lib | |
parent | 7291f50e8dfee27fd343cdbf3a2c6ab85ea6caf3 (diff) |
Try another variation of the 'volatile' variables icc 9.1 on unix IA32 workaround.
The #pragma optimize("", off) attempt did not fix the problem and SIGSEGV's in Curl_freeaddrinfo() were back.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/curl_addrinfo.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/lib/curl_addrinfo.c b/lib/curl_addrinfo.c index 4e1eb4c26..14b2a438b 100644 --- a/lib/curl_addrinfo.c +++ b/lib/curl_addrinfo.c @@ -68,15 +68,17 @@ * 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 /* |