summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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));
}
}