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));