Use 'magick_restrict' instead of 'restrict'.
diff --git a/MagickCore/MagickCore.h b/MagickCore/MagickCore.h
index 544c18e..1961b3f 100644
--- a/MagickCore/MagickCore.h
+++ b/MagickCore/MagickCore.h
@@ -36,8 +36,12 @@
 #if defined(_magickcore_inline) && !defined(inline)
 # define inline _magickcore_inline
 #endif
-#if defined(_magickcore_restrict) && !defined(restrict)
-# define restrict  _magickcore_restrict
+#if !defined(magick_restrict)
+# if !defined(_magickcore_restrict)
+#  define magick_restrict restrict
+# else
+#  define magick_restrict _magickcore_restrict
+# endif
 #endif
 # if defined(__cplusplus) || defined(c_plusplus)
 #  undef inline
diff --git a/MagickCore/accelerate.c b/MagickCore/accelerate.c
index 810f04c..aa37b9d 100644
--- a/MagickCore/accelerate.c
+++ b/MagickCore/accelerate.c
@@ -307,7 +307,7 @@
     *filteredImage;
 
   RandomInfo
-    **restrict random_info;
+    **magick_restrict random_info;
 
   size_t
     global_work_size[1],
diff --git a/MagickCore/annotate.c b/MagickCore/annotate.c
index 445ba88..b786f5d 100644
--- a/MagickCore/annotate.c
+++ b/MagickCore/annotate.c
@@ -1430,7 +1430,7 @@
             fill_color;
 
           register Quantum
-            *restrict q;
+            *magick_restrict q;
 
           register ssize_t
             x;
@@ -1850,7 +1850,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         q=GetCacheViewAuthenticPixels(annotate_view,0,y,annotate_image->columns,
           1,exception);
diff --git a/MagickCore/attribute.c b/MagickCore/attribute.c
index e8430d1..d4ea7dc 100644
--- a/MagickCore/attribute.c
+++ b/MagickCore/attribute.c
@@ -186,7 +186,7 @@
       bounding_box;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -395,7 +395,7 @@
           id = GetOpenMPThreadId();
 
         register const Quantum
-          *restrict p;
+          *magick_restrict p;
 
         register ssize_t
           x;
@@ -452,7 +452,7 @@
       id = GetOpenMPThreadId();
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -1079,7 +1079,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -1144,7 +1144,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
diff --git a/MagickCore/cache-private.h b/MagickCore/cache-private.h
index 8b54f44..f377dc6 100644
--- a/MagickCore/cache-private.h
+++ b/MagickCore/cache-private.h
@@ -237,20 +237,20 @@
   *GetVirtualPixelsFromNexus(const Image *,const VirtualPixelMethod,
     const ssize_t,const ssize_t,const size_t,const size_t,NexusInfo *,
     ExceptionInfo *) magick_hot_spot,
-  *GetVirtualPixelsNexus(const Cache,NexusInfo *restrict);
+  *GetVirtualPixelsNexus(const Cache,NexusInfo *magick_restrict);
 
 extern MagickPrivate const void
   *AcquirePixelCachePixels(const Image *,MagickSizeType *,ExceptionInfo *),
-  *GetVirtualMetacontentFromNexus(const Cache,NexusInfo *restrict);
+  *GetVirtualMetacontentFromNexus(const Cache,NexusInfo *magick_restrict);
 
 extern MagickPrivate MagickBooleanType
   CacheComponentGenesis(void),
-  SyncAuthenticPixelCacheNexus(Image *,NexusInfo *restrict,ExceptionInfo *)
-    magick_hot_spot,
+  SyncAuthenticPixelCacheNexus(Image *,NexusInfo *magick_restrict,
+    ExceptionInfo *) magick_hot_spot,
   SyncImagePixelCache(Image *,ExceptionInfo *);
 
 extern MagickPrivate MagickSizeType
-  GetPixelCacheNexusExtent(const Cache,NexusInfo *restrict);
+  GetPixelCacheNexusExtent(const Cache,NexusInfo *magick_restrict);
 
 extern MagickPrivate NexusInfo
   **AcquirePixelCacheNexus(const size_t),
