summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2011-10-21 09:38:50 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2011-10-21 09:38:50 +0000
commitb27f11e01dfa583fc041619afc216d54c13c3f0c (patch)
tree4dc9d2a131e947f3655132b40c8bd703944a1a86 /llvm/lib/Support
parent8b9737cb5419e6be32732d23db74d2ebaa3552e4 (diff)
downloadbcm5719-llvm-b27f11e01dfa583fc041619afc216d54c13c3f0c.tar.gz
bcm5719-llvm-b27f11e01dfa583fc041619afc216d54c13c3f0c.zip
Fix build on mingw-w64.
Patch by Ruben Van Boxem! llvm-svn: 142646
Diffstat (limited to 'llvm/lib/Support')
-rw-r--r--llvm/lib/Support/Windows/Signals.inc14
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/lib/Support/Windows/Signals.inc b/llvm/lib/Support/Windows/Signals.inc
index 473168edfcf..0d4b8a26b02 100644
--- a/llvm/lib/Support/Windows/Signals.inc
+++ b/llvm/lib/Support/Windows/Signals.inc
@@ -41,10 +41,11 @@
#pragma GCC diagnostic ignored "-Wformat"
#pragma GCC diagnostic ignored "-Wformat-extra-args"
- // MinGW does not have updated support for the 64-bit versions of the DebugHlp
- // APIs. So we will have to load them manually. The structures and method
- // signatures were pulled from DbgHelp.h in the Windows Platform SDK, and
- // adjusted for brevity.
+ #if !defined(__MINGW64_VERSION_MAJOR)
+ // MinGW.org does not have updated support for the 64-bit versions of the
+ // DebugHlp APIs. So we will have to load them manually. The structures and
+ // method signatures were pulled from DbgHelp.h in the Windows Platform SDK,
+ // and adjusted for brevity.
typedef struct _IMAGEHLP_LINE64 {
DWORD SizeOfStruct;
PVOID Key;
@@ -147,6 +148,7 @@ static bool load64BitDebugHelp(void) {
}
return StackWalk64 != NULL;
}
+ #endif // !defined(__MINGW64_VERSION_MAJOR)
#endif // __MINGW32__
// Forward declare.
@@ -207,8 +209,8 @@ static int CRTReportHook(int ReportType, char *Message, int *Return) {
#endif
static void RegisterHandler() {
-#if __MINGW32__
- // On MinGW, we need to load up the symbols explicitly, because the
+#if __MINGW32__ && !defined(__MINGW64_VERSION_MAJOR)
+ // On MinGW.org, we need to load up the symbols explicitly, because the
// Win32 framework they include does not have support for the 64-bit
// versions of the APIs we need. If we cannot load up the APIs (which
// would be unexpected as they should exist on every version of Windows
OpenPOWER on IntegriCloud