aboutsummaryrefslogtreecommitdiffstats
path: root/gtest/include/gtest/gtest-message.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtest/include/gtest/gtest-message.h')
-rw-r--r--gtest/include/gtest/gtest-message.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/gtest/include/gtest/gtest-message.h b/gtest/include/gtest/gtest-message.h
index 6398712..f135b69 100644
--- a/gtest/include/gtest/gtest-message.h
+++ b/gtest/include/gtest/gtest-message.h
@@ -46,6 +46,8 @@
#ifndef GTEST_INCLUDE_GTEST_GTEST_MESSAGE_H_
#define GTEST_INCLUDE_GTEST_GTEST_MESSAGE_H_
+#include <limits>
+
#include <gtest/internal/gtest-string.h>
#include <gtest/internal/gtest-internal.h>
@@ -77,7 +79,7 @@ namespace testing {
// latter (it causes an access violation if you do). The Message
// class hides this difference by treating a NULL char pointer as
// "(null)".
-class Message {
+class GTEST_API_ Message {
private:
// The type of basic IO manipulators (endl, ends, and flush) for
// narrow streams.
@@ -89,7 +91,11 @@ class Message {
// ASSERT/EXPECT in a procedure adds over 200 bytes to the procedure's
// stack frame leading to huge stack frames in some cases; gcc does not reuse
// the stack space.
- Message() : ss_(new internal::StrStream) {}
+ Message() : ss_(new internal::StrStream) {
+ // By default, we want there to be enough precision when printing
+ // a double to a Message.
+ *ss_ << std::setprecision(std::numeric_limits<double>::digits10 + 2);
+ }
// Copy constructor.
Message(const Message& msg) : ss_(new internal::StrStream) { // NOLINT