aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/gtest/gtest-param-test.h3
-rw-r--r--include/gtest/gtest-param-test.h.pump3
-rw-r--r--include/gtest/internal/gtest-param-util-generated.h4
-rw-r--r--include/gtest/internal/gtest-param-util-generated.h.pump4
-rw-r--r--include/gtest/internal/gtest-port.h19
-rw-r--r--test/gtest-param-test_test.cc4
6 files changed, 17 insertions, 20 deletions
diff --git a/include/gtest/gtest-param-test.h b/include/gtest/gtest-param-test.h
index 2f19c3b3..2d63237f 100644
--- a/include/gtest/gtest-param-test.h
+++ b/include/gtest/gtest-param-test.h
@@ -156,9 +156,6 @@ INSTANTIATE_TEST_CASE_P(AnotherInstantiationName, FooTest, ValuesIn(pets));
#include <gtest/internal/gtest-internal.h>
#include <gtest/internal/gtest-param-util.h>
#include <gtest/internal/gtest-param-util-generated.h>
-#ifdef GTEST_HAS_COMBINE
-#include <tr1/tuple>
-#endif // GTEST_HAS_COMBINE
namespace testing {
diff --git a/include/gtest/gtest-param-test.h.pump b/include/gtest/gtest-param-test.h.pump
index 0c9c3ba4..858e9170 100644
--- a/include/gtest/gtest-param-test.h.pump
+++ b/include/gtest/gtest-param-test.h.pump
@@ -157,9 +157,6 @@ INSTANTIATE_TEST_CASE_P(AnotherInstantiationName, FooTest, ValuesIn(pets));
#include <gtest/internal/gtest-internal.h>
#include <gtest/internal/gtest-param-util.h>
#include <gtest/internal/gtest-param-util-generated.h>
-#ifdef GTEST_HAS_COMBINE
-#include <tr1/tuple>
-#endif // GTEST_HAS_COMBINE
namespace testing {
diff --git a/include/gtest/internal/gtest-param-util-generated.h b/include/gtest/internal/gtest-param-util-generated.h
index b709517c..17f3f7bf 100644
--- a/include/gtest/internal/gtest-param-util-generated.h
+++ b/include/gtest/internal/gtest-param-util-generated.h
@@ -48,10 +48,6 @@
#ifdef GTEST_HAS_PARAM_TEST
-#ifdef GTEST_HAS_COMBINE
-#include <tr1/tuple>
-#endif // GTEST_HAS_COMBINE
-
#include <gtest/internal/gtest-param-util.h>
namespace testing {
diff --git a/include/gtest/internal/gtest-param-util-generated.h.pump b/include/gtest/internal/gtest-param-util-generated.h.pump
index 922311cb..fe32a8e6 100644
--- a/include/gtest/internal/gtest-param-util-generated.h.pump
+++ b/include/gtest/internal/gtest-param-util-generated.h.pump
@@ -49,10 +49,6 @@ $var maxtuple = 10 $$ Maximum number of Combine arguments we want to support.
#ifdef GTEST_HAS_PARAM_TEST
-#ifdef GTEST_HAS_COMBINE
-#include <tr1/tuple>
-#endif // GTEST_HAS_COMBINE
-
#include <gtest/internal/gtest-param-util.h>
namespace testing {
diff --git a/include/gtest/internal/gtest-port.h b/include/gtest/internal/gtest-port.h
index f04d8465..6a1593ef 100644
--- a/include/gtest/internal/gtest-port.h
+++ b/include/gtest/internal/gtest-port.h
@@ -301,10 +301,10 @@
#endif // GTEST_HAS_PTHREAD
-// Determines whether <tr1/tuple> is available. If you have <tr1/tuple>
+// Determines whether tr1/tuple is available. If you have tr1/tuple
// on your platform, define GTEST_HAS_TR1_TUPLE=1 for both the Google
// Test project and your tests. If you would like Google Test to detect
-// <tr1/tuple> on your platform automatically, please open an issue
+// tr1/tuple on your platform automatically, please open an issue
// ticket at http://code.google.com/p/googletest.
#ifndef GTEST_HAS_TR1_TUPLE
// The user didn't tell us, so we need to figure it out.
@@ -317,6 +317,21 @@
#endif // __GNUC__
#endif // GTEST_HAS_TR1_TUPLE
+// To avoid conditional compilation everywhere, we make it
+// gtest-port.h's responsibility to #include the header implementing
+// tr1/tuple.
+#if GTEST_HAS_TR1_TUPLE
+#if defined(__GNUC__)
+// GCC implements tr1/tuple in the <tr1/tuple> header. This does not
+// conform to the TR1 spec, which requires the header to be <tuple>.
+#include <tr1/tuple>
+#else
+// If the compiler is not GCC, we assume the user is using a
+// spec-conforming TR1 implementation.
+#include <tuple>
+#endif // __GNUC__
+#endif // GTEST_HAS_TR1_TUPLE
+
// Determines whether clone(2) is supported.
// Usually it will only be available on Linux, excluding
// Linux on the Itanium architecture.
diff --git a/test/gtest-param-test_test.cc b/test/gtest-param-test_test.cc
index 6d84dcf9..22ba1a34 100644
--- a/test/gtest-param-test_test.cc
+++ b/test/gtest-param-test_test.cc
@@ -42,10 +42,6 @@
#include <list>
#include <vector>
-#ifdef GTEST_HAS_COMBINE
-#include <tr1/tuple>
-#endif // GTEST_HAS_COMBINE
-
// To include gtest-internal-inl.h.
#define GTEST_IMPLEMENTATION
#include "src/gtest-internal-inl.h" // for UnitTestOptions