diff options
-rw-r--r-- | include/gmock/gmock-printers.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/gmock/gmock-printers.h b/include/gmock/gmock-printers.h index 69eee120..e07d92af 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)); } } |