diff --git a/MagickCore/cache-view.c b/MagickCore/cache-view.c
index 7453aee..4a7fd29 100644
--- a/MagickCore/cache-view.c
+++ b/MagickCore/cache-view.c
@@ -113,7 +113,7 @@
   ExceptionInfo *exception)
 {
   CacheView
-    *restrict cache_view;
+    *magick_restrict cache_view;
 
   cache_view=AcquireVirtualCacheView(image,exception);
   (void) SyncImagePixelCache(cache_view->image,exception);
@@ -151,7 +151,7 @@
   ExceptionInfo *exception)
 {
   CacheView
-    *restrict cache_view;
+    *magick_restrict cache_view;
 
   assert(image != (Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -203,7 +203,7 @@
 MagickExport CacheView *CloneCacheView(const CacheView *cache_view)
 {
   CacheView
-    *restrict clone_view;
+    *magick_restrict clone_view;
 
   assert(cache_view != (CacheView *) NULL);
   assert(cache_view->signature == MagickCoreSignature);
@@ -302,7 +302,7 @@
     id = GetOpenMPThreadId();
 
   Quantum
-    *restrict pixels;
+    *magick_restrict pixels;
 
   assert(cache_view != (CacheView *) NULL);
   assert(cache_view->signature == MagickCoreSignature);
@@ -560,7 +560,7 @@
     id = GetOpenMPThreadId();
 
   const void
-    *restrict metacontent;
+    *magick_restrict metacontent;
 
   assert(cache_view != (const CacheView *) NULL);
   assert(cache_view->signature == MagickCoreSignature);
@@ -603,7 +603,7 @@
     id = GetOpenMPThreadId();
 
   const Quantum
-    *restrict pixels;
+    *magick_restrict pixels;
 
   assert(cache_view != (const CacheView *) NULL);
   assert(cache_view->signature == MagickCoreSignature);
@@ -654,7 +654,7 @@
     id = GetOpenMPThreadId();
 
   const Quantum
-    *restrict pixels;
+    *magick_restrict pixels;
 
   assert(cache_view != (CacheView *) NULL);
   assert(cache_view->signature == MagickCoreSignature);
@@ -704,7 +704,7 @@
     id = GetOpenMPThreadId();
 
   Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     i;
@@ -776,7 +776,7 @@
     id = GetOpenMPThreadId();
 
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register ssize_t
     i;
@@ -849,7 +849,7 @@
     id = GetOpenMPThreadId();
 
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   assert(cache_view != (CacheView *) NULL);
   assert(cache_view->signature == MagickCoreSignature);
@@ -908,7 +908,7 @@
     id = GetOpenMPThreadId();
 
   const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register ssize_t
     i;
@@ -980,7 +980,7 @@
     id = GetOpenMPThreadId();
 
   Quantum
-    *restrict pixels;
+    *magick_restrict pixels;
 
   assert(cache_view != (CacheView *) NULL);
   assert(cache_view->signature == MagickCoreSignature);
@@ -1056,7 +1056,8 @@
 %
 */
 MagickExport MagickBooleanType SetCacheViewVirtualPixelMethod(
-  CacheView *restrict cache_view,const VirtualPixelMethod virtual_pixel_method)
+  CacheView *magick_restrict cache_view,
+  const VirtualPixelMethod virtual_pixel_method)
 {
   assert(cache_view != (CacheView *) NULL);
   assert(cache_view->signature == MagickCoreSignature);
@@ -1095,7 +1096,7 @@
 %
 */
 MagickExport MagickBooleanType SyncCacheViewAuthenticPixels(
-  CacheView *restrict cache_view,ExceptionInfo *exception)
+  CacheView *magick_restrict cache_view,ExceptionInfo *exception)
 {
   const int
     id = GetOpenMPThreadId();
diff --git a/MagickCore/cache-view.h b/MagickCore/cache-view.h
index 307c49b..39d3ba1 100644
--- a/MagickCore/cache-view.h
+++ b/MagickCore/cache-view.h
@@ -81,8 +81,9 @@
   GetOneCacheViewVirtualPixelInfo(const CacheView *,const ssize_t,const ssize_t,
     PixelInfo *,ExceptionInfo *),
   SetCacheViewStorageClass(CacheView *,const ClassType,ExceptionInfo *),
-  SetCacheViewVirtualPixelMethod(CacheView *restrict,const VirtualPixelMethod),
-  SyncCacheViewAuthenticPixels(CacheView *restrict,ExceptionInfo *)
+  SetCacheViewVirtualPixelMethod(CacheView *magick_restrict,
+    const VirtualPixelMethod),
+  SyncCacheViewAuthenticPixels(CacheView *magick_restrict,ExceptionInfo *)
     magick_hot_spot;
 
 extern MagickExport MagickSizeType
diff --git a/MagickCore/cache.c b/MagickCore/cache.c
index bad1033..911b684 100644
--- a/MagickCore/cache.c
+++ b/MagickCore/cache.c
@@ -120,13 +120,15 @@
     const ssize_t,const ssize_t,Quantum *,ExceptionInfo *),
   OpenPixelCache(Image *,const MapMode,ExceptionInfo *),
   OpenPixelCacheOnDisk(CacheInfo *,const MapMode),
-  ReadPixelCachePixels(CacheInfo *restrict,NexusInfo *restrict,ExceptionInfo *),
-  ReadPixelCacheMetacontent(CacheInfo *restrict,NexusInfo *restrict,
+  ReadPixelCachePixels(CacheInfo *magick_restrict,NexusInfo *magick_restrict,
     ExceptionInfo *),
+  ReadPixelCacheMetacontent(CacheInfo *magick_restrict,
+    NexusInfo *magick_restrict,ExceptionInfo *),
   SyncAuthenticPixelsCache(Image *,ExceptionInfo *),
-  WritePixelCachePixels(CacheInfo *restrict,NexusInfo *restrict,
+  WritePixelCachePixels(CacheInfo *magick_restrict,NexusInfo *magick_restrict,
     ExceptionInfo *),
-  WritePixelCacheMetacontent(CacheInfo *,NexusInfo *restrict,ExceptionInfo *);
+  WritePixelCacheMetacontent(CacheInfo *,NexusInfo *magick_restrict,
+    ExceptionInfo *);
 
 static Quantum
   *GetAuthenticPixelsCache(Image *,const ssize_t,const ssize_t,const size_t,
@@ -174,7 +176,7 @@
 MagickPrivate Cache AcquirePixelCache(const size_t number_threads)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   char
     *synchronize;
@@ -237,7 +239,7 @@
 MagickPrivate NexusInfo **AcquirePixelCacheNexus(const size_t number_threads)
 {
   NexusInfo
-    **restrict nexus_info;
+    **magick_restrict nexus_info;
 
   register ssize_t
     i;
@@ -291,7 +293,7 @@
   MagickSizeType *length,ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -385,10 +387,10 @@
 MagickPrivate Cache ClonePixelCache(const Cache cache)
 {
   CacheInfo
-    *restrict clone_info;
+    *magick_restrict clone_info;
 
   const CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(cache != NULL);
   cache_info=(const CacheInfo *) cache;
@@ -431,8 +433,8 @@
 MagickPrivate void ClonePixelCacheMethods(Cache clone,const Cache cache)
 {
   CacheInfo
-    *restrict cache_info,
-    *restrict source_info;
+    *magick_restrict cache_info,
+    *magick_restrict source_info;
 
   assert(clone != (Cache) NULL);
   source_info=(CacheInfo *) clone;
@@ -455,7 +457,7 @@
 %                                                                             %
 %                                                                             %
 %                                                                             %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %  ClonePixelCacheRepository() clones the source pixel cache to the destination
 %  cache.
 %
@@ -474,8 +476,9 @@
 %
 */
 
-static MagickBooleanType ClonePixelCacheOnDisk(CacheInfo *restrict cache_info,
-  CacheInfo *restrict clone_info,ExceptionInfo *exception)
+static MagickBooleanType ClonePixelCacheOnDisk(
+  CacheInfo *magick_restrict cache_info,CacheInfo *magick_restrict clone_info,
+  ExceptionInfo *exception)
 {
   MagickSizeType
     extent;
@@ -522,7 +525,7 @@
 }
 
 static MagickBooleanType ClonePixelCacheRepository(
-  CacheInfo *restrict clone_info,CacheInfo *restrict cache_info,
+  CacheInfo *magick_restrict clone_info,CacheInfo *magick_restrict cache_info,
   ExceptionInfo *exception)
 {
 #define MaxCacheThreads  2
@@ -538,8 +541,8 @@
     status;
 
   NexusInfo
-    **restrict cache_nexus,
-    **restrict clone_nexus;
+    **magick_restrict cache_nexus,
+    **magick_restrict clone_nexus;
 
   size_t
     length;
@@ -641,10 +644,10 @@
     else
       {
         register const Quantum
-          *restrict p;
+          *magick_restrict p;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         /*
           Mismatched pixel channel map.
@@ -800,7 +803,7 @@
 MagickExport void DestroyImagePixels(Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -909,7 +912,7 @@
 MagickPrivate Cache DestroyPixelCache(Cache cache)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(cache != (Cache) NULL);
   cache_info=(CacheInfo *) cache;
@@ -1037,7 +1040,7 @@
 MagickExport void *GetAuthenticMetacontent(const Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -1088,7 +1091,7 @@
 static void *GetAuthenticMetacontentFromCache(const Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -1142,10 +1145,10 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   Quantum
-    *restrict pixels;
+    *magick_restrict pixels;
 
   /*
     Transfer pixels from the cache.
@@ -1194,7 +1197,7 @@
 static Quantum *GetAuthenticPixelsFromCache(const Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -1235,7 +1238,7 @@
 MagickExport Quantum *GetAuthenticPixelQueue(const Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -1301,7 +1304,7 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -1363,13 +1366,13 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
 
   Quantum
-    *restrict pixels;
+    *magick_restrict pixels;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -1410,7 +1413,7 @@
 MagickExport MagickSizeType GetImageExtent(const Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -1457,14 +1460,14 @@
 */
 
 static inline MagickBooleanType ValidatePixelCacheMorphology(
-  const Image *restrict image)
+  const Image *magick_restrict image)
 {
   const CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const PixelChannelMap
-    *restrict p,
-    *restrict q;
+    *magick_restrict p,
+    *magick_restrict q;
 
   /*
     Does the image match the pixel cache morphology?
@@ -1491,7 +1494,7 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   MagickBooleanType
     destroy,
@@ -1615,7 +1618,7 @@
 MagickExport CacheType GetImagePixelCacheType(const Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(image != (Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -1683,10 +1686,10 @@
   const ssize_t x,const ssize_t y,Quantum *pixel,ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   assert(image != (Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -1737,13 +1740,13 @@
   const ssize_t x,const ssize_t y,Quantum *pixel,ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -1792,7 +1795,7 @@
   const ssize_t x,const ssize_t y,Quantum *pixel,ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -1855,7 +1858,7 @@
   Quantum *pixel,ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -1914,13 +1917,13 @@
   PixelInfo *pixel,ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
 
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -1962,7 +1965,7 @@
 MagickPrivate ColorspaceType GetPixelCacheColorspace(const Cache cache)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(cache != (Cache) NULL);
   cache_info=(CacheInfo *) cache;
@@ -2041,10 +2044,10 @@
 %
 */
 MagickPrivate MagickSizeType GetPixelCacheNexusExtent(const Cache cache,
-  NexusInfo *restrict nexus_info)
+  NexusInfo *magick_restrict nexus_info)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   MagickSizeType
     extent;
@@ -2089,7 +2092,7 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -2133,7 +2136,7 @@
 MagickPrivate ClassType GetPixelCacheStorageClass(const Cache cache)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(cache != (Cache) NULL);
   cache_info=(CacheInfo *) cache;
@@ -2175,7 +2178,7 @@
   size_t *height)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(image != (Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -2216,7 +2219,7 @@
 MagickPrivate VirtualPixelMethod GetPixelCacheVirtualMethod(const Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(image != (Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -2252,13 +2255,13 @@
 static const void *GetVirtualMetacontentFromCache(const Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
 
   const void
-    *restrict metacontent;
+    *magick_restrict metacontent;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -2298,10 +2301,10 @@
 %
 */
 MagickPrivate const void *GetVirtualMetacontentFromNexus(const Cache cache,
-  NexusInfo *restrict nexus_info)
+  NexusInfo *magick_restrict nexus_info)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(cache != (Cache) NULL);
   cache_info=(CacheInfo *) cache;
@@ -2338,13 +2341,13 @@
 MagickExport const void *GetVirtualMetacontent(const Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
 
   const void
-    *restrict metacontent;
+    *magick_restrict metacontent;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -2490,7 +2493,7 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   MagickOffsetType
     offset;
@@ -2500,36 +2503,36 @@
     number_pixels;
 
   NexusInfo
-    **restrict virtual_nexus;
+    **magick_restrict virtual_nexus;
 
   Quantum
-    *restrict pixels,
+    *magick_restrict pixels,
     virtual_pixel[MaxPixelChannels];
 
   RectangleInfo
     region;
 
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register const void
-    *restrict r;
+    *magick_restrict r;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     i,
     u;
 
   register unsigned char
-    *restrict s;
+    *magick_restrict s;
 
   ssize_t
     v;
 
   void
-    *restrict virtual_metacontent;
+    *magick_restrict virtual_metacontent;
 
   /*
     Acquire pixels.
@@ -2917,13 +2920,13 @@
   const size_t columns,const size_t rows,ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
 
   const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -2962,7 +2965,7 @@
 MagickExport const Quantum *GetVirtualPixelQueue(const Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -3032,13 +3035,13 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
 
   const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -3081,7 +3084,7 @@
 static const Quantum *GetVirtualPixelsCache(const Image *image)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -3122,10 +3125,10 @@
 %
 */
 MagickPrivate const Quantum *GetVirtualPixelsNexus(const Cache cache,
-  NexusInfo *restrict nexus_info)
+  NexusInfo *magick_restrict nexus_info)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(cache != (Cache) NULL);
   cache_info=(CacheInfo *) cache;
@@ -3244,8 +3247,8 @@
 }
 
 static inline MagickOffsetType WritePixelCacheRegion(
-  const CacheInfo *restrict cache_info,const MagickOffsetType offset,
-  const MagickSizeType length,const unsigned char *restrict buffer)
+  const CacheInfo *magick_restrict cache_info,const MagickOffsetType offset,
+  const MagickSizeType length,const unsigned char *magick_restrict buffer)
 {
   register MagickOffsetType
     i;
@@ -3280,7 +3283,7 @@
 static MagickBooleanType SetPixelCacheExtent(Image *image,MagickSizeType length)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   MagickOffsetType
     count,
@@ -3330,7 +3333,7 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info,
+    *magick_restrict cache_info,
     source_info;
 
   char
@@ -3656,8 +3659,8 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info,
-    *restrict clone_info;
+    *magick_restrict cache_info,
+    *magick_restrict clone_info;
 
   Image
     clone_image;
@@ -3785,7 +3788,7 @@
   const MagickBooleanType clone,NexusInfo *nexus_info,ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   MagickOffsetType
     offset;
@@ -3794,7 +3797,7 @@
     number_pixels;
 
   Quantum
-    *restrict pixels;
+    *magick_restrict pixels;
 
   RectangleInfo
     region;
@@ -3874,13 +3877,13 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
 
   Quantum
-    *restrict pixels;
+    *magick_restrict pixels;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -3954,13 +3957,13 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
 
   Quantum
-    *restrict pixels;
+    *magick_restrict pixels;
 
   assert(image != (Image *) NULL);
   assert(image->signature == MagickCoreSignature);
@@ -4010,8 +4013,8 @@
 */
 
 static inline MagickOffsetType ReadPixelCacheRegion(
-  const CacheInfo *restrict cache_info,const MagickOffsetType offset,
-  const MagickSizeType length,unsigned char *restrict buffer)
+  const CacheInfo *magick_restrict cache_info,const MagickOffsetType offset,
+  const MagickSizeType length,unsigned char *magick_restrict buffer)
 {
   register MagickOffsetType
     i;
@@ -4044,7 +4047,7 @@
 }
 
 static MagickBooleanType ReadPixelCacheMetacontent(
-  CacheInfo *restrict cache_info,NexusInfo *restrict nexus_info,
+  CacheInfo *magick_restrict cache_info,NexusInfo *magick_restrict nexus_info,
   ExceptionInfo *exception)
 {
   MagickOffsetType
@@ -4059,7 +4062,7 @@
     y;
 
   register unsigned char
-    *restrict q;
+    *magick_restrict q;
 
   size_t
     rows;
@@ -4082,7 +4085,7 @@
     case MapCache:
     {
       register unsigned char
-        *restrict p;
+        *magick_restrict p;
 
       /*
         Read meta-content from memory.
@@ -4214,8 +4217,9 @@
 %    o exception: return any errors or warnings in this structure.
 %
 */
-static MagickBooleanType ReadPixelCachePixels(CacheInfo *restrict cache_info,
-  NexusInfo *restrict nexus_info,ExceptionInfo *exception)
+static MagickBooleanType ReadPixelCachePixels(
+  CacheInfo *magick_restrict cache_info,NexusInfo *magick_restrict nexus_info,
+  ExceptionInfo *exception)
 {
   MagickOffsetType
     count,
@@ -4226,7 +4230,7 @@
     length;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     y;
@@ -4258,7 +4262,7 @@
     case MapCache:
     {
       register Quantum
-        *restrict p;
+        *magick_restrict p;
 
       /*
         Read pixels from memory.
@@ -4385,7 +4389,7 @@
 MagickPrivate Cache ReferencePixelCache(Cache cache)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(cache != (Cache *) NULL);
   cache_info=(CacheInfo *) cache;
@@ -4423,7 +4427,7 @@
 MagickPrivate void SetPixelCacheMethods(Cache cache,CacheMethods *cache_methods)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   GetOneAuthenticPixelFromHandler
     get_one_authentic_pixel_from_handler;
@@ -4521,7 +4525,7 @@
 */
 
 static inline MagickBooleanType AcquireCacheNexusPixels(
-  const CacheInfo *restrict cache_info,NexusInfo *nexus_info,
+  const CacheInfo *magick_restrict cache_info,NexusInfo *nexus_info,
   ExceptionInfo *exception)
 {
   if (nexus_info->length != (MagickSizeType) ((size_t) nexus_info->length))
@@ -4546,7 +4550,8 @@
 }
 
 static inline MagickBooleanType IsPixelCacheAuthentic(
-  const CacheInfo *restrict cache_info,const NexusInfo *restrict nexus_info)
+  const CacheInfo *magick_restrict cache_info,
+  const NexusInfo *magick_restrict nexus_info)
 {
   MagickBooleanType
     status;
@@ -4702,10 +4707,10 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   CacheView
-    *restrict image_view;
+    *magick_restrict image_view;
 
   MagickBooleanType
     status;
@@ -4730,7 +4735,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -4758,7 +4763,7 @@
   const VirtualPixelMethod virtual_pixel_method,ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   VirtualPixelMethod
     method;
@@ -4827,10 +4832,10 @@
 %
 */
 MagickPrivate MagickBooleanType SyncAuthenticPixelCacheNexus(Image *image,
-  NexusInfo *restrict nexus_info,ExceptionInfo *exception)
+  NexusInfo *magick_restrict nexus_info,ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   MagickBooleanType
     status;
@@ -4892,7 +4897,7 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -4942,7 +4947,7 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   const int
     id = GetOpenMPThreadId();
@@ -4999,7 +5004,7 @@
   ExceptionInfo *exception)
 {
   CacheInfo
-    *restrict cache_info;
+    *magick_restrict cache_info;
 
   assert(image != (Image *) NULL);
   assert(exception != (ExceptionInfo *) NULL);
@@ -5036,7 +5041,7 @@
 %
 */
 static MagickBooleanType WritePixelCacheMetacontent(CacheInfo *cache_info,
-  NexusInfo *restrict nexus_info,ExceptionInfo *exception)
+  NexusInfo *magick_restrict nexus_info,ExceptionInfo *exception)
 {
   MagickOffsetType
     count,
@@ -5047,7 +5052,7 @@
     length;
 
   register const unsigned char
-    *restrict p;
+    *magick_restrict p;
 
   register ssize_t
     y;
@@ -5073,7 +5078,7 @@
     case MapCache:
     {
       register unsigned char
-        *restrict q;
+        *magick_restrict q;
 
       /*
         Write associated pixels to memory.
@@ -5205,8 +5210,9 @@
 %    o exception: return any errors or warnings in this structure.
 %
 */
-static MagickBooleanType WritePixelCachePixels(CacheInfo *restrict cache_info,
-  NexusInfo *restrict nexus_info,ExceptionInfo *exception)
+static MagickBooleanType WritePixelCachePixels(
+  CacheInfo *magick_restrict cache_info,NexusInfo *magick_restrict nexus_info,
+  ExceptionInfo *exception)
 {
   MagickOffsetType
     count,
@@ -5217,7 +5223,7 @@
     length;
 
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register ssize_t
     y;
@@ -5241,7 +5247,7 @@
     case MapCache:
     {
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       /*
         Write pixels to memory.
diff --git a/MagickCore/channel.c b/MagickCore/channel.c
index efca25d..8424793 100644
--- a/MagickCore/channel.c
+++ b/MagickCore/channel.c
@@ -148,10 +148,10 @@
       source_traits;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -527,10 +527,10 @@
       *pixels;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       i;
@@ -709,10 +709,10 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -965,7 +965,7 @@
       for (y=0; y < (ssize_t) image->rows; y++)
       {
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
@@ -1030,7 +1030,7 @@
       for (y=0; y < (ssize_t) image->rows; y++)
       {
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
@@ -1097,7 +1097,7 @@
       for (y=0; y < (ssize_t) image->rows; y++)
       {
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
@@ -1195,7 +1195,7 @@
       for (y=0; y < (ssize_t) image->rows; y++)
       {
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
diff --git a/MagickCore/cipher.c b/MagickCore/cipher.c
index 22e5475..cdabed6 100644
--- a/MagickCore/cipher.c
+++ b/MagickCore/cipher.c
@@ -662,7 +662,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     q=GetCacheViewAuthenticPixels(image_view,0,y,image->columns,1,exception);
     if (q == (Quantum *) NULL)
@@ -882,7 +882,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     q=GetCacheViewAuthenticPixels(image_view,0,y,image->columns,1,exception);
     if (q == (Quantum *) NULL)
diff --git a/MagickCore/colormap.c b/MagickCore/colormap.c
index 4897d18..e3cb96a 100644
--- a/MagickCore/colormap.c
+++ b/MagickCore/colormap.c
@@ -206,7 +206,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     ssize_t
       index;
@@ -351,7 +351,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     q=GetCacheViewAuthenticPixels(image_view,0,y,image->columns,1,exception);
     if (q == (Quantum *) NULL)
diff --git a/MagickCore/colorspace.c b/MagickCore/colorspace.c
index ba4f633..8080750 100644
--- a/MagickCore/colorspace.c
+++ b/MagickCore/colorspace.c
@@ -294,7 +294,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -350,7 +350,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -422,7 +422,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -641,7 +641,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -708,7 +708,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -947,7 +947,7 @@
           pixel;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
@@ -1752,7 +1752,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -1808,7 +1808,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -1888,7 +1888,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -2109,7 +2109,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -2175,7 +2175,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -2415,7 +2415,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
diff --git a/MagickCore/compare.c b/MagickCore/compare.c
index e27b5ef..a29f4ef 100644
--- a/MagickCore/compare.c
+++ b/MagickCore/compare.c
@@ -125,7 +125,8 @@
 }
 
 static inline MagickBooleanType ValidateImageMorphology(
-  const Image *restrict image,const Image *restrict reconstruct_image)
+  const Image *magick_restrict image,
+  const Image *magick_restrict reconstruct_image)
 {
   /*
     Does the image match the reconstructed image morphology?
@@ -234,11 +235,11 @@
       sync;
 
     register const Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register Quantum
-      *restrict r;
+      *magick_restrict r;
 
     register ssize_t
       x;
@@ -393,8 +394,8 @@
       channel_distortion[MaxPixelChannels+1];
 
     register const Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       j,
@@ -502,8 +503,8 @@
       channel_distortion[MaxPixelChannels+1];
 
     register const Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -606,8 +607,8 @@
       channel_distortion[MaxPixelChannels+1];
 
     register const Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -707,8 +708,8 @@
   for (y=0; y < (ssize_t) rows; y++)
   {
     register const Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -805,8 +806,8 @@
       channel_distortion[MaxPixelChannels+1];
 
     register const Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -934,8 +935,8 @@
   for (y=0; y < (ssize_t) rows; y++)
   {
     register const Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1066,8 +1067,8 @@
       channel_distortion[MaxPixelChannels+1];
 
     register const Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       j,
@@ -1603,8 +1604,8 @@
   for (y=0; y < (ssize_t) rows; y++)
   {
     register const Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1794,7 +1795,7 @@
       similarity;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/composite.c b/MagickCore/composite.c
index 7b9e8de..12c34d7 100644
--- a/MagickCore/composite.c
+++ b/MagickCore/composite.c
@@ -328,10 +328,10 @@
       *pixels;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -874,10 +874,10 @@
           sync;
 
         register const Quantum
-          *restrict p;
+          *magick_restrict p;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
@@ -1053,10 +1053,10 @@
           sync;
 
         register const Quantum
-          *restrict p;
+          *magick_restrict p;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
@@ -1229,10 +1229,10 @@
       source_pixel;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/compress.c b/MagickCore/compress.c
index ae87e9c..65ce03e 100644
--- a/MagickCore/compress.c
+++ b/MagickCore/compress.c
@@ -489,7 +489,7 @@
   for (y=0; ((y < (ssize_t) image->rows) && (null_lines < 3)); )
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -892,7 +892,7 @@
 %  The format of the LZWEncodeImage method is:
 %
 %      MagickBooleanType LZWEncodeImage(Image *image,const size_t length,
-%        unsigned char *restrict pixels,ExceptionInfo *exception)
+%        unsigned char *magick_restrict pixels,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -907,7 +907,7 @@
 %
 */
 MagickExport MagickBooleanType LZWEncodeImage(Image *image,const size_t length,
-  unsigned char *restrict pixels,ExceptionInfo *exception)
+  unsigned char *magick_restrict pixels,ExceptionInfo *exception)
 {
 #define LZWClr  256UL  /* Clear Table Marker */
 #define LZWEod  257UL  /* End of Data marker */
@@ -1058,7 +1058,7 @@
 %  The format of the PackbitsEncodeImage method is:
 %
 %      MagickBooleanType PackbitsEncodeImage(Image *image,const size_t length,
-%        unsigned char *restrict pixels)
+%        unsigned char *magick_restrict pixels)
 %
 %  A description of each parameter follows:
 %
@@ -1071,7 +1071,8 @@
 %
 */
 MagickExport MagickBooleanType PackbitsEncodeImage(Image *image,
-  const size_t length,unsigned char *restrict pixels,ExceptionInfo *exception)
+  const size_t length,unsigned char *magick_restrict pixels,
+  ExceptionInfo *exception)
 {
   int
     count;
@@ -1193,7 +1194,7 @@
 %  The format of the ZLIBEncodeImage method is:
 %
 %      MagickBooleanType ZLIBEncodeImage(Image *image,const size_t length,
-%        unsigned char *restrict pixels,ExceptionInfo *exception)
+%        unsigned char *magick_restrict pixels,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -1223,7 +1224,7 @@
 }
 
 MagickExport MagickBooleanType ZLIBEncodeImage(Image *image,const size_t length,
-  unsigned char *restrict pixels,ExceptionInfo *exception)
+  unsigned char *magick_restrict pixels,ExceptionInfo *exception)
 {
   int
     status;
diff --git a/MagickCore/compress.h b/MagickCore/compress.h
index 3320bf0..a61cdb5 100644
--- a/MagickCore/compress.h
+++ b/MagickCore/compress.h
@@ -54,10 +54,12 @@
 extern MagickExport MagickBooleanType
   HuffmanDecodeImage(Image *,ExceptionInfo *),
   HuffmanEncodeImage(const ImageInfo *,Image *,Image *,ExceptionInfo *),
-  LZWEncodeImage(Image *,const size_t,unsigned char *restrict,ExceptionInfo *),
-  PackbitsEncodeImage(Image *,const size_t,unsigned char *restrict,
+  LZWEncodeImage(Image *,const size_t,unsigned char *magick_restrict,
     ExceptionInfo *),
-  ZLIBEncodeImage(Image *,const size_t,unsigned char *restrict,ExceptionInfo *);
+  PackbitsEncodeImage(Image *,const size_t,unsigned char *magick_restrict,
+    ExceptionInfo *),
+  ZLIBEncodeImage(Image *,const size_t,unsigned char *magick_restrict,
+    ExceptionInfo *);
 
 extern MagickExport void
   Ascii85Encode(Image *,const unsigned char),
diff --git a/MagickCore/decorate.c b/MagickCore/decorate.c
index 43a7c91..b182e47 100644
--- a/MagickCore/decorate.c
+++ b/MagickCore/decorate.c
@@ -289,7 +289,7 @@
         x;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       /*
         Draw top of ornamental border.
@@ -391,7 +391,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     size_t
       width;
@@ -505,7 +505,7 @@
         x;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       /*
         Draw bottom of ornamental border.
@@ -702,7 +702,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -792,7 +792,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -866,7 +866,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
diff --git a/MagickCore/distort.c b/MagickCore/distort.c
index 0191cd6..960e91a 100644
--- a/MagickCore/distort.c
+++ b/MagickCore/distort.c
@@ -2297,7 +2297,7 @@
       zero;
 
     ResampleFilter
-      **restrict resample_filter;
+      **magick_restrict resample_filter;
 
     ssize_t
       j;
@@ -2335,7 +2335,7 @@
         i;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       q=QueueCacheViewAuthenticPixels(distort_view,0,j,distort_image->columns,1,
         exception);
@@ -3046,7 +3046,7 @@
         i;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       q=GetCacheViewAuthenticPixels(sparse_view,0,j,sparse_image->columns,
         1,exception);
diff --git a/MagickCore/distribute-cache-private.h b/MagickCore/distribute-cache-private.h
index 9325c34..8f5b4f9 100644
--- a/MagickCore/distribute-cache-private.h
+++ b/MagickCore/distribute-cache-private.h
@@ -65,11 +65,11 @@
   ReadDistributePixelCacheMetacontent(DistributeCacheInfo *,
     const RectangleInfo *,const MagickSizeType,unsigned char *),
   ReadDistributePixelCachePixels(DistributeCacheInfo *,const RectangleInfo *,
-    const MagickSizeType,unsigned char *restrict),
+    const MagickSizeType,unsigned char *magick_restrict),
   WriteDistributePixelCacheMetacontent(DistributeCacheInfo *,
     const RectangleInfo *,const MagickSizeType,const unsigned char *),
   WriteDistributePixelCachePixels(DistributeCacheInfo *,const RectangleInfo *,
-    const MagickSizeType,const unsigned char *restrict);
+    const MagickSizeType,const unsigned char *magick_restrict);
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }
diff --git a/MagickCore/distribute-cache.c b/MagickCore/distribute-cache.c
index b4c1d67..d0ee6f2 100644
--- a/MagickCore/distribute-cache.c
+++ b/MagickCore/distribute-cache.c
@@ -145,7 +145,7 @@
 */
 
 static inline MagickOffsetType dpc_read(int file,const MagickSizeType length,
-  unsigned char *restrict message)
+  unsigned char *magick_restrict message)
 {
   register MagickOffsetType
     i;
@@ -432,7 +432,7 @@
 }
 
 static inline MagickOffsetType dpc_send(int file,const MagickSizeType length,
-  const unsigned char *restrict message)
+  const unsigned char *magick_restrict message)
 {
   MagickOffsetType
     count;
@@ -1276,7 +1276,7 @@
 %
 %      MagickOffsetType ReadDistributePixelCachePixels(
 %        DistributeCacheInfo *server_info,const RectangleInfo *region,
-%        const MagickSizeType length,unsigned char *restrict pixels)
+%        const MagickSizeType length,unsigned char *magick_restrict pixels)
 %
 %  A description of each parameter follows:
 %
@@ -1293,7 +1293,7 @@
 */
 MagickPrivate MagickOffsetType ReadDistributePixelCachePixels(
   DistributeCacheInfo *server_info,const RectangleInfo *region,
-  const MagickSizeType length,unsigned char *restrict pixels)
+  const MagickSizeType length,unsigned char *magick_restrict pixels)
 {
   MagickOffsetType
     count;
@@ -1487,7 +1487,8 @@
 %
 %      MagickBooleanType WriteDistributePixelCachePixels(
 %        DistributeCacheInfo *server_info,const RectangleInfo *region,
-%        const MagickSizeType length,const unsigned char *restrict pixels)
+%        const MagickSizeType length,
+%        const unsigned char *magick_restrict pixels)
 %
 %  A description of each parameter follows:
 %
@@ -1504,7 +1505,7 @@
 */
 MagickPrivate MagickOffsetType WriteDistributePixelCachePixels(
   DistributeCacheInfo *server_info,const RectangleInfo *region,
-  const MagickSizeType length,const unsigned char *restrict pixels)
+  const MagickSizeType length,const unsigned char *magick_restrict pixels)
 {
   MagickOffsetType
     count;
diff --git a/MagickCore/draw.c b/MagickCore/draw.c
index 4c42d25..8d238d1 100644
--- a/MagickCore/draw.c
+++ b/MagickCore/draw.c
@@ -1174,7 +1174,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     SegmentInfo
       inverse_edge;
@@ -3336,7 +3336,7 @@
       offset;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       i,
@@ -3646,7 +3646,7 @@
   const PrimitiveInfo *primitive_info)
 {
   PathInfo
-    *restrict path_info;
+    *magick_restrict path_info;
 
   PolygonInfo
     **polygon_info;
@@ -3862,7 +3862,7 @@
     mid;
 
   PolygonInfo
-    **restrict polygon_info;
+    **magick_restrict polygon_info;
 
   register EdgeInfo
     *p;
@@ -3953,7 +3953,7 @@
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         ssize_t
           start_x,
@@ -4018,7 +4018,7 @@
       stroke_color;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -4276,7 +4276,7 @@
           for (y=0; y < (ssize_t) image->rows; y++)
           {
             register Quantum
-              *restrict q;
+              *magick_restrict q;
 
             q=GetCacheViewAuthenticPixels(image_view,0,y,image->columns,1,
               exception);
@@ -4335,7 +4335,7 @@
           for (y=0; y < (ssize_t) image->rows; y++)
           {
             register Quantum
-              *restrict q;
+              *magick_restrict q;
 
             q=GetCacheViewAuthenticPixels(image_view,0,y,image->columns,1,
               exception);
@@ -4392,7 +4392,7 @@
           for (y=0; y < (ssize_t) image->rows; y++)
           {
             register Quantum
-              *restrict q;
+              *magick_restrict q;
 
             q=GetCacheViewAuthenticPixels(image_view,0,y,image->columns,1,
               exception);
@@ -4447,7 +4447,7 @@
           for (y=0; y < (ssize_t) image->rows; y++)
           {
             register Quantum
-              *restrict q;
+              *magick_restrict q;
 
             q=GetCacheViewAuthenticPixels(image_view,0,y,image->columns,1,
               exception);
diff --git a/MagickCore/effect.c b/MagickCore/effect.c
index 2da9ebb..53585a9 100644
--- a/MagickCore/effect.c
+++ b/MagickCore/effect.c
@@ -260,10 +260,10 @@
   for (y=0; y < (ssize_t) blur_image->rows; y++)
   {
     register const Quantum
-      *restrict r;
+      *magick_restrict r;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -281,7 +281,7 @@
     for (x=0; x < (ssize_t) blur_image->columns; x++)
     {
       register const Quantum
-        *restrict p;
+        *magick_restrict p;
 
       register ssize_t
         i;
@@ -320,10 +320,10 @@
           traits;
 
         register const MagickRealType
-          *restrict k;
+          *magick_restrict k;
 
         register const Quantum
-          *restrict pixels;
+          *magick_restrict pixels;
 
         register ssize_t
           u;
@@ -583,10 +583,10 @@
   for (y=0; y < (ssize_t) sharp_image->rows; y++)
   {
     register const Quantum
-      *restrict r;
+      *magick_restrict r;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -604,7 +604,7 @@
     for (x=0; x < (ssize_t) sharp_image->columns; x++)
     {
       register const Quantum
-        *restrict p;
+        *magick_restrict p;
 
       register ssize_t
         i;
@@ -643,10 +643,10 @@
           traits;
 
         register const MagickRealType
-          *restrict k;
+          *magick_restrict k;
 
         register const Quantum
-          *restrict pixels;
+          *magick_restrict pixels;
 
         register ssize_t
           u;
@@ -849,7 +849,8 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %  DespeckleImage() reduces the speckle noise in an image while perserving the
-%  edges of the original image.  A speckle removing filter uses a complementary %  hulling technique (raising pixels that are darker than their surrounding
+%  edges of the original image.  A speckle removing filter uses a complementary
+%  hulling technique (raising pixels that are darker than their surrounding
 %  neighbors, then complementarily lowering pixels that are brighter than their
 %  surrounding neighbors) to reduce the speckle index of that image (reference
 %  Crimmins speckle removal).
@@ -868,7 +869,7 @@
 
 static void Hull(const Image *image,const ssize_t x_offset,
   const ssize_t y_offset,const size_t columns,const size_t rows,
-  const int polarity,Quantum *restrict f,Quantum *restrict g)
+  const int polarity,Quantum *magick_restrict f,Quantum *magick_restrict g)
 {
   register Quantum
     *p,
@@ -981,8 +982,8 @@
     *pixel_info;
 
   Quantum
-    *restrict buffer,
-    *restrict pixels;
+    *magick_restrict buffer,
+    *magick_restrict pixels;
 
   register ssize_t
     i;
@@ -1068,7 +1069,7 @@
     for (y=0; y < (ssize_t) image->rows; y++)
     {
       register const Quantum
-        *restrict p;
+        *magick_restrict p;
 
       p=GetCacheViewVirtualPixels(image_view,0,y,image->columns,1,exception);
       if (p == (const Quantum *) NULL)
@@ -1099,7 +1100,7 @@
         sync;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       q=GetCacheViewAuthenticPixels(despeckle_view,0,y,despeckle_image->columns,
         1,exception);
@@ -1416,8 +1417,8 @@
 %
 */
 
-static inline MagickRealType GetMeanLuma(const Image *restrict image,
-  const double *restrict pixel)
+static inline MagickRealType GetMeanLuma(const Image *magick_restrict image,
+  const double *magick_restrict pixel)
 {
   if (image->colorspace == GRAYColorspace)
     return((MagickRealType) pixel[image->channel_map[GrayPixelChannel].offset]);
@@ -1491,7 +1492,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1508,7 +1509,7 @@
     for (x=0; x < (ssize_t) image->columns; x++)
     {
       const Quantum
-        *restrict p;
+        *magick_restrict p;
 
       double
         min_variance;
@@ -1527,7 +1528,7 @@
       for (i=0; i < 4; i++)
       {
         const Quantum
-          *restrict k;
+          *magick_restrict k;
 
         double
           mean[MaxPixelChannels],
@@ -1759,7 +1760,7 @@
     for (x=0; x < (ssize_t) image->columns; x++)
     {
       const Quantum
-        *restrict p;
+        *magick_restrict p;
 
       float
         *out,
@@ -1831,14 +1832,14 @@
     for (y=0; y < (ssize_t) image->rows; y++)
     {
       const Quantum
-        *restrict p;
+        *magick_restrict p;
 
       float
         *pix,
         *pixels;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       register ssize_t
         x;
@@ -2059,10 +2060,10 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2097,10 +2098,10 @@
           traits;
 
         register const Quantum
-          *restrict r;
+          *magick_restrict r;
 
         register MagickRealType
-          *restrict k;
+          *magick_restrict k;
 
         register ssize_t
           j;
@@ -2834,10 +2835,10 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2894,7 +2895,7 @@
           traits;
 
         register const Quantum
-          *restrict r;
+          *magick_restrict r;
 
         register ssize_t
           j;
@@ -3150,11 +3151,11 @@
       sync;
 
     register const Quantum
-      *restrict l,
-      *restrict p;
+      *magick_restrict l,
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3196,11 +3197,11 @@
           traits;
 
         register const MagickRealType
-          *restrict k;
+          *magick_restrict k;
 
         register const Quantum
-          *restrict luminance_pixels,
-          *restrict pixels;
+          *magick_restrict luminance_pixels,
+          *magick_restrict pixels;
 
         register ssize_t
           u;
@@ -3425,13 +3426,13 @@
       normal;
 
     register const Quantum
-      *restrict center,
-      *restrict p,
-      *restrict post,
-      *restrict pre;
+      *magick_restrict center,
+      *magick_restrict p,
+      *magick_restrict post,
+      *magick_restrict pre;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3713,7 +3714,7 @@
     progress;
 
   RandomInfo
-    **restrict random_info;
+    **magick_restrict random_info;
 
   size_t
     width;
@@ -3764,7 +3765,7 @@
       id = GetOpenMPThreadId();
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3900,10 +3901,10 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c
index 3e73ee9..dd3da87 100644
--- a/MagickCore/enhance.c
+++ b/MagickCore/enhance.c
@@ -359,7 +359,7 @@
       pixel;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -758,7 +758,7 @@
       luma;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -928,7 +928,7 @@
       red;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1074,7 +1074,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -1210,7 +1210,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1373,10 +1373,10 @@
       pixel;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1408,7 +1408,7 @@
         aggregate;
 
       register const Quantum
-        *restrict r;
+        *magick_restrict r;
 
       if (GetPixelReadMask(image,p) == 0)
         {
@@ -1552,7 +1552,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -1668,7 +1668,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1850,7 +1850,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1978,7 +1978,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2208,7 +2208,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2413,7 +2413,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2569,7 +2569,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2835,7 +2835,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -3265,7 +3265,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3448,7 +3448,7 @@
           sync;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
@@ -3513,7 +3513,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3817,7 +3817,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/feature.c b/MagickCore/feature.c
index ce84678..34095df 100644
--- a/MagickCore/feature.c
+++ b/MagickCore/feature.c
@@ -317,7 +317,7 @@
   for (y=0; y < (ssize_t) edge_image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -341,7 +341,7 @@
         dy;
 
       register const Quantum
-        *restrict kernel_pixels;
+        *magick_restrict kernel_pixels;
 
       ssize_t
         v;
@@ -429,7 +429,7 @@
   for (y=0; y < (ssize_t) edge_image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -534,7 +534,7 @@
         pixel;
 
       register const Quantum
-        *restrict p;
+        *magick_restrict p;
 
       /*
         Edge if pixel gradient higher than upper threshold.
@@ -711,7 +711,7 @@
   for (r=0; r < (ssize_t) image->rows; r++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -882,7 +882,7 @@
   for (r=0; r < (ssize_t) image->rows; r++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -1841,7 +1841,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -2132,10 +2132,10 @@
   for (y=0; y < (ssize_t) mean_image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/fourier.c b/MagickCore/fourier.c
index 78c5422..d1bf63c 100644
--- a/MagickCore/fourier.c
+++ b/MagickCore/fourier.c
@@ -235,14 +235,14 @@
   for (y=0; y < (ssize_t) images->rows; y++)
   {
     register const Quantum
-      *restrict Ai,
-      *restrict Ar,
-      *restrict Bi,
-      *restrict Br;
+      *magick_restrict Ai,
+      *magick_restrict Ar,
+      *magick_restrict Bi,
+      *magick_restrict Br;
 
     register Quantum
-      *restrict Ci,
-      *restrict Cr;
+      *magick_restrict Ci,
+      *magick_restrict Cr;
 
     register ssize_t
       x;
diff --git a/MagickCore/fx.c b/MagickCore/fx.c
index 52bf04d..c6837c8 100644
--- a/MagickCore/fx.c
+++ b/MagickCore/fx.c
@@ -280,7 +280,7 @@
     progress;
 
   RandomInfo
-    **restrict random_info;
+    **magick_restrict random_info;
 
   ssize_t
     y;
@@ -329,13 +329,13 @@
       sync;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -487,13 +487,13 @@
       quantum;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -740,7 +740,7 @@
       sync;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -941,10 +941,10 @@
       pixel;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3061,7 +3061,7 @@
     *image_view;
 
   FxInfo
-    **restrict fx_info;
+    **magick_restrict fx_info;
 
   Image
     *fx_image;
@@ -3111,10 +3111,10 @@
       id = GetOpenMPThreadId();
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3303,13 +3303,13 @@
       delta;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -3541,13 +3541,13 @@
           sync;
 
         register const Quantum
-          *restrict p;
+          *magick_restrict p;
 
         register ssize_t
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         if (status == MagickFalse)
           continue;
@@ -3687,11 +3687,11 @@
     plasma;
 
   register const Quantum
-    *restrict u,
-    *restrict v;
+    *magick_restrict u,
+    *magick_restrict v;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     i;
@@ -4197,13 +4197,13 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -4361,7 +4361,7 @@
       background_color;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -4463,7 +4463,7 @@
     status;
 
   RandomInfo
-    **restrict random_info;
+    **magick_restrict random_info;
 
   ssize_t
     y;
@@ -4497,7 +4497,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -4662,7 +4662,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -4980,14 +4980,14 @@
   for (y=0; y < (ssize_t) stereo_image->rows; y++)
   {
     register const Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict r;
+      *magick_restrict r;
 
     p=GetVirtualPixels(left_image,-x_offset,y-y_offset,image->columns,1,
       exception);
@@ -5140,13 +5140,13 @@
       delta;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -5361,10 +5361,10 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -5655,7 +5655,7 @@
   for (y=0; y < (ssize_t) wave_image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/histogram.c b/MagickCore/histogram.c
index 64964ed..9672550 100644
--- a/MagickCore/histogram.c
+++ b/MagickCore/histogram.c
@@ -1140,7 +1140,7 @@
         *p;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       status=MagickTrue;
       p=node_info->list;
diff --git a/MagickCore/identify.c b/MagickCore/identify.c
index dfcb0a3..a46b275 100644
--- a/MagickCore/identify.c
+++ b/MagickCore/identify.c
@@ -170,7 +170,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -995,7 +995,7 @@
             pixel;
 
           register PixelInfo
-            *restrict p;
+            *magick_restrict p;
 
           GetPixelInfo(image,&pixel);
           p=image->colormap;
diff --git a/MagickCore/image-view.c b/MagickCore/image-view.c
index 0bea8be..0d90bc3 100644
--- a/MagickCore/image-view.c
+++ b/MagickCore/image-view.c
@@ -255,11 +255,11 @@
       sync;
 
     register const Quantum
-      *restrict duplex_pixels,
-      *restrict pixels;
+      *magick_restrict duplex_pixels,
+      *magick_restrict pixels;
 
     register Quantum
-      *restrict destination_pixels;
+      *magick_restrict destination_pixels;
 
     if (status == MagickFalse)
       continue;
@@ -915,7 +915,7 @@
       sync;
 
     register Quantum
-      *restrict pixels;
+      *magick_restrict pixels;
 
     if (status == MagickFalse)
       continue;
@@ -1043,10 +1043,10 @@
       sync;
 
     register const Quantum
-      *restrict pixels;
+      *magick_restrict pixels;
 
     register Quantum
-      *restrict destination_pixels;
+      *magick_restrict destination_pixels;
 
     if (status == MagickFalse)
       continue;
@@ -1171,7 +1171,7 @@
       id = GetOpenMPThreadId();
 
     register Quantum
-      *restrict pixels;
+      *magick_restrict pixels;
 
     if (status == MagickFalse)
       continue;
diff --git a/MagickCore/image.c b/MagickCore/image.c
index c71a84e..1cb5daf 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -556,10 +556,10 @@
         pixel;
 
       register const Quantum
-        *restrict p;
+        *magick_restrict p;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       register ssize_t
         x;
@@ -1086,13 +1086,13 @@
       sync;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -1455,10 +1455,10 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2042,7 +2042,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2230,7 +2230,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2344,7 +2344,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2956,10 +2956,10 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3051,7 +3051,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3530,7 +3530,7 @@
       index;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/layer.c b/MagickCore/layer.c
index 7ddfca7..a6df0e8 100644
--- a/MagickCore/layer.c
+++ b/MagickCore/layer.c
@@ -113,7 +113,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     q=GetAuthenticPixels(image,bounds->x,bounds->y+y,bounds->width,1,exception);
     if (q == (Quantum *) NULL)
diff --git a/MagickCore/locale-private.h b/MagickCore/locale-private.h
index 659220d..25b7567 100644
--- a/MagickCore/locale-private.h
+++ b/MagickCore/locale-private.h
@@ -33,10 +33,11 @@
   LocaleComponentTerminus(void);
 
 extern MagickPrivate ssize_t
-  FormatLocaleFileList(FILE *,const char *restrict,va_list)
+  FormatLocaleFileList(FILE *,const char *magick_restrict,va_list)
     magick_attribute((__format__ (__printf__,2,0))),
-  FormatLocaleStringList(char *restrict,const size_t,const char *restrict,
-    va_list) magick_attribute((__format__ (__printf__,3,0)));
+  FormatLocaleStringList(char *magick_restrict,const size_t,
+    const char *magick_restrict,va_list)
+    magick_attribute((__format__ (__printf__,3,0)));
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }
diff --git a/MagickCore/locale.c b/MagickCore/locale.c
index ae5f1e2..4b392a0 100644
--- a/MagickCore/locale.c
+++ b/MagickCore/locale.c
@@ -332,7 +332,7 @@
 */
 
 MagickPrivate ssize_t FormatLocaleFileList(FILE *file,
-  const char *restrict format,va_list operands)
+  const char *magick_restrict format,va_list operands)
 {
   ssize_t
     n;
@@ -376,8 +376,8 @@
   return(n);
 }
 
-MagickExport ssize_t FormatLocaleFile(FILE *file,const char *restrict format,
-  ...)
+MagickExport ssize_t FormatLocaleFile(FILE *file,
+  const char *magick_restrict format,...)
 {
   ssize_t
     n;
@@ -422,8 +422,8 @@
 %
 */
 
-MagickPrivate ssize_t FormatLocaleStringList(char *restrict string,
-  const size_t length,const char *restrict format,va_list operands)
+MagickPrivate ssize_t FormatLocaleStringList(char *magick_restrict string,
+  const size_t length,const char *magick_restrict format,va_list operands)
 {
   ssize_t
     n;
@@ -471,8 +471,8 @@
   return(n);
 }
 
-MagickExport ssize_t FormatLocaleString(char *restrict string,
-  const size_t length,const char *restrict format,...)
+MagickExport ssize_t FormatLocaleString(char *magick_restrict string,
+  const size_t length,const char *magick_restrict format,...)
 {
   ssize_t
     n;
@@ -975,8 +975,8 @@
 %      referenced by sentinal.
 %
 */
-MagickExport double InterpretLocaleValue(const char *restrict string,
-  char **restrict sentinal)
+MagickExport double InterpretLocaleValue(const char *magick_restrict string,
+  char **magick_restrict sentinal)
 {
   char
     *q;
diff --git a/MagickCore/locale_.h b/MagickCore/locale_.h
index ac81dfe..b144584 100644
--- a/MagickCore/locale_.h
+++ b/MagickCore/locale_.h
@@ -49,7 +49,7 @@
   **GetLocaleInfoList(const char *,size_t *,ExceptionInfo *);
 
 extern MagickExport double
-  InterpretLocaleValue(const char *restrict,char **restrict);
+  InterpretLocaleValue(const char *magick_restrict,char **magick_restrict);
 
 extern MagickExport int
   LocaleCompare(const char *,const char *),
@@ -63,9 +63,10 @@
   ListLocaleInfo(FILE *,ExceptionInfo *);
 
 extern MagickExport ssize_t
-  FormatLocaleFile(FILE *,const char *restrict,...)
+  FormatLocaleFile(FILE *,const char *magick_restrict,...)
     magick_attribute((__format__ (__printf__,2,3))),
-  FormatLocaleString(char *restrict,const size_t,const char *restrict,...)
+  FormatLocaleString(char *magick_restrict,const size_t,
+    const char *magick_restrict,...)
     magick_attribute((__format__ (__printf__,3,4)));
 
 extern MagickExport void
diff --git a/MagickCore/matrix.c b/MagickCore/matrix.c
index 1bee454..a27e625 100644
--- a/MagickCore/matrix.c
+++ b/MagickCore/matrix.c
@@ -129,8 +129,8 @@
 #endif
 
 static inline MagickOffsetType WriteMatrixElements(
-  const MatrixInfo *restrict matrix_info,const MagickOffsetType offset,
-  const MagickSizeType length,const unsigned char *restrict buffer)
+  const MatrixInfo *magick_restrict matrix_info,const MagickOffsetType offset,
+  const MagickSizeType length,const unsigned char *magick_restrict buffer)
 {
   register MagickOffsetType
     i;
@@ -169,7 +169,8 @@
   return(i);
 }
 
-static MagickBooleanType SetMatrixExtent(MatrixInfo *restrict matrix_info,
+static MagickBooleanType SetMatrixExtent(
+  MatrixInfo *magick_restrict matrix_info,
   MagickSizeType length)
 {
   MagickOffsetType
@@ -664,8 +665,8 @@
 }
 
 static inline MagickOffsetType ReadMatrixElements(
-  const MatrixInfo *restrict matrix_info,const MagickOffsetType offset,
-  const MagickSizeType length,unsigned char *restrict buffer)
+  const MatrixInfo *magick_restrict matrix_info,const MagickOffsetType offset,
+  const MagickSizeType length,unsigned char *magick_restrict buffer)
 {
   register MagickOffsetType
     i;
diff --git a/MagickCore/morphology.c b/MagickCore/morphology.c
index f60f1f1..224109a 100644
--- a/MagickCore/morphology.c
+++ b/MagickCore/morphology.c
@@ -2651,10 +2651,10 @@
           id = GetOpenMPThreadId();
 
         register const Quantum
-          *restrict p;
+          *magick_restrict p;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           r;
@@ -2694,10 +2694,10 @@
               traits;
 
             register const MagickRealType
-              *restrict k;
+              *magick_restrict k;
 
             register const Quantum
-              *restrict pixels;
+              *magick_restrict pixels;
 
             register ssize_t
               v;
@@ -2795,10 +2795,10 @@
       id = GetOpenMPThreadId();
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2842,10 +2842,10 @@
           traits;
 
         register const MagickRealType
-          *restrict k;
+          *magick_restrict k;
 
         register const Quantum
-          *restrict pixels;
+          *magick_restrict pixels;
 
         register ssize_t
           u;
@@ -3283,10 +3283,10 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3329,10 +3329,10 @@
           traits;
 
         register const MagickRealType
-          *restrict k;
+          *magick_restrict k;
 
         register const Quantum
-          *restrict pixels;
+          *magick_restrict pixels;
 
         register ssize_t
           u;
@@ -3444,10 +3444,10 @@
   for (y=(ssize_t) image->rows-1; y >= 0; y--)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3490,10 +3490,10 @@
           traits;
 
         register const MagickRealType
-          *restrict k;
+          *magick_restrict k;
 
         register const Quantum
-          *restrict pixels;
+          *magick_restrict pixels;
 
         register ssize_t
           u;
diff --git a/MagickCore/paint.c b/MagickCore/paint.c
index c45f505..ad5aa11 100644
--- a/MagickCore/paint.c
+++ b/MagickCore/paint.c
@@ -217,10 +217,10 @@
   while (s > segment_stack)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -327,10 +327,10 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -761,10 +761,10 @@
   for (y=0; y < (ssize_t) linear_image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register size_t
       *histogram;
@@ -955,7 +955,7 @@
       pixel;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1085,7 +1085,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -1212,7 +1212,7 @@
       pixel;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/pixel-accessor.h b/MagickCore/pixel-accessor.h
index 0491f95..552503e 100644
--- a/MagickCore/pixel-accessor.h
+++ b/MagickCore/pixel-accessor.h
@@ -44,156 +44,160 @@
 #endif
 }
 
-static inline Quantum GetPixela(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixela(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[aPixelChannel].offset]);
 }
 
-static inline Quantum GetPixelAlpha(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelAlpha(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   if (image->channel_map[AlphaPixelChannel].traits == UndefinedPixelTrait)
     return(OpaqueAlpha);
   return(pixel[image->channel_map[AlphaPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelAlphaTraits(const Image *restrict image)
+static inline PixelTrait GetPixelAlphaTraits(
+  const Image *magick_restrict image)
 {
   return(image->channel_map[AlphaPixelChannel].traits);
 }
 
-static inline Quantum GetPixelb(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelb(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[bPixelChannel].offset]);
 }
 
-static inline Quantum GetPixelBlack(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelBlack(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   if (image->channel_map[BlackPixelChannel].traits == UndefinedPixelTrait)
     return((Quantum) 0);
   return(pixel[image->channel_map[BlackPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelBlackTraits(const Image *restrict image)
+static inline PixelTrait GetPixelBlackTraits(
+  const Image *magick_restrict image)
 {
   return(image->channel_map[BlackPixelChannel].traits);
 }
 
-static inline Quantum GetPixelBlue(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelBlue(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[BluePixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelBlueTraits(const Image *restrict image)
+static inline PixelTrait GetPixelBlueTraits(const Image *magick_restrict image)
 {
   return(image->channel_map[BluePixelChannel].traits);
 }
 
-static inline Quantum GetPixelCb(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelCb(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[CbPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelCbTraits(const Image *restrict image)
+static inline PixelTrait GetPixelCbTraits(const Image *magick_restrict image)
 {
   return(image->channel_map[CbPixelChannel].traits);
 }
 
-static inline Quantum GetPixelChannel(const Image *restrict image,
-  const PixelChannel channel,const Quantum *restrict pixel)
+static inline Quantum GetPixelChannel(const Image *magick_restrict image,
+  const PixelChannel channel,const Quantum *magick_restrict pixel)
 {
   if (image->channel_map[channel].traits == UndefinedPixelTrait)
     return((Quantum) 0);
   return(pixel[image->channel_map[channel].offset]);
 }
 
-static inline PixelChannel GetPixelChannelChannel(const Image *restrict image,
-  const ssize_t offset)
+static inline PixelChannel GetPixelChannelChannel(
+  const Image *magick_restrict image,const ssize_t offset)
 {
   return(image->channel_map[offset].channel);
 }
 
-static inline ssize_t GetPixelChannelOffset(const Image *restrict image,
+static inline ssize_t GetPixelChannelOffset(const Image *magick_restrict image,
   const PixelChannel channel)
 {
   return(image->channel_map[channel].offset);
 }
 
-static inline PixelTrait GetPixelChannelTraits(const Image *restrict image,
-  const PixelChannel channel)
+static inline PixelTrait GetPixelChannelTraits(
+  const Image *magick_restrict image,const PixelChannel channel)
 {
   return(image->channel_map[channel].traits);
 }
 
-static inline size_t GetPixelChannels(const Image *restrict image)
+static inline size_t GetPixelChannels(const Image *magick_restrict image)
 {
   return(image->number_channels);
 }
 
-static inline Quantum GetPixelCr(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelCr(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[CrPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelCrTraits(const Image *restrict image)
+static inline PixelTrait GetPixelCrTraits(const Image *magick_restrict image)
 {
   return(image->channel_map[CrPixelChannel].traits);
 }
 
-static inline Quantum GetPixelCyan(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelCyan(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[CyanPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelCyanTraits(const Image *restrict image)
+static inline PixelTrait GetPixelCyanTraits(const Image *magick_restrict image)
 {
   return(image->channel_map[CyanPixelChannel].traits);
 }
 
-static inline Quantum GetPixelGray(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelGray(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[GrayPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelGrayTraits(const Image *restrict image)
+static inline PixelTrait GetPixelGrayTraits(const Image *magick_restrict image)
 {
   return(image->channel_map[GrayPixelChannel].traits);
 }
 
-static inline Quantum GetPixelGreen(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelGreen(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[GreenPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelGreenTraits(const Image *restrict image)
+static inline PixelTrait GetPixelGreenTraits(
+  const Image *magick_restrict image)
 {
   return(image->channel_map[GreenPixelChannel].traits);
 }
 
-static inline Quantum GetPixelIndex(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelIndex(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   if (image->channel_map[IndexPixelChannel].traits == UndefinedPixelTrait)
     return((Quantum) 0);
   return(pixel[image->channel_map[IndexPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelIndexTraits(const Image *restrict image)
+static inline PixelTrait GetPixelIndexTraits(
+  const Image *magick_restrict image)
 {
   return(image->channel_map[IndexPixelChannel].traits);
 }
 
 static inline MagickRealType GetPixelInfoChannel(
-  const PixelInfo *restrict pixel_info,const PixelChannel channel)
+  const PixelInfo *magick_restrict pixel_info,const PixelChannel channel)
 {
   switch (channel)
   {
@@ -221,7 +225,8 @@
   return(sign/MagickEpsilon);
 }
 
-static inline MagickRealType GetPixelInfoLuma(const PixelInfo *restrict pixel)
+static inline MagickRealType GetPixelInfoLuma(
+  const PixelInfo *magick_restrict pixel)
 {
   MagickRealType
     intensity;
@@ -239,7 +244,7 @@
 }
 
 static inline MagickRealType GetPixelInfoLuminance(
-  const PixelInfo *restrict pixel)
+  const PixelInfo *magick_restrict pixel)
 {
   MagickRealType
     intensity;
@@ -256,14 +261,14 @@
   return(intensity);
 }
 
-static inline Quantum GetPixelL(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelL(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[LPixelChannel].offset]);
 }
 
-static inline MagickRealType GetPixelLuma(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline MagickRealType GetPixelLuma(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   MagickRealType
     intensity;
@@ -275,8 +280,8 @@
   return(intensity);
 }
 
-static inline MagickRealType GetPixelLuminance(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline MagickRealType GetPixelLuminance(
+  const Image *magick_restrict image,const Quantum *magick_restrict pixel)
 {
   MagickRealType
     intensity;
@@ -298,69 +303,72 @@
   return(intensity);
 }
 
-static inline Quantum GetPixelMagenta(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelMagenta(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[MagentaPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelMagentaTraits(const Image *restrict image)
+static inline PixelTrait GetPixelMagentaTraits(
+  const Image *magick_restrict image)
 {
   return(image->channel_map[MagentaPixelChannel].traits);
 }
 
-static inline Quantum GetPixelReadMask(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelReadMask(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   if (image->channel_map[ReadMaskPixelChannel].traits == UndefinedPixelTrait)
     return((Quantum) QuantumRange);
   return(pixel[image->channel_map[ReadMaskPixelChannel].offset]);
 }
 
-static inline Quantum GetPixelWriteMask(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelWriteMask(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   if (image->channel_map[WriteMaskPixelChannel].traits == UndefinedPixelTrait)
     return((Quantum) QuantumRange);
   return(pixel[image->channel_map[WriteMaskPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelReadMaskTraits(const Image *restrict image)
+static inline PixelTrait GetPixelReadMaskTraits(
+  const Image *magick_restrict image)
 {
   return(image->channel_map[ReadMaskPixelChannel].traits);
 }
 
-static inline size_t GetPixelMetaChannels(const Image *restrict image)
+static inline size_t GetPixelMetaChannels(const Image *magick_restrict image)
 {
   return(image->number_meta_channels);
 }
 
-static inline size_t GetPixelMetacontentExtent(const Image *restrict image)
+static inline size_t GetPixelMetacontentExtent(
+  const Image *magick_restrict image)
 {
   return(image->metacontent_extent);
 }
 
-static inline Quantum GetPixelOpacity(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelOpacity(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   if (image->channel_map[AlphaPixelChannel].traits != BlendPixelTrait)
     return(QuantumRange-OpaqueAlpha);
   return(QuantumRange-pixel[image->channel_map[AlphaPixelChannel].offset]);
 }
 
-static inline Quantum GetPixelRed(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelRed(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[RedPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelRedTraits(const Image *restrict image)
+static inline PixelTrait GetPixelRedTraits(const Image *magick_restrict image)
 {
   return(image->channel_map[RedPixelChannel].traits);
 }
 
-static inline void GetPixelInfoPixel(const Image *restrict image,
-  const Quantum *restrict pixel,PixelInfo *restrict pixel_info)
+static inline void GetPixelInfoPixel(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel,PixelInfo *magick_restrict pixel_info)
 {
   pixel_info->storage_class=image->storage_class;
   pixel_info->colorspace=image->colorspace;
@@ -391,30 +399,31 @@
   pixel_info->count=0;
 }
 
-static inline PixelTrait GetPixelTraits(const Image *restrict image,
+static inline PixelTrait GetPixelTraits(const Image *magick_restrict image,
   const PixelChannel channel)
 {
   return(image->channel_map[channel].traits);
 }
 
-static inline Quantum GetPixelY(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelY(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[YPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelYTraits(const Image *restrict image)
+static inline PixelTrait GetPixelYTraits(const Image *magick_restrict image)
 {
   return(image->channel_map[YPixelChannel].traits);
 }
 
-static inline Quantum GetPixelYellow(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline Quantum GetPixelYellow(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   return(pixel[image->channel_map[YellowPixelChannel].offset]);
 }
 
-static inline PixelTrait GetPixelYellowTraits(const Image *restrict image)
+static inline PixelTrait GetPixelYellowTraits(
+  const Image *magick_restrict image)
 {
   return(image->channel_map[YellowPixelChannel].traits);
 }
@@ -440,8 +449,9 @@
   return(pixel == quantum ? MagickTrue : MagickFalse);
 }
 
-static inline MagickBooleanType IsPixelEquivalent(const Image *restrict image,
-  const Quantum *restrict p,const PixelInfo *restrict q)
+static inline MagickBooleanType IsPixelEquivalent(
+  const Image *magick_restrict image,const Quantum *magick_restrict p,
+  const PixelInfo *magick_restrict q)
 {
   MagickRealType
     value;
@@ -481,8 +491,8 @@
   return(MagickTrue);
 }
 
-static inline MagickBooleanType IsPixelGray(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline MagickBooleanType IsPixelGray(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   MagickRealType
     green_blue,
@@ -500,7 +510,7 @@
 }
 
 static inline MagickBooleanType IsPixelInfoEquivalent(
-  const PixelInfo *restrict p,const PixelInfo *restrict q)
+  const PixelInfo *magick_restrict p,const PixelInfo *magick_restrict q)
 {
   if ((p->alpha_trait != UndefinedPixelTrait) &&
       (q->alpha_trait == UndefinedPixelTrait) &&
@@ -530,8 +540,8 @@
   return(MagickTrue);
 }
 
-static inline MagickBooleanType IsPixelMonochrome(const Image *restrict image,
-  const Quantum *restrict pixel)
+static inline MagickBooleanType IsPixelMonochrome(
+  const Image *magick_restrict image,const Quantum *magick_restrict pixel)
 {
   MagickRealType
     green_blue,
@@ -554,7 +564,7 @@
 }
 
 static inline MagickBooleanType IsPixelInfoGray(
-  const PixelInfo *restrict pixel)
+  const PixelInfo *magick_restrict pixel)
 {
   if ((pixel->colorspace != GRAYColorspace) &&
       (pixel->colorspace != RGBColorspace))
@@ -566,7 +576,7 @@
 }
 
 static inline MagickBooleanType IsPixelInfoMonochrome(
-  const PixelInfo *restrict pixel_info)
+  const PixelInfo *magick_restrict pixel_info)
 {
   MagickRealType
     green_blue,
@@ -586,15 +596,15 @@
   return(MagickFalse);
 }
 
-static inline void SetPixela(const Image *restrict image,
-  const Quantum a,Quantum *restrict pixel)
+static inline void SetPixela(const Image *magick_restrict image,
+  const Quantum a,Quantum *magick_restrict pixel)
 {
   if (image->channel_map[aPixelChannel].traits != UndefinedPixelTrait)
     pixel[image->channel_map[aPixelChannel].offset]=a;
 }
 
-static inline void SetPixelAlpha(const Image *restrict image,
-  const Quantum alpha,Quantum *restrict pixel)
+static inline void SetPixelAlpha(const Image *magick_restrict image,
+  const Quantum alpha,Quantum *magick_restrict pixel)
 {
   if (image->channel_map[AlphaPixelChannel].traits != UndefinedPixelTrait)
     pixel[image->channel_map[AlphaPixelChannel].offset]=alpha;
@@ -605,15 +615,15 @@
   image->channel_map[AlphaPixelChannel].traits=traits;
 }
 
-static inline void SetPixelb(const Image *restrict image,const Quantum b,
-  Quantum *restrict pixel)
+static inline void SetPixelb(const Image *magick_restrict image,
+  const Quantum b,Quantum *magick_restrict pixel)
 {
   if (image->channel_map[bPixelChannel].traits != UndefinedPixelTrait)
     pixel[image->channel_map[bPixelChannel].offset]=b;
 }
 
-static inline void SetPixelBackgoundColor(const Image *restrict image,
-  Quantum *restrict pixel)
+static inline void SetPixelBackgoundColor(const Image *magick_restrict image,
+  Quantum *magick_restrict pixel)
 {
   register ssize_t
     i;
@@ -635,8 +645,8 @@
       ClampToQuantum(image->background_color.alpha);
 }
 
-static inline void SetPixelBlack(const Image *restrict image,
-  const Quantum black,Quantum *restrict pixel)
+static inline void SetPixelBlack(const Image *magick_restrict image,
+  const Quantum black,Quantum *magick_restrict pixel)
 {
   if (image->channel_map[BlackPixelChannel].traits != UndefinedPixelTrait)
     pixel[image->channel_map[BlackPixelChannel].offset]=black;
@@ -647,8 +657,8 @@
   image->channel_map[BlackPixelChannel].traits=traits;
 }
 
-static inline void SetPixelBlue(const Image *restrict image,const Quantum blue,
-  Quantum *restrict pixel)
+static inline void SetPixelBlue(const Image *magick_restrict image,
+  const Quantum blue,Quantum *magick_restrict pixel)
 {
   pixel[image->channel_map[BluePixelChannel].offset]=blue;
 }
@@ -658,8 +668,8 @@
   image->channel_map[BluePixelChannel].traits=traits;
 }
 
-static inline void SetPixelCb(const Image *restrict image,const Quantum cb,
-  Quantum *restrict pixel)
+static inline void SetPixelCb(const Image *magick_restrict image,
+  const Quantum cb,Quantum *magick_restrict pixel)
 {
   pixel[image->channel_map[CbPixelChannel].offset]=cb;
 }
@@ -669,22 +679,24 @@
   image->channel_map[CbPixelChannel].traits=traits;
 }
 
-static inline void SetPixelChannel(const Image *restrict image,
-  const PixelChannel channel,const Quantum quantum,Quantum *restrict pixel)
+static inline void SetPixelChannel(const Image *magick_restrict image,
+  const PixelChannel channel,const Quantum quantum,
+  Quantum *magick_restrict pixel)
 {
   if (image->channel_map[channel].traits != UndefinedPixelTrait)
     pixel[image->channel_map[channel].offset]=quantum;
 }
 
-static inline void SetPixelChannelAttributes(const Image *restrict image,
-  const PixelChannel channel,const PixelTrait traits,const ssize_t offset)
+static inline void SetPixelChannelAttributes(
+  const Image *magick_restrict image,const PixelChannel channel,
+  const PixelTrait traits,const ssize_t offset)
 {
   image->channel_map[offset].channel=channel;
   image->channel_map[channel].offset=offset;
   image->channel_map[channel].traits=traits;
 }
 
-static inline void SetPixelChannelChannel(const Image *restrict image,
+static inline void SetPixelChannelChannel(const Image *magick_restrict image,
   const PixelChannel channel,const ssize_t offset)
 {
   image->channel_map[offset].channel=channel;
@@ -702,8 +714,8 @@
   image->channel_map[channel].traits=traits;
 }
 
-static inline void SetPixelCr(const Image *restrict image,const Quantum cr,
-  Quantum *restrict pixel)
+static inline void SetPixelCr(const Image *magick_restrict image,
+  const Quantum cr,Quantum *magick_restrict pixel)
 {
   pixel[image->channel_map[CrPixelChannel].offset]=cr;
 }
@@ -713,14 +725,14 @@
   image->channel_map[CrPixelChannel].traits=traits;
 }
 
-static inline void SetPixelCyan(const Image *restrict image,const Quantum cyan,
-  Quantum *restrict pixel)
+static inline void SetPixelCyan(const Image *magick_restrict image,
+  const Quantum cyan,Quantum *magick_restrict pixel)
 {
   pixel[image->channel_map[CyanPixelChannel].offset]=cyan;
 }
 
-static inline void SetPixelGray(const Image *restrict image,const Quantum gray,
-  Quantum *restrict pixel)
+static inline void SetPixelGray(const Image *magick_restrict image,
+  const Quantum gray,Quantum *magick_restrict pixel)
 {
   pixel[image->channel_map[GrayPixelChannel].offset]=gray;
 }
@@ -730,8 +742,8 @@
   image->channel_map[GrayPixelChannel].traits=traits;
 }
 
-static inline void SetPixelGreen(const Image *restrict image,
-  const Quantum green,Quantum *restrict pixel)
+static inline void SetPixelGreen(const Image *magick_restrict image,
+  const Quantum green,Quantum *magick_restrict pixel)
 {
   pixel[image->channel_map[GreenPixelChannel].offset]=green;
 }
@@ -741,8 +753,8 @@
   image->channel_map[GreenPixelChannel].traits=traits;
 }
 
-static inline void SetPixelIndex(const Image *restrict image,
-  const Quantum index,Quantum *restrict pixel)
+static inline void SetPixelIndex(const Image *magick_restrict image,
+  const Quantum index,Quantum *magick_restrict pixel)
 {
   if (image->channel_map[IndexPixelChannel].traits != UndefinedPixelTrait)
     pixel[image->channel_map[IndexPixelChannel].offset]=index;
@@ -753,8 +765,8 @@
   image->channel_map[IndexPixelChannel].traits=traits;
 }
 
-static inline void SetPixelViaPixelInfo(const Image *restrict image,
-  const PixelInfo *restrict pixel_info,Quantum *restrict pixel)
+static inline void SetPixelViaPixelInfo(const Image *magick_restrict image,
+  const PixelInfo *magick_restrict pixel_info,Quantum *magick_restrict pixel)
 {
   pixel[image->channel_map[RedPixelChannel].offset]=
     ClampToQuantum(pixel_info->red);
@@ -771,15 +783,15 @@
       ClampToQuantum(pixel_info->alpha);
 }
 
-static inline void SetPixelL(const Image *restrict image,const Quantum L,
-  Quantum *restrict pixel)
+static inline void SetPixelL(const Image *magick_restrict image,const Quantum L,
+  Quantum *magick_restrict pixel)
 {
   if (image->channel_map[LPixelChannel].traits != UndefinedPixelTrait)
     pixel[image->channel_map[LPixelChannel].offset]=L;
 }
 
-static inline void SetPixelMagenta(const Image *restrict image,
-  const Quantum magenta,Quantum *restrict pixel)
+static inline void SetPixelMagenta(const Image *magick_restrict image,
+  const Quantum magenta,Quantum *magick_restrict pixel)
 {
   pixel[image->channel_map[MagentaPixelChannel].offset]=magenta;
 }
@@ -789,15 +801,15 @@
   image->channel_map[MagentaPixelChannel].traits=traits;
 }
 
-static inline void SetPixelReadMask(const Image *restrict image,
-  const Quantum mask,Quantum *restrict pixel)
+static inline void SetPixelReadMask(const Image *magick_restrict image,
+  const Quantum mask,Quantum *magick_restrict pixel)
 {
   if (image->channel_map[ReadMaskPixelChannel].traits != UndefinedPixelTrait)
     pixel[image->channel_map[ReadMaskPixelChannel].offset]=mask;
 }
 
-static inline void SetPixelWriteMask(const Image *restrict image,
-  const Quantum mask,Quantum *restrict pixel)
+static inline void SetPixelWriteMask(const Image *magick_restrict image,
+  const Quantum mask,Quantum *magick_restrict pixel)
 {
   if (image->channel_map[WriteMaskPixelChannel].traits != UndefinedPixelTrait)
     pixel[image->channel_map[WriteMaskPixelChannel].offset]=mask;
@@ -808,15 +820,15 @@
   image->metacontent_extent=extent;
 }
 
-static inline void SetPixelOpacity(const Image *restrict image,
-  const Quantum alpha,Quantum *restrict pixel)
+static inline void SetPixelOpacity(const Image *magick_restrict image,
+  const Quantum alpha,Quantum *magick_restrict pixel)
 {
   if (image->channel_map[AlphaPixelChannel].traits != UndefinedPixelTrait)
     pixel[image->channel_map[AlphaPixelChannel].offset]=QuantumRange-alpha;
 }
 
-static inline void SetPixelRed(const Image *restrict image,const Quantum red,
-  Quantum *restrict pixel)
+static inline void SetPixelRed(const Image *magick_restrict image,
+  const Quantum red,Quantum *magick_restrict pixel)
 {
   pixel[image->channel_map[RedPixelChannel].offset]=red;
 }
@@ -826,8 +838,8 @@
   image->channel_map[RedPixelChannel].traits=traits;
 }
 
-static inline void SetPixelYellow(const Image *restrict image,
-  const Quantum yellow,Quantum *restrict pixel)
+static inline void SetPixelYellow(const Image *magick_restrict image,
+  const Quantum yellow,Quantum *magick_restrict pixel)
 {
   pixel[image->channel_map[YellowPixelChannel].offset]=yellow;
 }
@@ -837,8 +849,8 @@
   image->channel_map[YellowPixelChannel].traits=traits;
 }
 
-static inline void SetPixelY(const Image *restrict image,const Quantum y,
-  Quantum *restrict pixel)
+static inline void SetPixelY(const Image *magick_restrict image,
+  const Quantum y,Quantum *magick_restrict pixel)
 {
   pixel[image->channel_map[YPixelChannel].offset]=y;
 }
diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c
index f1c6513..3fb4108 100644
--- a/MagickCore/pixel.c
+++ b/MagickCore/pixel.c
@@ -506,17 +506,17 @@
 */
 
 static void ExportCharPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,void *pixels,
+  const char *magick_restrict map,const QuantumType *quantum_map,void *pixels,
   ExceptionInfo *exception)
 {
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register ssize_t
     x;
 
   register unsigned char
-    *restrict q;
+    *magick_restrict q;
 
   size_t
     length;
@@ -712,14 +712,14 @@
 }
 
 static void ExportDoublePixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,void *pixels,
+  const char *magick_restrict map,const QuantumType *quantum_map,void *pixels,
   ExceptionInfo *exception)
 {
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register double
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     x;
@@ -919,14 +919,14 @@
 }
 
 static void ExportFloatPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,void *pixels,
+  const char *magick_restrict map,const QuantumType *quantum_map,void *pixels,
   ExceptionInfo *exception)
 {
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register float
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     x;
@@ -1125,17 +1125,17 @@
 }
 
 static void ExportLongPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,void *pixels,
+  const char *magick_restrict map,const QuantumType *quantum_map,void *pixels,
   ExceptionInfo *exception)
 {
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register ssize_t
     x;
 
   register unsigned int
-    *restrict q;
+    *magick_restrict q;
 
   size_t
     length;
@@ -1331,17 +1331,17 @@
 }
 
 static void ExportLongLongPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,void *pixels,
+  const char *magick_restrict map,const QuantumType *quantum_map,void *pixels,
   ExceptionInfo *exception)
 {
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register ssize_t
     x;
 
   register MagickSizeType
-    *restrict q;
+    *magick_restrict q;
 
   size_t
     length;
@@ -1539,14 +1539,14 @@
 }
 
 static void ExportQuantumPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,void *pixels,
+  const char *magick_restrict map,const QuantumType *quantum_map,void *pixels,
   ExceptionInfo *exception)
 {
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     x;
@@ -1748,17 +1748,17 @@
 }
 
 static void ExportShortPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,void *pixels,
+  const char *magick_restrict map,const QuantumType *quantum_map,void *pixels,
   ExceptionInfo *exception)
 {
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register ssize_t
     x;
 
   register unsigned short
-    *restrict q;
+    *magick_restrict q;
 
   size_t
     length;
@@ -2218,8 +2218,8 @@
 %    o pixel: Specifies a pointer to a Quantum structure.
 %
 */
-MagickExport MagickRealType GetPixelInfoIntensity(const Image *restrict image,
-  const PixelInfo *restrict pixel)
+MagickExport MagickRealType GetPixelInfoIntensity(
+  const Image *magick_restrict image,const PixelInfo *magick_restrict pixel)
 {
   MagickRealType
     blue,
@@ -2352,8 +2352,8 @@
 %    o pixel: Specifies a pointer to a Quantum structure.
 %
 */
-MagickExport MagickRealType GetPixelIntensity(const Image *restrict image,
-  const Quantum *restrict pixel)
+MagickExport MagickRealType GetPixelIntensity(const Image *magick_restrict image,
+  const Quantum *magick_restrict pixel)
 {
   MagickRealType
     blue,
@@ -2500,14 +2500,14 @@
 */
 
 static void ImportCharPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,const void *pixels,
-  ExceptionInfo *exception)
+  const char *magick_restrict map,const QuantumType *quantum_map,
+  const void *pixels,ExceptionInfo *exception)
 {
   register const unsigned char
-    *restrict p;
+    *magick_restrict p;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     x;
@@ -2760,14 +2760,14 @@
 }
 
 static void ImportDoublePixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,const void *pixels,
-  ExceptionInfo *exception)
+  const char *magick_restrict map,const QuantumType *quantum_map,
+  const void *pixels,ExceptionInfo *exception)
 {
   register const double
-    *restrict p;
+    *magick_restrict p;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     x;
@@ -3000,14 +3000,14 @@
 }
 
 static void ImportFloatPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,const void *pixels,
-  ExceptionInfo *exception)
+  const char *magick_restrict map,const QuantumType *quantum_map,
+  const void *pixels,ExceptionInfo *exception)
 {
   register const float
-    *restrict p;
+    *magick_restrict p;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     x;
@@ -3240,14 +3240,14 @@
 }
 
 static void ImportLongPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,const void *pixels,
-  ExceptionInfo *exception)
+  const char *magick_restrict map,const QuantumType *quantum_map,
+  const void *pixels,ExceptionInfo *exception)
 {
   register const unsigned int
-    *restrict p;
+    *magick_restrict p;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     x;
@@ -3460,14 +3460,14 @@
 }
 
 static void ImportLongLongPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,const void *pixels,
-  ExceptionInfo *exception)
+  const char *magick_restrict map,const QuantumType *quantum_map,
+  const void *pixels,ExceptionInfo *exception)
 {
   register const MagickSizeType
-    *restrict p;
+    *magick_restrict p;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     x;
@@ -3680,14 +3680,14 @@
 }
 
 static void ImportQuantumPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,const void *pixels,
-  ExceptionInfo *exception)
+  const char *magick_restrict map,const QuantumType *quantum_map,
+  const void *pixels,ExceptionInfo *exception)
 {
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     x;
@@ -3900,14 +3900,14 @@
 }
 
 static void ImportShortPixel(Image *image,const RectangleInfo *roi,
-  const char *restrict map,const QuantumType *quantum_map,const void *pixels,
-  ExceptionInfo *exception)
+  const char *magick_restrict map,const QuantumType *quantum_map,
+  const void *pixels,ExceptionInfo *exception)
 {
   register const unsigned short
-    *restrict p;
+    *magick_restrict p;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   register ssize_t
     x;
diff --git a/MagickCore/pixel.h b/MagickCore/pixel.h
index 14edf22..f610bf3 100644
--- a/MagickCore/pixel.h
+++ b/MagickCore/pixel.h
@@ -231,10 +231,10 @@
   SetPixelMetaChannels(Image *,const size_t,ExceptionInfo *);
 
 extern MagickExport MagickRealType
-  GetPixelInfoIntensity(const Image *restrict,const PixelInfo *restrict)
-    magick_hot_spot,
-  GetPixelIntensity(const Image *restrict,const Quantum *restrict)
-    magick_hot_spot;
+  GetPixelInfoIntensity(const Image *magick_restrict,
+    const PixelInfo *magick_restrict) magick_hot_spot,
+  GetPixelIntensity(const Image *magick_restrict,
+    const Quantum *magick_restrict) magick_hot_spot;
 
 extern MagickExport PixelChannelMap
   *AcquirePixelChannelMap(void),
diff --git a/MagickCore/profile.c b/MagickCore/profile.c
index 2f43a5a..f288de2 100644
--- a/MagickCore/profile.c
+++ b/MagickCore/profile.c
@@ -873,7 +873,7 @@
               target_profile;
 
             cmsHTRANSFORM
-              *restrict transform;
+              *magick_restrict transform;
 
             cmsUInt32Number
               flags,
@@ -897,8 +897,8 @@
               y;
 
             unsigned short
-              **restrict source_pixels,
-              **restrict target_pixels;
+              **magick_restrict source_pixels,
+              **magick_restrict target_pixels;
 
             target_profile=(cmsHPROFILE) NULL;
             if (icc_profile != (StringInfo *) NULL)
@@ -1121,7 +1121,7 @@
                 x;
 
               register Quantum
-                *restrict q;
+                *magick_restrict q;
 
               register unsigned short
                 *p;
diff --git a/MagickCore/quantize.c b/MagickCore/quantize.c
index 2f555b4..5cb7a09 100644
--- a/MagickCore/quantize.c
+++ b/MagickCore/quantize.c
@@ -543,7 +543,7 @@
           cube;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
@@ -651,7 +651,7 @@
         intensity;
 
       register PixelInfo
-        *restrict q;
+        *magick_restrict q;
 
       register ssize_t
         i;
@@ -803,7 +803,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -907,7 +907,7 @@
   for (y++; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -1111,10 +1111,10 @@
         distance;
 
       register PixelInfo
-        *restrict p;
+        *magick_restrict p;
 
       register RealPixelInfo
-        *restrict q;
+        *magick_restrict q;
 
       /*
         Determine if this color is "closest".
@@ -1253,7 +1253,7 @@
         alpha;
 
       register PixelInfo
-        *restrict q;
+        *magick_restrict q;
 
       /*
         Colormap entry is defined by the mean color in this cube.
@@ -1517,7 +1517,7 @@
       *previous;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1822,7 +1822,7 @@
       (p->y >= 0) && (p->y < (ssize_t) image->rows))
     {
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       register ssize_t
         i;
@@ -2213,7 +2213,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -2402,7 +2402,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2677,7 +2677,7 @@
       proceed;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3417,7 +3417,7 @@
       for (y=0; y < (ssize_t) image->rows; y++)
       {
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
@@ -3493,7 +3493,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/quantum-export.c b/MagickCore/quantum-export.c
index 0f91d08..f18d4ca 100644
--- a/MagickCore/quantum-export.c
+++ b/MagickCore/quantum-export.c
@@ -91,7 +91,7 @@
 %
 %      size_t ExportQuantumPixels(const Image *image,CacheView *image_view,
 %        QuantumInfo *quantum_info,const QuantumType quantum_type,
-%        unsigned char *restrict pixels,ExceptionInfo *exception)
+%        unsigned char *magick_restrict pixels,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -111,7 +111,7 @@
 */
 
 static inline unsigned char *PopDoublePixel(QuantumInfo *quantum_info,
-  const double pixel,unsigned char *restrict pixels)
+  const double pixel,unsigned char *magick_restrict pixels)
 {
   double
     *p;
@@ -146,7 +146,7 @@
 }
 
 static inline unsigned char *PopFloatPixel(QuantumInfo *quantum_info,
-  const float pixel,unsigned char *restrict pixels)
+  const float pixel,unsigned char *magick_restrict pixels)
 {
   float
     *p;
@@ -174,7 +174,7 @@
 }
 
 static inline unsigned char *PopQuantumPixel(QuantumInfo *quantum_info,
-  const QuantumAny pixel,unsigned char *restrict pixels)
+  const QuantumAny pixel,unsigned char *magick_restrict pixels)
 {
   register ssize_t
     i;
@@ -207,7 +207,7 @@
 }
 
 static inline unsigned char *PopQuantumLongPixel(QuantumInfo *quantum_info,
-  const size_t pixel,unsigned char *restrict pixels)
+  const size_t pixel,unsigned char *magick_restrict pixels)
 {
   register ssize_t
     i;
@@ -239,8 +239,8 @@
 }
 
 static void ExportAlphaQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -344,8 +344,8 @@
 }
 
 static void ExportBGRQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -643,8 +643,8 @@
 }
 
 static void ExportBGRAQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -887,8 +887,8 @@
 }
 
 static void ExportBGROQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -1131,8 +1131,8 @@
 }
 
 static void ExportBlackQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -1240,8 +1240,8 @@
 }
 
 static void ExportBlueQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -1345,8 +1345,8 @@
 }
 
 static void ExportCbYCrYQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   Quantum
     cbcr[4];
@@ -1460,8 +1460,8 @@
 }
 
 static void ExportCMYKQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   register ssize_t
     x;
@@ -1605,8 +1605,8 @@
 }
 
 static void ExportCMYKAQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   register ssize_t
     x;
@@ -1770,8 +1770,8 @@
 }
 
 static void ExportCMYKOQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   register ssize_t
     x;
@@ -1935,8 +1935,8 @@
 }
 
 static void ExportGrayQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -2193,8 +2193,8 @@
 }
 
 static void ExportGrayAlphaQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -2399,8 +2399,8 @@
 }
 
 static void ExportGreenQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -2504,8 +2504,8 @@
 }
 
 static void ExportIndexQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   register ssize_t
     x;
@@ -2672,7 +2672,8 @@
 
 static void ExportIndexAlphaQuantum(const Image *image,
   QuantumInfo *quantum_info,const MagickSizeType number_pixels,
-  const Quantum *restrict p,unsigned char *restrict q,ExceptionInfo *exception)
+  const Quantum *magick_restrict p,unsigned char *magick_restrict q,
+  ExceptionInfo *exception)
 {
   register ssize_t
     x;
@@ -2866,8 +2867,8 @@
 }
 
 static void ExportOpacityQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -2971,8 +2972,8 @@
 }
 
 static void ExportRedQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -3076,8 +3077,8 @@
 }
 
 static void ExportRGBQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -3375,8 +3376,8 @@
 }
 
 static void ExportRGBAQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -3619,8 +3620,8 @@
 }
 
 static void ExportRGBOQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const Quantum *restrict p,
-  unsigned char *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const Quantum *magick_restrict p,
+  unsigned char *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -3864,20 +3865,20 @@
 
 MagickExport size_t ExportQuantumPixels(const Image *image,
   CacheView *image_view,QuantumInfo *quantum_info,
-  const QuantumType quantum_type,unsigned char *restrict pixels,
+  const QuantumType quantum_type,unsigned char *magick_restrict pixels,
   ExceptionInfo *exception)
 {
   MagickSizeType
     number_pixels;
 
   register const Quantum
-    *restrict p;
+    *magick_restrict p;
 
   register ssize_t
     x;
 
   register unsigned char
-    *restrict q;
+    *magick_restrict q;
 
   size_t
     extent;
@@ -3906,7 +3907,7 @@
         Sa;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       /*
         Associate alpha.
@@ -3942,7 +3943,7 @@
         quantum;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       q=GetAuthenticPixelQueue(image);
       if (image_view != (CacheView *) NULL)
@@ -4075,7 +4076,7 @@
         quantum;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       q=GetAuthenticPixelQueue(image);
       if (image_view != (CacheView *) NULL)
diff --git a/MagickCore/quantum-import.c b/MagickCore/quantum-import.c
index bfc4c6a..c8662fd 100644
--- a/MagickCore/quantum-import.c
+++ b/MagickCore/quantum-import.c
@@ -92,7 +92,7 @@
 %
 %      size_t ImportQuantumPixels(const Image *image,CacheView *image_view,
 %        QuantumInfo *quantum_info,const QuantumType quantum_type,
-%        const unsigned char *restrict pixels,ExceptionInfo *exception)
+%        const unsigned char *magick_restrict pixels,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -121,7 +121,7 @@
 }
 
 static inline const unsigned char *PushDoublePixel(QuantumInfo *quantum_info,
-  const unsigned char *restrict pixels,double *pixel)
+  const unsigned char *magick_restrict pixels,double *pixel)
 {
   double
     *p;
@@ -161,7 +161,7 @@
 }
 
 static inline const unsigned char *PushFloatPixel(QuantumInfo *quantum_info,
-  const unsigned char *restrict pixels,float *pixel)
+  const unsigned char *magick_restrict pixels,float *pixel)
 {
   float
     *p;
@@ -193,7 +193,7 @@
 }
 
 static inline const unsigned char *PushQuantumPixel(QuantumInfo *quantum_info,
-  const unsigned char *restrict pixels,unsigned int *quantum)
+  const unsigned char *magick_restrict pixels,unsigned int *quantum)
 {
   register ssize_t
     i;
@@ -222,7 +222,7 @@
 }
 
 static inline const unsigned char *PushQuantumLongPixel(
-  QuantumInfo *quantum_info,const unsigned char *restrict pixels,
+  QuantumInfo *quantum_info,const unsigned char *magick_restrict pixels,
   unsigned int *quantum)
 {
   register ssize_t
@@ -252,8 +252,8 @@
 }
 
 static void ImportAlphaQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -369,8 +369,8 @@
 }
 
 static void ImportBGRQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -680,8 +680,8 @@
 }
 
 static void ImportBGRAQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -914,8 +914,8 @@
 }
 
 static void ImportBGROQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -1148,8 +1148,8 @@
 }
 
 static void ImportBlackQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -1269,8 +1269,8 @@
 }
 
 static void ImportBlueQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -1386,8 +1386,8 @@
 }
 
 static void ImportCbYCrYQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -1480,8 +1480,8 @@
 }
 
 static void ImportCMYKQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -1645,8 +1645,8 @@
 }
 
 static void ImportCMYKAQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -1826,8 +1826,8 @@
 }
 
 static void ImportCMYKOQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -2007,8 +2007,8 @@
 }
 
 static void ImportGrayQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -2321,8 +2321,8 @@
 }
 
 static void ImportGrayAlphaQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -2532,8 +2532,8 @@
 }
 
 static void ImportGreenQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -2649,8 +2649,8 @@
 }
 
 static void ImportIndexQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   MagickBooleanType
     range_exception;
@@ -2859,7 +2859,8 @@
 
 static void ImportIndexAlphaQuantum(const Image *image,
   QuantumInfo *quantum_info,const MagickSizeType number_pixels,
-  const unsigned char *restrict p,Quantum *restrict q,ExceptionInfo *exception)
+  const unsigned char *magick_restrict p,Quantum *magick_restrict q,
+  ExceptionInfo *exception)
 {
   MagickBooleanType
     range_exception;
@@ -3075,8 +3076,8 @@
 }
 
 static void ImportOpacityQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -3192,8 +3193,8 @@
 }
 
 static void ImportRedQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -3309,8 +3310,8 @@
 }
 
 static void ImportRGBQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -3620,8 +3621,8 @@
 }
 
 static void ImportRGBAQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -3854,8 +3855,8 @@
 }
 
 static void ImportRGBOQuantum(const Image *image,QuantumInfo *quantum_info,
-  const MagickSizeType number_pixels,const unsigned char *restrict p,
-  Quantum *restrict q,ExceptionInfo *exception)
+  const MagickSizeType number_pixels,const unsigned char *magick_restrict p,
+  Quantum *magick_restrict q,ExceptionInfo *exception)
 {
   QuantumAny
     range;
@@ -4089,20 +4090,20 @@
 
 MagickExport size_t ImportQuantumPixels(const Image *image,
   CacheView *image_view,QuantumInfo *quantum_info,
-  const QuantumType quantum_type,const unsigned char *restrict pixels,
+  const QuantumType quantum_type,const unsigned char *magick_restrict pixels,
   ExceptionInfo *exception)
 {
   MagickSizeType
     number_pixels;
 
   register const unsigned char
-    *restrict p;
+    *magick_restrict p;
 
   register ssize_t
     x;
 
   register Quantum
-    *restrict q;
+    *magick_restrict q;
 
   size_t
     extent;
@@ -4245,7 +4246,7 @@
         quantum;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       q=GetAuthenticPixelQueue(image);
       if (image_view != (CacheView *) NULL)
@@ -4265,7 +4266,7 @@
         Sa;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       /*
         Disassociate alpha.
diff --git a/MagickCore/quantum.h b/MagickCore/quantum.h
index 57c858a..38bfab2 100644
--- a/MagickCore/quantum.h
+++ b/MagickCore/quantum.h
@@ -170,10 +170,10 @@
 
 extern MagickExport size_t
   ExportQuantumPixels(const Image *,CacheView *,QuantumInfo *,const QuantumType,
-    unsigned char *restrict,ExceptionInfo *),
+    unsigned char *magick_restrict,ExceptionInfo *),
   GetQuantumExtent(const Image *,const QuantumInfo *,const QuantumType),
   ImportQuantumPixels(const Image *,CacheView *,QuantumInfo *,const QuantumType,
-    const unsigned char *restrict,ExceptionInfo *);
+    const unsigned char *magick_restrict,ExceptionInfo *);
 
 extern MagickExport unsigned char
   *GetQuantumPixels(const QuantumInfo *);
diff --git a/MagickCore/resize.c b/MagickCore/resize.c
index 3fa8b20..91125ba 100644
--- a/MagickCore/resize.c
+++ b/MagickCore/resize.c
@@ -1703,7 +1703,7 @@
       offset;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1869,7 +1869,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -1922,7 +1922,7 @@
   while (lqr_carver_scan_ext(carver,&x_offset,&y_offset,(void **) &packet) != 0)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       i;
@@ -2047,7 +2047,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2070,10 +2070,10 @@
         intensity[9];
 
       register const Quantum
-        *restrict p;
+        *magick_restrict p;
 
       register Quantum
-        *restrict r;
+        *magick_restrict r;
 
       register ssize_t
         i;
@@ -2379,7 +2379,7 @@
     storage_class;
 
   ContributionInfo
-    **restrict contributions;
+    **magick_restrict contributions;
 
   MagickBooleanType
     status;
@@ -2432,13 +2432,13 @@
       density;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ContributionInfo
-      *restrict contribution;
+      *magick_restrict contribution;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       y;
@@ -2594,7 +2594,7 @@
     storage_class;
 
   ContributionInfo
-    **restrict contributions;
+    **magick_restrict contributions;
 
   double
     scale,
@@ -2647,13 +2647,13 @@
       density;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ContributionInfo
-      *restrict contribution;
+      *magick_restrict contribution;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3033,10 +3033,10 @@
   for (y=0; y < (ssize_t) sample_image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3246,10 +3246,10 @@
   for (y=0; y < (ssize_t) scale_image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/segment.c b/MagickCore/segment.c
index 1cef25c..9494d38 100644
--- a/MagickCore/segment.c
+++ b/MagickCore/segment.c
@@ -542,13 +542,13 @@
       *cluster;
 
     register const PixelInfo
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
diff --git a/MagickCore/shear.c b/MagickCore/shear.c
index bcdc8d0..0050a34 100644
--- a/MagickCore/shear.c
+++ b/MagickCore/shear.c
@@ -390,7 +390,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       i,
@@ -447,7 +447,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       i,
@@ -528,7 +528,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -786,10 +786,10 @@
             sync;
 
           register const Quantum
-            *restrict p;
+            *magick_restrict p;
 
           register Quantum
-            *restrict q;
+            *magick_restrict q;
 
           register ssize_t
             y;
@@ -814,7 +814,7 @@
           for (y=0; y < (ssize_t) width; y++)
           {
             register const Quantum
-              *restrict tile_pixels;
+              *magick_restrict tile_pixels;
 
             register ssize_t
               x;
@@ -900,10 +900,10 @@
           sync;
 
         register const Quantum
-          *restrict p;
+          *magick_restrict p;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
@@ -1000,10 +1000,10 @@
             sync;
 
           register const Quantum
-            *restrict p;
+            *magick_restrict p;
 
           register Quantum
-            *restrict q;
+            *magick_restrict q;
 
           register ssize_t
             y;
@@ -1028,7 +1028,7 @@
           for (y=0; y < (ssize_t) width; y++)
           {
             register const Quantum
-              *restrict tile_pixels;
+              *magick_restrict tile_pixels;
 
             register ssize_t
               x;
@@ -1197,8 +1197,8 @@
       displacement;
 
     register Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       i;
@@ -1416,8 +1416,8 @@
       destination;
 
     register Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       i;
diff --git a/MagickCore/statistic.c b/MagickCore/statistic.c
index c6464a7..16df36b 100644
--- a/MagickCore/statistic.c
+++ b/MagickCore/statistic.c
@@ -436,10 +436,10 @@
     progress;
 
   PixelChannels
-    **restrict evaluate_pixels;
+    **magick_restrict evaluate_pixels;
 
   RandomInfo
-    **restrict random_info;
+    **magick_restrict random_info;
 
   size_t
     number_images;
@@ -505,7 +505,7 @@
           *evaluate_pixel;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         register ssize_t
           x;
@@ -611,7 +611,7 @@
           *evaluate_pixel;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         ssize_t
           j;
@@ -767,7 +767,7 @@
     progress;
 
   RandomInfo
-    **restrict random_info;
+    **magick_restrict random_info;
 
   ssize_t
     y;
@@ -800,7 +800,7 @@
       id = GetOpenMPThreadId();
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1025,7 +1025,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1273,7 +1273,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -1523,7 +1523,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -1581,7 +1581,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -1917,7 +1917,7 @@
       row_initialize;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -2077,7 +2077,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -2287,7 +2287,7 @@
     progress;
 
   PixelChannels
-    **restrict polynomial_pixels;
+    **magick_restrict polynomial_pixels;
 
   size_t
     number_images;
@@ -2348,7 +2348,7 @@
       *polynomial_pixel;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     ssize_t
       j;
@@ -2967,7 +2967,7 @@
     progress;
 
   PixelList
-    **restrict pixel_list;
+    **magick_restrict pixel_list;
 
   ssize_t
     center,
@@ -3017,10 +3017,10 @@
       id = GetOpenMPThreadId();
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -3047,7 +3047,7 @@
           pixel;
 
         register const Quantum
-          *restrict pixels;
+          *magick_restrict pixels;
 
         register ssize_t
           u;
diff --git a/MagickCore/string-private.h b/MagickCore/string-private.h
index 2547f39..0da7886 100644
--- a/MagickCore/string-private.h
+++ b/MagickCore/string-private.h
@@ -39,8 +39,8 @@
   return(value);
 }
 
-static inline double StringToDouble(const char *restrict string,
-  char **restrict sentinal)
+static inline double StringToDouble(const char *magick_restrict string,
+  char **magick_restrict sentinal)
 {
   return(InterpretLocaleValue(string,sentinal));
 }
@@ -60,17 +60,18 @@
   return(value);
 }
 
-static inline int StringToInteger(const char *restrict value)
+static inline int StringToInteger(const char *magick_restrict value)
 {
   return((int) strtol(value,(char **) NULL,10));
 }
 
-static inline long StringToLong(const char *restrict value)
+static inline long StringToLong(const char *magick_restrict value)
 {
   return(strtol(value,(char **) NULL,10));
 }
 
-static inline unsigned long StringToUnsignedLong(const char *restrict value)
+static inline unsigned long StringToUnsignedLong(
+  const char *magick_restrict value)
 {
   return(strtoul(value,(char **) NULL,10));
 }
diff --git a/MagickCore/string.c b/MagickCore/string.c
index 2b39da9..583f8d5 100755
--- a/MagickCore/string.c
+++ b/MagickCore/string.c
@@ -1363,8 +1363,8 @@
 %      after the last character used in the conversion.
 %
 */
-MagickExport double InterpretSiPrefixValue(const char *restrict string,
-  char **restrict sentinal)
+MagickExport double InterpretSiPrefixValue(const char *magick_restrict string,
+  char **magick_restrict sentinal)
 {
   char
     *q;
diff --git a/MagickCore/string_.h b/MagickCore/string_.h
index 337df18..2d9abb0 100644
--- a/MagickCore/string_.h
+++ b/MagickCore/string_.h
@@ -56,7 +56,7 @@
   *GetStringInfoPath(const StringInfo *);
 
 extern MagickExport double
-  InterpretSiPrefixValue(const char *restrict,char **restrict),
+  InterpretSiPrefixValue(const char *magick_restrict,char **magick_restrict),
   *StringToArrayOfDoubles(const char *,ssize_t *,ExceptionInfo *);
 
 extern MagickExport int
diff --git a/MagickCore/studio.h b/MagickCore/studio.h
index d2f0fc2..bf5817d 100755
--- a/MagickCore/studio.h
+++ b/MagickCore/studio.h
@@ -68,8 +68,12 @@
 #  include <stdlib.h>
 # endif
 #endif
-#if defined(_magickcore_restrict) && !defined(restrict)
-# define restrict  _magickcore_restrict
+#if !defined(magick_restrict)
+# if !defined(_magickcore_restrict)
+#  define magick_restrict restrict
+# else
+#  define magick_restrict _magickcore_restrict
+# endif
 #endif
 #if defined(MAGICKCORE_HAVE_STRING_H)
 # if !defined(STDC_HEADERS) && defined(MAGICKCORE_HAVE_MEMORY_H)
diff --git a/MagickCore/threshold.c b/MagickCore/threshold.c
index 4c48c8d..f3f6373 100644
--- a/MagickCore/threshold.c
+++ b/MagickCore/threshold.c
@@ -236,11 +236,11 @@
       channel_sum[MaxPixelChannels];
 
     register const Quantum
-      *restrict p,
-      *restrict pixels;
+      *magick_restrict p,
+      *magick_restrict pixels;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       i,
@@ -437,7 +437,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -602,7 +602,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -712,7 +712,7 @@
         i;
 
       register PixelInfo
-        *restrict q;
+        *magick_restrict q;
 
       q=image->colormap;
       for (i=0; i < (ssize_t) image->colors; i++)
@@ -741,7 +741,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -1369,7 +1369,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -1504,7 +1504,7 @@
         i;
 
       register PixelInfo
-        *restrict q;
+        *magick_restrict q;
 
       q=image->colormap;
       for (i=0; i < (ssize_t) image->colors; i++)
@@ -1537,7 +1537,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -1645,7 +1645,7 @@
     threshold;
 
   RandomInfo
-    **restrict random_info;
+    **magick_restrict random_info;
 
   ssize_t
     y;
@@ -1696,7 +1696,7 @@
       id = GetOpenMPThreadId();
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1870,7 +1870,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
diff --git a/MagickCore/transform.c b/MagickCore/transform.c
index c396724..c98f54d 100644
--- a/MagickCore/transform.c
+++ b/MagickCore/transform.c
@@ -256,13 +256,13 @@
   for (y=0; y < (ssize_t) extent.y; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -320,13 +320,13 @@
   for (y=0; y < (ssize_t) (image->rows-(extent.y+extent.height)); y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -455,13 +455,13 @@
       for (y=0; y < (ssize_t) images->rows; y++)
       {
         register const Quantum
-          *restrict p;
+          *magick_restrict p;
 
         register ssize_t
           x;
 
         register Quantum
-          *restrict q;
+          *magick_restrict q;
 
         p=GetCacheViewVirtualPixels(image_view,0,y,images->columns,1,exception);
         q=QueueCacheViewAuthenticPixels(cmyk_view,0,y,cmyk_image->columns,1,
@@ -673,10 +673,10 @@
   for (y=0; y < (ssize_t) crop_image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1026,10 +1026,10 @@
   for (y=0; y < (ssize_t) excerpt_image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1225,10 +1225,10 @@
   for (y=0; y < (ssize_t) flip_image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1366,13 +1366,13 @@
   for (y=0; y < (ssize_t) flop_image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -1492,10 +1492,10 @@
       sync;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -1821,13 +1821,13 @@
   for (y=0; y < (ssize_t) splice_geometry.y; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -1924,13 +1924,13 @@
        y < (ssize_t) splice_image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     if (status == MagickFalse)
       continue;
@@ -2271,10 +2271,10 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -2419,10 +2419,10 @@
       sync;
 
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/vision.c b/MagickCore/vision.c
index 0bbae0c..af0ef8e 100644
--- a/MagickCore/vision.c
+++ b/MagickCore/vision.c
@@ -179,7 +179,7 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p;
+      *magick_restrict p;
 
     register ssize_t
       x;
@@ -241,7 +241,7 @@
     for (y=0; y < (ssize_t) bounding_box.height+2; y++)
     {
       register const Quantum
-        *restrict p;
+        *magick_restrict p;
 
       register ssize_t
         x;
@@ -275,7 +275,7 @@
     for (y=0; y < (ssize_t) bounding_box.height; y++)
     {
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       register ssize_t
         x;
@@ -348,8 +348,8 @@
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register const Quantum
-      *restrict p,
-      *restrict q;
+      *magick_restrict p,
+      *magick_restrict q;
 
     register ssize_t
       x;
@@ -521,7 +521,7 @@
     for (y=0; y < (ssize_t) image->rows; y++)
     {
       register const Quantum
-        *restrict p;
+        *magick_restrict p;
 
       register ssize_t
         x;
@@ -620,7 +620,7 @@
   for (y=0; y < (ssize_t) component_image->rows; y++)
   {
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     register ssize_t
       x;
diff --git a/MagickCore/xwindow.c b/MagickCore/xwindow.c
index 01db535..8f25742 100644
--- a/MagickCore/xwindow.c
+++ b/MagickCore/xwindow.c
@@ -567,7 +567,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     q=GetCacheViewAuthenticPixels(annotate_view,0,(ssize_t) y,
       annotate_image->columns,1,exception);
@@ -2472,7 +2472,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     q=QueueCacheViewAuthenticPixels(draw_view,0,(ssize_t) y,draw_image->columns,
       1,exception);
@@ -2598,7 +2598,7 @@
       x;
 
     register Quantum
-      *restrict q;
+      *magick_restrict q;
 
     q=GetCacheViewAuthenticPixels(draw_view,0,(ssize_t) y,draw_image->columns,1,
       exception);
@@ -4177,7 +4177,7 @@
         x;
 
       register Quantum
-        *restrict q;
+        *magick_restrict q;
 
       register size_t
         pixel;
@@ -7764,7 +7764,7 @@
               *affinity_image;
 
             register Quantum
-              *restrict q;
+              *magick_restrict q;
 
             /*
               Improve image appearance with error diffusion.
@@ -7978,7 +7978,7 @@
               x;
 
             register const Quantum
-              *restrict p;
+              *magick_restrict p;
 
             p=GetCacheViewAuthenticPixels(image_view,0,(ssize_t) y,
               image->columns,1,exception);