diff --git a/CommandLineArguments.cxx b/CommandLineArguments.cxx
index 9f43a47c8f532b44a6c3fd903f4544d333527d7d..ece88ae89244e2493a965306d087fdc97845147c 100644
--- a/CommandLineArguments.cxx
+++ b/CommandLineArguments.cxx
@@ -592,7 +592,7 @@ void CommandLineArguments::GenerateHelp()
 
   // Create format for that string
   char format[80];
-  sprintf(format, "  %%-%ds  ", static_cast<unsigned int>(maxlen));
+  sprintf(format, "  %%-%us  ", static_cast<unsigned int>(maxlen));
 
   maxlen += 4; // For the space before and after the option
 
diff --git a/SystemInformation.cxx b/SystemInformation.cxx
index 9bc659e22a68a3f1eda6c3c94a0e202b1517fd40..d49c0d73c1fd385ab0e9ad42333dee7db47c1885 100644
--- a/SystemInformation.cxx
+++ b/SystemInformation.cxx
@@ -72,7 +72,7 @@
 # include <ctype.h> // int isdigit(int c);
 # include <errno.h> // extern int errno;
 # include <sys/time.h>
-#elif __hpux
+#elif defined( __hpux )
 # include <sys/param.h>
 # include <sys/pstat.h>
 #endif
@@ -1454,7 +1454,7 @@ bool SystemInformationImplementation::RetrieveCPUClockSpeed()
 {
   bool retrieved = false;
 
-#if _WIN32
+#if defined(_WIN32)
   // First of all we check to see if the RDTSC (0x0F, 0x31) instruction is
   // supported. If not, we fallback to trying to read this value from the
   // registry:
@@ -2389,7 +2389,7 @@ int SystemInformationImplementation::QueryMemory()
   this->AvailablePhysicalMemory = 0;
 #ifdef __CYGWIN__
   return 0;
-#elif _WIN32
+#elif defined(_WIN32)
 #if  _MSC_VER < 1300
   MEMORYSTATUS ms;
   unsigned long tv, tp, av, ap;
@@ -2415,7 +2415,7 @@ int SystemInformationImplementation::QueryMemory()
   this->AvailableVirtualMemory = av>>10>>10;
   this->AvailablePhysicalMemory = ap>>10>>10;
   return 1;
-#elif __linux
+#elif defined(__linux)
   unsigned long tv=0;
   unsigned long tp=0;
   unsigned long av=0;
@@ -2532,7 +2532,7 @@ int SystemInformationImplementation::QueryMemory()
     }
   fclose( fd );
   return 1;
-#elif __hpux
+#elif defined(__hpux)
   unsigned long tv=0;
   unsigned long tp=0;
   unsigned long av=0;
@@ -2639,7 +2639,7 @@ LongLong SystemInformationImplementation::GetCyclesDifference (DELAY_FUNC DelayF
 /** Compute the delay overhead */
 void SystemInformationImplementation::DelayOverhead(unsigned int uiMS)
 {
-#if _WIN32
+#if defined(_WIN32)
   LARGE_INTEGER Frequency, StartCounter, EndCounter;
   __int64 x;
 
@@ -2664,10 +2664,19 @@ void SystemInformationImplementation::DelayOverhead(unsigned int uiMS)
 /** Return the number of logical CPU per physical CPUs Works only for windows */
 unsigned char SystemInformationImplementation::LogicalCPUPerPhysicalCPU(void)
 {
+#ifdef __APPLE__
+  size_t len = 4;
+  int cores_per_package = 0;
+  int err = sysctlbyname("machdep.cpu.cores_per_package", &cores_per_package, &len, NULL, 0);
+  if (err != 0)
+    {
+      return 1; // That name was not found, default to 1
+    }
+  return static_cast<unsigned char>(cores_per_package);
+#else
   unsigned int Regebx = 0;
-
 #if USE_ASM_INSTRUCTIONS
-  if (!this->IsHyperThreadingSupported()) 
+  if (!this->IsHyperThreadingSupported())
     {
     return static_cast<unsigned char>(1);  // HT not supported
     }
@@ -2678,22 +2687,8 @@ unsigned char SystemInformationImplementation::LogicalCPUPerPhysicalCPU(void)
     mov Regebx, ebx
     }
 #endif
-
-#ifdef __APPLE__
-    size_t len = 4;
-    int cores_per_package = 0;
-    int err = sysctlbyname("machdep.cpu.cores_per_package", &cores_per_package, &len, NULL, 0);
-    if (err != 0)
-    {
-      return 1; // That name was not found, default to 1
-    }
-    else
-    {
-      return static_cast<unsigned char>(cores_per_package);
-    }
-#endif
-
   return static_cast<unsigned char> ((Regebx & NUM_LOGICAL_BITS) >> 16);
+#endif
 }
 
 
@@ -2769,7 +2764,7 @@ unsigned char SystemInformationImplementation::GetAPICId()
 /** Count the number of CPUs. Works only on windows. */
 int SystemInformationImplementation::CPUCount()
 {
-#if _WIN32
+#if defined(_WIN32)
   unsigned char StatusFlag  = 0;
   SYSTEM_INFO info;
 
@@ -3359,7 +3354,7 @@ bool SystemInformationImplementation::QueryQNXProcessor()
 /** Query the operating system information */
 bool SystemInformationImplementation::QueryOSInformation()
 {
-#if _WIN32
+#if defined(_WIN32)
 
   this->OSName = "Windows";
 
diff --git a/SystemTools.cxx b/SystemTools.cxx
index 695949a34bc6b797cc68fd0ab520bfa0f1aecc8c..1bf19c057a1e3671ea7aac1b7c41d983fc3cdab6 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -371,6 +371,10 @@ bool SystemTools::GetEnv(const char* key, kwsys_stl::string& result)
     }
 }
 
+#ifdef INTEL_COMPILER
+#pragma warning disable 444
+#endif
+
 class kwsysDeletingCharVector : public kwsys_stl::vector<char*>
 {
 public:
@@ -399,6 +403,10 @@ bool SystemTools::PutEnv(const char* value)
   return ret == 0;
 }
 
+#ifdef INTEL_COMPILER
+#pragma warning restore 444
+#endif
+
 
 const char* SystemTools::GetExecutableExtension()
 {
diff --git a/kwsysDateStamp.cmake b/kwsysDateStamp.cmake
index 60a30d59192bc7a017a083cf50b17a38cf8245a8..7ed070090b61a53fe9a792da5eed30140b945313 100644
--- a/kwsysDateStamp.cmake
+++ b/kwsysDateStamp.cmake
@@ -15,7 +15,7 @@
 SET(KWSYS_DATE_STAMP_YEAR  2011)
 
 # KWSys version date month component.  Format is MM.
-SET(KWSYS_DATE_STAMP_MONTH 10)
+SET(KWSYS_DATE_STAMP_MONTH 11)
 
 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   24)
+SET(KWSYS_DATE_STAMP_DAY   01)