summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386>2009-09-24 16:39:30 +0000
committerzhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386>2009-09-24 16:39:30 +0000
commite2163a62552f0c6b8e61067f2b31c7275a17fc1d (patch)
tree5c765f000a60b1e058b451855fcff014bb82ded6
parentb2991828866424c3e543e1b2e35ab1668e86747b (diff)
downloadgooglemock-e2163a62552f0c6b8e61067f2b31c7275a17fc1d.tar.gz
Makes gmock compile on minGW, which uses gcc 3.4.5.
git-svn-id: http://googlemock.googlecode.com/svn/trunk@207 8415998a-534a-0410-bf83-d39667b30386
-rw-r--r--include/gmock/gmock-printers.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/gmock/gmock-printers.h b/include/gmock/gmock-printers.h
index 69eee12..e07d92a 100644
--- a/include/gmock/gmock-printers.h
+++ b/include/gmock/gmock-printers.h
@@ -279,9 +279,12 @@ void DefaultPrintTo(IsNotContainer /* dummy */,
if (p == NULL) {
*os << "NULL";
} else {
- // We cannot use implicit_cast or static_cast here, as they don't
- // work when p is a function pointer.
- *os << reinterpret_cast<const void*>(p);
+ // We want to print p as a const void*. However, we cannot cast
+ // it to const void* directly, even using reinterpret_cast, as
+ // earlier versions of gcc (e.g. 3.4.5) cannot compile the cast
+ // when p is a function pointer. Casting to UInt64 first solves
+ // the problem.
+ *os << reinterpret_cast<const void*>(reinterpret_cast<internal::UInt64>(p));
}
}