From bc7615ae2d9b3cb32e2fb0798caf96f9c512a8dd Mon Sep 17 00:00:00 2001
From: Yang Tse <yangsita@gmail.com>
Date: Fri, 5 Feb 2010 09:32:11 +0000
Subject: [PATCH] - attempt to workaround icc 9.1 optimizer issue

---
 lib/ftp.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/lib/ftp.c b/lib/ftp.c
index 862b3402f6..87d5cafa37 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));
-- 
GitLab