diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 9995daf1e92ed7be4677066ff88752e232e067ba..40a2e2aeec6eb8630f321aad431c45b15563f5c6 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -928,8 +928,8 @@ bool qSharedBuild() Q_DECL_NOTHROW
     \endlist
 
     Some constants are defined only on certain platforms. You can use
-    the preprocessor symbols Q_OS_WIN and Q_OS_MAC to test that
-    the application is compiled under Windows or Mac.
+    the preprocessor symbols Q_OS_WIN and Q_OS_MACX to test that
+    the application is compiled under Windows or OS X.
 
     \sa QLibraryInfo
 */
@@ -1072,6 +1072,27 @@ bool qSharedBuild() Q_DECL_NOTHROW
     Defined on Darwin OS (synonym for Q_OS_MAC).
 */
 
+/*!
+    \macro Q_OS_MAC
+    \relates <QtGlobal>
+
+    Defined on OS X and iOS (synonym for Q_OS_DARWIN).
+ */
+
+/*!
+    \macro Q_OS_MACX
+    \relates <QtGlobal>
+
+    Defined on OS X.
+ */
+
+/*!
+    \macro Q_OS_IOS
+    \relates <QtGlobal>
+
+    Defined on iOS.
+ */
+
 /*!
     \macro Q_OS_WIN
     \relates <QtGlobal>
@@ -1394,13 +1415,6 @@ bool qSharedBuild() Q_DECL_NOTHROW
     Optimizing C++ Compilers.
 */
 
-/*!
-  \macro Q_OS_MAC
-  \relates <QtGlobal>
-
-  Defined on MAC OS (synonym for Darwin).
- */
-
 /*!
     \macro Q_PROCESSOR_ALPHA
     \relates <QtGlobal>
diff --git a/src/corelib/global/qsystemdetection.h b/src/corelib/global/qsystemdetection.h
index 0caac3d79708f853a951e10ef26a2c817bada174..690442d06610115ec3893abf8019f7114b64b72f 100644
--- a/src/corelib/global/qsystemdetection.h
+++ b/src/corelib/global/qsystemdetection.h
@@ -50,8 +50,9 @@
    The operating system, must be one of: (Q_OS_x)
 
      DARWIN   - Darwin OS (synonym for Q_OS_MAC)
-     MAC      - Mac OS X or iOS (iPhoneOS)
-     IOS      - iOS (treated as a variant of Mac OS)
+     MAC      - OS X or iOS (synonym for Q_OS_DARWIN)
+     MACX     - OS X
+     IOS      - iOS
      MSDOS    - MS-DOS and Windows
      OS2      - OS/2
      OS2EMX   - XFree86 on OS/2 (not PM)
@@ -166,7 +167,6 @@
 
 #if defined(Q_OS_DARWIN)
 #  define Q_OS_MAC
-#  define Q_OS_MACX /* Q_OS_MACX is only for compatibility.*/
 #  if defined(Q_OS_DARWIN64)
 #     define Q_OS_MAC64
 #  elif defined(Q_OS_DARWIN32)
@@ -175,6 +175,8 @@
 #  include <TargetConditionals.h>
 #  if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
 #     define Q_OS_IOS
+#  else
+#     define Q_OS_MACX
 #  endif
 #endif
 
diff --git a/src/corelib/tools/qsharedpointer.cpp b/src/corelib/tools/qsharedpointer.cpp
index bced1f4ece06c3d6e364bd262bc12f71b62c9751..ef626213863b42db08d88dc2ed5be794684ef0a4 100644
--- a/src/corelib/tools/qsharedpointer.cpp
+++ b/src/corelib/tools/qsharedpointer.cpp
@@ -1279,7 +1279,7 @@ QT_END_NAMESPACE
 #  ifdef QT_SHARED_POINTER_BACKTRACE_SUPPORT
 #    if defined(__GLIBC__) && (__GLIBC__ >= 2) && !defined(__UCLIBC__) && !defined(QT_LINUXBASE)
 #      define BACKTRACE_SUPPORTED
-#    elif defined(Q_OS_MACX)
+#    elif defined(Q_OS_MAC)
 #      define BACKTRACE_SUPPORTED
 #    endif
 #  endif