From 71bf6d5659bf099aa6be9b2022ca385cfb84cfa6 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Fri, 29 Oct 2010 15:35:14 +0200
Subject: [PATCH] Add helper to find out about Windows 32/64bit for Debuggers.

---
 src/libs/utils/winutils.cpp | 15 ++++++++++++++-
 src/libs/utils/winutils.h   |  2 ++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/libs/utils/winutils.cpp b/src/libs/utils/winutils.cpp
index 6b25890c6d0..60511ba963a 100644
--- a/src/libs/utils/winutils.cpp
+++ b/src/libs/utils/winutils.cpp
@@ -155,10 +155,23 @@ QTCREATOR_UTILS_EXPORT QString getShortPathName(const QString &name, QString *er
     return rc;
 }
 
-unsigned long winQPidToPid(const Q_PID qpid)
+QTCREATOR_UTILS_EXPORT unsigned long winQPidToPid(const Q_PID qpid)
 {
     const PROCESS_INFORMATION *processInfo = reinterpret_cast<const PROCESS_INFORMATION*>(qpid);
     return processInfo->dwProcessId;
 }
 
+QTCREATOR_UTILS_EXPORT bool winIs64BitSystem()
+{
+ // Exclude VS 2005
+#if defined(_MSC_VER) && _MSC_VER < 1400
+    return false;
+#else
+    SYSTEM_INFO systemInfo;
+    GetNativeSystemInfo(&systemInfo);
+    return systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64
+            || systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64;
+#endif
+}
+
 } // namespace Utils
diff --git a/src/libs/utils/winutils.h b/src/libs/utils/winutils.h
index 1eb2bd6e529..6c3a2af8f70 100644
--- a/src/libs/utils/winutils.h
+++ b/src/libs/utils/winutils.h
@@ -56,5 +56,7 @@ QTCREATOR_UTILS_EXPORT QString getShortPathName(const QString &name,
 
 QTCREATOR_UTILS_EXPORT unsigned long winQPidToPid(const Q_PID qpid);
 
+QTCREATOR_UTILS_EXPORT bool winIs64BitSystem();
+
 } // namespace Utils
 #endif // WINUTILS_H
-- 
GitLab