summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@digia.com>2013-10-28 10:27:53 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-29 15:09:29 +0100
commit00bf148b07cb7771136ed472766400336ab4d2bf (patch)
treecf1dd313a9e49709c47da3e332c44688deaf835d
parent684a952edbf5ec5bd70c7edae7c8eff8e87cf2de (diff)
Fix compilation with MinGW gcc 64 bit
Fix compilation of ANGLE with gcc 4.8.0 64 bit: The reinterpret_cast<unsigned long>(void*) was causing error: cast from 'const void*' to 'long unsigned int' loses precision Task-number: QTBUG-34395 Change-Id: Ibde75dd4b5536f3827bdf0ab02a15e93a1a8a4f0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
-rw-r--r--src/3rdparty/angle/src/third_party/trace_event/trace_event.h2
-rw-r--r--src/angle/patches/0001-Fix-compilation-with-MinGW-gcc-64-bit.patch35
2 files changed, 36 insertions, 1 deletions
diff --git a/src/3rdparty/angle/src/third_party/trace_event/trace_event.h b/src/3rdparty/angle/src/third_party/trace_event/trace_event.h
index 113b126a77..72d354dd64 100644
--- a/src/3rdparty/angle/src/third_party/trace_event/trace_event.h
+++ b/src/3rdparty/angle/src/third_party/trace_event/trace_event.h
@@ -589,7 +589,7 @@ const unsigned long long noEventId = 0;
class TraceID {
public:
explicit TraceID(const void* id, unsigned char* flags) :
- m_data(static_cast<unsigned long long>(reinterpret_cast<unsigned long>(id)))
+ m_data(reinterpret_cast<unsigned long long>(id))
{
*flags |= TRACE_EVENT_FLAG_MANGLE_ID;
}
diff --git a/src/angle/patches/0001-Fix-compilation-with-MinGW-gcc-64-bit.patch b/src/angle/patches/0001-Fix-compilation-with-MinGW-gcc-64-bit.patch
new file mode 100644
index 0000000000..0420694c91
--- /dev/null
+++ b/src/angle/patches/0001-Fix-compilation-with-MinGW-gcc-64-bit.patch
@@ -0,0 +1,35 @@
+From 821c28d387b332bf16b6ea35ec22a77d3ba41632 Mon Sep 17 00:00:00 2001
+From: Kai Koehne <kai.koehne@digia.com>
+Date: Mon, 28 Oct 2013 10:27:53 +0100
+Subject: [PATCH] Fix compilation with MinGW gcc 64 bit
+
+Fix compilation of ANGLE with gcc 4.8.0 64 bit: The
+
+ reinterpret_cast<unsigned long>(void*)
+
+was causing
+
+ error: cast from 'const void*' to 'long unsigned int' loses precision
+
+Task-number: QTBUG-34395
+Change-Id: Ibde75dd4b5536f3827bdf0ab02a15e93a1a8a4f0
+---
+ src/3rdparty/angle/src/third_party/trace_event/trace_event.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/3rdparty/angle/src/third_party/trace_event/trace_event.h b/src/3rdparty/angle/src/third_party/trace_event/trace_event.h
+index 113b126..72d354d 100644
+--- a/src/3rdparty/angle/src/third_party/trace_event/trace_event.h
++++ b/src/3rdparty/angle/src/third_party/trace_event/trace_event.h
+@@ -589,7 +589,7 @@ const unsigned long long noEventId = 0;
+ class TraceID {
+ public:
+ explicit TraceID(const void* id, unsigned char* flags) :
+- m_data(static_cast<unsigned long long>(reinterpret_cast<unsigned long>(id)))
++ m_data(reinterpret_cast<unsigned long long>(id))
+ {
+ *flags |= TRACE_EVENT_FLAG_MANGLE_ID;
+ }
+--
+1.8.3.msysgit.0
+