summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2010-02-05 09:32:11 +0000
committerYang Tse <yangsita@gmail.com>2010-02-05 09:32:11 +0000
commitbc7615ae2d9b3cb32e2fb0798caf96f9c512a8dd (patch)
tree3ad6c07436db5d6838ff650d61a230307bfb87a9
parent7aef172a347a0422a0968fde9c487639ff673383 (diff)
downloadgnurl-bc7615ae2d9b3cb32e2fb0798caf96f9c512a8dd.tar.gz
gnurl-bc7615ae2d9b3cb32e2fb0798caf96f9c512a8dd.tar.bz2
gnurl-bc7615ae2d9b3cb32e2fb0798caf96f9c512a8dd.zip
- attempt to workaround icc 9.1 optimizer issue
-rw-r--r--lib/ftp.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/ftp.c b/lib/ftp.c
index 862b3402f..87d5cafa3 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -2807,9 +2807,18 @@ static CURLcode ftp_easy_statemach(struct connectdata *conn)
* Allocate and initialize the struct FTP for the current SessionHandle. If
* need be.
*/
+
+#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER == 910) && \
+ defined(__OPTIMIZE__) && defined(__unix__) && defined(__i386__)
+ /* workaround icc 9.1 optimizer issue */
+# define vqualifier volatile
+#else
+# define vqualifier
+#endif
+
static CURLcode ftp_init(struct connectdata *conn)
{
- struct FTP *ftp;
+ struct FTP *vqualifier ftp;
if(NULL == conn->data->state.proto.ftp) {
conn->data->state.proto.ftp = malloc(sizeof(struct FTP));