0027754: Configuration - fix compilation of Standard.cxx on non-x86 desktop systems
authorkgv <kgv@opencascade.com>
Fri, 5 Aug 2016 19:05:19 +0000 (19:05 +0000)
committerbugmaster <bugmaster@opencascade.com>
Thu, 11 Aug 2016 08:58:30 +0000 (11:58 +0300)
src/Standard/Standard.cxx

index edd2614..a976f86 100644 (file)
@@ -29,7 +29,7 @@
 
 #if defined(_MSC_VER) || defined(__ANDROID__) || defined(__QNX__)
   #include <malloc.h>
-#elif (defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 1)
+#elif (defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 1 && defined(__i386))
   #include <mm_malloc.h>
 #else
   extern "C" int posix_memalign (void** thePtr, size_t theAlign, size_t theSize);
@@ -266,7 +266,7 @@ Standard_Address Standard::AllocateAligned (const Standard_Size theSize,
   return _aligned_malloc (theSize, theAlign);
 #elif defined(__ANDROID__) || defined(__QNX__)
   return memalign (theAlign, theSize);
-#elif (defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 1)
+#elif (defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 1 && defined(__i386))
   return _mm_malloc (theSize, theAlign);
 #else
   void* aPtr;
@@ -289,7 +289,7 @@ void Standard::FreeAligned (Standard_Address thePtrAligned)
   _aligned_free (thePtrAligned);
 #elif defined(__ANDROID__) || defined(__QNX__)
   free (thePtrAligned);
-#elif (defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 1)
+#elif (defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 1 && defined(__i386))
   _mm_free (thePtrAligned);
 #else
   free (thePtrAligned);