You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2011/06/05 07:32:26 UTC

svn commit: r1131792 [7/13] - in /incubator/mesos/trunk: ./ src/ src/third_party/gtest-1.4.0-patched/ src/third_party/gtest-1.4.0-patched/build-aux/ src/third_party/gtest-1.4.0-patched/codegear/ src/third_party/gtest-1.4.0-patched/include/gtest/ src/th...

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-port.h (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-port.h)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-port.h?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-port.h&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-port.h&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-port.h (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-port.h Sun Jun  5 05:32:17 2011
@@ -42,6 +42,8 @@
 //
 //   GTEST_HAS_CLONE          - Define it to 1/0 to indicate that clone(2)
 //                              is/isn't available.
+//   GTEST_HAS_EXCEPTIONS     - Define it to 1/0 to indicate that exceptions
+//                              are enabled.
 //   GTEST_HAS_GLOBAL_STRING  - Define it to 1/0 to indicate that ::string
 //                              is/isn't available (some systems define
 //                              ::string, which is different to std::string).
@@ -52,9 +54,6 @@
 //                              is/isn't available.
 //   GTEST_HAS_RTTI           - Define it to 1/0 to indicate that RTTI is/isn't
 //                              enabled.
-//   GTEST_HAS_STD_STRING     - Define it to 1/0 to indicate that
-//                              std::string does/doesn't work (Google Test can
-//                              be used where std::string is unavailable).
 //   GTEST_HAS_STD_WSTRING    - Define it to 1/0 to indicate that
 //                              std::wstring does/doesn't work (Google Test can
 //                              be used where std::wstring is unavailable).
@@ -67,11 +66,19 @@
 //                              Test's own tr1 tuple implementation should be
 //                              used.  Unused when the user sets
 //                              GTEST_HAS_TR1_TUPLE to 0.
+//   GTEST_LINKED_AS_SHARED_LIBRARY
+//                            - Define to 1 when compiling tests that use
+//                              Google Test as a shared library (known as
+//                              DLL on Windows).
+//   GTEST_CREATE_SHARED_LIBRARY
+//                            - Define to 1 when compiling Google Test itself
+//                              as a shared library.
 
 // This header defines the following utilities:
 //
 // Macros indicating the current platform (defined to 1 if compiled on
 // the given platform; otherwise undefined):
+//   GTEST_OS_AIX      - IBM AIX
 //   GTEST_OS_CYGWIN   - Cygwin
 //   GTEST_OS_LINUX    - Linux
 //   GTEST_OS_MAC      - Mac OS X
@@ -80,7 +87,7 @@
 //   GTEST_OS_WINDOWS  - Windows (Desktop, MinGW, or Mobile)
 //     GTEST_OS_WINDOWS_DESKTOP  - Windows Desktop
 //     GTEST_OS_WINDOWS_MINGW    - MinGW
-//     GTEST_OS_WINODWS_MOBILE   - Windows Mobile
+//     GTEST_OS_WINDOWS_MOBILE   - Windows Mobile
 //   GTEST_OS_ZOS      - z/OS
 //
 // Among the platforms, Cygwin, Linux, Max OS X, and Windows have the
@@ -103,11 +110,13 @@
 //   GTEST_USES_POSIX_RE    - enhanced POSIX regex is used.
 //   GTEST_USES_SIMPLE_RE   - our own simple regex is used;
 //                            the above two are mutually exclusive.
+//   GTEST_CAN_COMPARE_NULL - accepts untyped NULL in EXPECT_EQ().
 //
 // Macros for basic C++ coding:
 //   GTEST_AMBIGUOUS_ELSE_BLOCKER_ - for disabling a gcc warning.
 //   GTEST_ATTRIBUTE_UNUSED_  - declares that a class' instances or a
 //                              variable don't have to be used.
+//   GTEST_DISALLOW_ASSIGN_   - disables operator=.
 //   GTEST_DISALLOW_COPY_AND_ASSIGN_ - disables copy ctor and operator=.
 //   GTEST_MUST_USE_RESULT_   - declares that a function's result must be used.
 //
@@ -134,7 +143,10 @@
 //   LogToStderr()  - directs all log messages to stderr.
 //   FlushInfoLog() - flushes informational log messages.
 //
-// Stderr capturing:
+// Stdout and stderr capturing:
+//   CaptureStdout()     - starts capturing stdout.
+//   GetCapturedStdout() - stops capturing stdout and returns the captured
+//                         string.
 //   CaptureStderr()     - starts capturing stderr.
 //   GetCapturedStderr() - stops capturing stderr and returns the captured
 //                         string.
@@ -166,9 +178,12 @@
 #endif  // !_WIN32_WCE
 
 #include <iostream>  // NOLINT
+#include <sstream>  // NOLINT
+#include <string>  // NOLINT
 
 #define GTEST_DEV_EMAIL_ "googletestframework@@googlegroups.com"
 #define GTEST_FLAG_PREFIX_ "gtest_"
+#define GTEST_FLAG_PREFIX_DASH_ "gtest-"
 #define GTEST_FLAG_PREFIX_UPPER_ "GTEST_"
 #define GTEST_NAME_ "Google Test"
 #define GTEST_PROJECT_URL_ "http://code.google.com/p/googletest/"
@@ -202,10 +217,12 @@
 #define GTEST_OS_ZOS 1
 #elif defined(__sun) && defined(__SVR4)
 #define GTEST_OS_SOLARIS 1
+#elif defined(_AIX)
+#define GTEST_OS_AIX 1
 #endif  // __CYGWIN__
 
 #if GTEST_OS_CYGWIN || GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_SYMBIAN || \
-    GTEST_OS_SOLARIS
+    GTEST_OS_SOLARIS || GTEST_OS_AIX
 
 // On some platforms, <regex.h> needs someone to define size_t, and
 // won't compile otherwise.  We can #include it here as we already
@@ -214,6 +231,7 @@
 #include <regex.h>  // NOLINT
 #include <strings.h>  // NOLINT
 #include <sys/types.h>  // NOLINT
+#include <time.h>  // NOLINT
 #include <unistd.h>  // NOLINT
 
 #define GTEST_USES_POSIX_RE 1
@@ -236,11 +254,11 @@
 #define GTEST_USES_SIMPLE_RE 1
 
 #endif  // GTEST_OS_CYGWIN || GTEST_OS_LINUX || GTEST_OS_MAC ||
-        // GTEST_OS_SYMBIAN || GTEST_OS_SOLARIS
-
-// Defines GTEST_HAS_EXCEPTIONS to 1 if exceptions are enabled, or 0
-// otherwise.
+        // GTEST_OS_SYMBIAN || GTEST_OS_SOLARIS || GTEST_OS_AIX
 
+#ifndef GTEST_HAS_EXCEPTIONS
+// The user didn't tell us whether exceptions are enabled, so we need
+// to figure it out.
 #if defined(_MSC_VER) || defined(__BORLANDC__)
 // MSVC's and C++Builder's implementations of the STL use the _HAS_EXCEPTIONS
 // macro to enable exceptions, so we'll do the same.
@@ -249,30 +267,32 @@
 #define _HAS_EXCEPTIONS 1
 #endif  // _HAS_EXCEPTIONS
 #define GTEST_HAS_EXCEPTIONS _HAS_EXCEPTIONS
-#else  // The compiler is not MSVC or C++Builder.
-// gcc defines __EXCEPTIONS to 1 iff exceptions are enabled.  For
-// other compilers, we assume exceptions are disabled to be
-// conservative.
-#if defined(__GNUC__) && __EXCEPTIONS
+#elif defined(__GNUC__) && __EXCEPTIONS
+// gcc defines __EXCEPTIONS to 1 iff exceptions are enabled.
+#define GTEST_HAS_EXCEPTIONS 1
+#elif defined(__SUNPRO_CC)
+// Sun Pro CC supports exceptions.  However, there is no compile-time way of
+// detecting whether they are enabled or not.  Therefore, we assume that
+// they are enabled unless the user tells us otherwise.
+#define GTEST_HAS_EXCEPTIONS 1
+#elif defined(__IBMCPP__) && __EXCEPTIONS
+// xlC defines __EXCEPTIONS to 1 iff exceptions are enabled.
 #define GTEST_HAS_EXCEPTIONS 1
 #else
+// For other compilers, we assume exceptions are disabled to be
+// conservative.
 #define GTEST_HAS_EXCEPTIONS 0
-#endif  // defined(__GNUC__) && __EXCEPTIONS
 #endif  // defined(_MSC_VER) || defined(__BORLANDC__)
+#endif  // GTEST_HAS_EXCEPTIONS
 
-// Determines whether ::std::string and ::string are available.
-
-#ifndef GTEST_HAS_STD_STRING
-// The user didn't tell us whether ::std::string is available, so we
-// need to figure it out.  The only environment that we know
-// ::std::string is not available is MSVC 7.1 or lower with exceptions
-// disabled.
-#if defined(_MSC_VER) && (_MSC_VER < 1400) && !GTEST_HAS_EXCEPTIONS
-#define GTEST_HAS_STD_STRING 0
-#else
+#if !defined(GTEST_HAS_STD_STRING)
+// Even though we don't use this macro any longer, we keep it in case
+// some clients still depend on it.
 #define GTEST_HAS_STD_STRING 1
-#endif
-#endif  // GTEST_HAS_STD_STRING
+#elif !GTEST_HAS_STD_STRING
+// The user told us that ::std::string isn't available.
+#error "Google Test cannot be used where ::std::string isn't available."
+#endif  // !defined(GTEST_HAS_STD_STRING)
 
 #ifndef GTEST_HAS_GLOBAL_STRING
 // The user didn't tell us whether ::string is available, so we need
@@ -288,14 +308,10 @@
 // TODO(wan@google.com): uses autoconf to detect whether ::std::wstring
 //   is available.
 
-#if GTEST_OS_CYGWIN || GTEST_OS_SOLARIS
 // Cygwin 1.5 and below doesn't support ::std::wstring.
 // Cygwin 1.7 might add wstring support; this should be updated when clear.
 // Solaris' libc++ doesn't support it either.
-#define GTEST_HAS_STD_WSTRING 0
-#else
-#define GTEST_HAS_STD_WSTRING GTEST_HAS_STD_STRING
-#endif  // GTEST_OS_CYGWIN || GTEST_OS_SOLARIS
+#define GTEST_HAS_STD_WSTRING (!(GTEST_OS_CYGWIN || GTEST_OS_SOLARIS))
 
 #endif  // GTEST_HAS_STD_WSTRING
 
@@ -306,18 +322,6 @@
     (GTEST_HAS_STD_WSTRING && GTEST_HAS_GLOBAL_STRING)
 #endif  // GTEST_HAS_GLOBAL_WSTRING
 
-#if GTEST_HAS_STD_STRING || GTEST_HAS_GLOBAL_STRING || \
-    GTEST_HAS_STD_WSTRING || GTEST_HAS_GLOBAL_WSTRING
-#include <string>  // NOLINT
-#endif  // GTEST_HAS_STD_STRING || GTEST_HAS_GLOBAL_STRING ||
-        // GTEST_HAS_STD_WSTRING || GTEST_HAS_GLOBAL_WSTRING
-
-#if GTEST_HAS_STD_STRING
-#include <sstream>  // NOLINT
-#else
-#include <strstream>  // NOLINT
-#endif  // GTEST_HAS_STD_STRING
-
 // Determines whether RTTI is available.
 #ifndef GTEST_HAS_RTTI
 // The user didn't tell us whether RTTI is enabled, so we need to
@@ -329,34 +333,49 @@
 #define GTEST_HAS_RTTI 1
 #else
 #define GTEST_HAS_RTTI 0
-#endif  // _CPPRTTI
-
-#elif defined(__GNUC__)
+#endif
 
 // Starting with version 4.3.2, gcc defines __GXX_RTTI iff RTTI is enabled.
-#if GTEST_GCC_VER_ >= 40302
+#elif defined(__GNUC__) && (GTEST_GCC_VER_ >= 40302)
+
 #ifdef __GXX_RTTI
 #define GTEST_HAS_RTTI 1
 #else
 #define GTEST_HAS_RTTI 0
 #endif  // __GXX_RTTI
-#else
-// For gcc versions smaller than 4.3.2, we assume RTTI is enabled.
+
+// Starting with version 9.0 IBM Visual Age defines __RTTI_ALL__ to 1 if
+// both the typeid and dynamic_cast features are present.
+#elif defined(__IBMCPP__) && (__IBMCPP__ >= 900)
+
+#ifdef __RTTI_ALL__
 #define GTEST_HAS_RTTI 1
-#endif  // GTEST_GCC_VER >= 40302
+#else
+#define GTEST_HAS_RTTI 0
+#endif
 
 #else
 
-// Unknown compiler - assume RTTI is enabled.
+// For all other compilers, we assume RTTI is enabled.
 #define GTEST_HAS_RTTI 1
 
 #endif  // _MSC_VER
 
 #endif  // GTEST_HAS_RTTI
 
-// Determines whether <pthread.h> is available.
+// It's this header's responsibility to #include <typeinfo> when RTTI
+// is enabled.
+#if GTEST_HAS_RTTI
+#include <typeinfo>
+#endif
+
+// Determines whether Google Test can use the pthreads library.
 #ifndef GTEST_HAS_PTHREAD
-// The user didn't tell us, so we need to figure it out.
+// The user didn't tell us explicitly, so we assume pthreads support is
+// available on Linux and Mac.
+//
+// To disable threading support in Google Test, add -DGTEST_HAS_PTHREAD=0
+// to your compiler flags.
 #define GTEST_HAS_PTHREAD (GTEST_OS_LINUX || GTEST_OS_MAC)
 #endif  // GTEST_HAS_PTHREAD
 
@@ -373,17 +392,19 @@
 #ifndef GTEST_USE_OWN_TR1_TUPLE
 // The user didn't tell us, so we need to figure it out.
 
-// We use our own tr1 tuple if we aren't sure the user has an
-// implementation of it already.  At this time, GCC 4.0.0+ is the only
-// mainstream compiler that comes with a TR1 tuple implementation.
-// MSVC 2008 (9.0) provides TR1 tuple in a 323 MB Feature Pack
-// download, which we cannot assume the user has.  MSVC 2010 isn't
-// released yet.
-#if defined(__GNUC__) && (GTEST_GCC_VER_ >= 40000)
+// We use our own TR1 tuple if we aren't sure the user has an
+// implementation of it already.  At this time, GCC 4.0.0+ and MSVC
+// 2010 are the only mainstream compilers that come with a TR1 tuple
+// implementation.  NVIDIA's CUDA NVCC compiler pretends to be GCC by
+// defining __GNUC__ and friends, but cannot compile GCC's tuple
+// implementation.  MSVC 2008 (9.0) provides TR1 tuple in a 323 MB
+// Feature Pack download, which we cannot assume the user has.
+#if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000)) \
+    || _MSC_VER >= 1600
 #define GTEST_USE_OWN_TR1_TUPLE 0
 #else
 #define GTEST_USE_OWN_TR1_TUPLE 1
-#endif  // defined(__GNUC__) && (GTEST_GCC_VER_ >= 40000)
+#endif
 
 #endif  // GTEST_USE_OWN_TR1_TUPLE
 
@@ -425,13 +446,13 @@
 #undef _TR1_FUNCTIONAL  // Allows the user to #include
                         // <tr1/functional> if he chooses to.
 #else
-#include <tr1/tuple>
+#include <tr1/tuple>  // NOLINT
 #endif  // !GTEST_HAS_RTTI && GTEST_GCC_VER_ < 40302
 
 #else
 // If the compiler is not GCC 4.0+, we assume the user is using a
 // spec-conforming TR1 implementation.
-#include <tuple>
+#include <tuple>  // NOLINT
 #endif  // GTEST_USE_OWN_TR1_TUPLE
 
 #endif  // GTEST_HAS_TR1_TUPLE
@@ -451,47 +472,49 @@
 
 #endif  // GTEST_HAS_CLONE
 
+// Determines whether to support stream redirection. This is used to test
+// output correctness and to implement death tests.
+#if !GTEST_OS_WINDOWS_MOBILE && !GTEST_OS_SYMBIAN
+#define GTEST_HAS_STREAM_REDIRECTION_ 1
+#endif  // !GTEST_OS_WINDOWS_MOBILE && !GTEST_OS_SYMBIAN
+
 // Determines whether to support death tests.
-// Google Test does not support death tests for VC 7.1 and earlier for
-// these reasons:
-//   1. std::vector does not build in VC 7.1 when exceptions are disabled.
-//   2. std::string does not build in VC 7.1 when exceptions are disabled
-//      (this is covered by GTEST_HAS_STD_STRING guard).
-//   3. abort() in a VC 7.1 application compiled as GUI in debug config
-//      pops up a dialog window that cannot be suppressed programmatically.
-#if GTEST_HAS_STD_STRING && \
-    (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_CYGWIN || \
-     (GTEST_OS_WINDOWS_DESKTOP && _MSC_VER >= 1400) || GTEST_OS_WINDOWS_MINGW)
+// Google Test does not support death tests for VC 7.1 and earlier as
+// abort() in a VC 7.1 application compiled as GUI in debug config
+// pops up a dialog window that cannot be suppressed programmatically.
+#if (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_CYGWIN || GTEST_OS_SOLARIS || \
+     (GTEST_OS_WINDOWS_DESKTOP && _MSC_VER >= 1400) || \
+     GTEST_OS_WINDOWS_MINGW || GTEST_OS_AIX)
 #define GTEST_HAS_DEATH_TEST 1
 #include <vector>  // NOLINT
 #endif
 
-// Determines whether to support value-parameterized tests.
-
-#if defined(__GNUC__) || (_MSC_VER >= 1400)
-// TODO(vladl@google.com): get the implementation rid of vector and list
-// to compile on MSVC 7.1.
+// We don't support MSVC 7.1 with exceptions disabled now.  Therefore
+// all the compilers we care about are adequate for supporting
+// value-parameterized tests.
 #define GTEST_HAS_PARAM_TEST 1
-#endif  // defined(__GNUC__) || (_MSC_VER >= 1400)
 
 // Determines whether to support type-driven tests.
 
-// Typed tests need <typeinfo> and variadic macros, which gcc and VC
-// 8.0+ support.
-#if defined(__GNUC__) || (_MSC_VER >= 1400)
+// Typed tests need <typeinfo> and variadic macros, which GCC, VC++ 8.0,
+// Sun Pro CC, and IBM Visual Age support.
+#if defined(__GNUC__) || (_MSC_VER >= 1400) || defined(__SUNPRO_CC) || \
+    defined(__IBMCPP__)
 #define GTEST_HAS_TYPED_TEST 1
 #define GTEST_HAS_TYPED_TEST_P 1
-#endif  // defined(__GNUC__) || (_MSC_VER >= 1400)
+#endif
 
 // Determines whether to support Combine(). This only makes sense when
-// value-parameterized tests are enabled.
-#if GTEST_HAS_PARAM_TEST && GTEST_HAS_TR1_TUPLE
+// value-parameterized tests are enabled.  The implementation doesn't
+// work on Sun Studio since it doesn't understand templated conversion
+// operators.
+#if GTEST_HAS_PARAM_TEST && GTEST_HAS_TR1_TUPLE && !defined(__SUNPRO_CC)
 #define GTEST_HAS_COMBINE 1
-#endif  // GTEST_HAS_PARAM_TEST && GTEST_HAS_TR1_TUPLE
+#endif
 
 // Determines whether the system compiler uses UTF-16 for encoding wide strings.
 #define GTEST_WIDE_STRING_USES_UTF16_ \
-    (GTEST_OS_WINDOWS || GTEST_OS_CYGWIN || GTEST_OS_SYMBIAN)
+    (GTEST_OS_WINDOWS || GTEST_OS_CYGWIN || GTEST_OS_SYMBIAN || GTEST_OS_AIX)
 
 // Defines some utility macros.
 
@@ -526,11 +549,16 @@
 #define GTEST_ATTRIBUTE_UNUSED_
 #endif
 
-// A macro to disallow the evil copy constructor and operator= functions
+// A macro to disallow operator=
+// This should be used in the private: declarations for a class.
+#define GTEST_DISALLOW_ASSIGN_(type)\
+  void operator=(type const &)
+
+// A macro to disallow copy constructor and operator=
 // This should be used in the private: declarations for a class.
 #define GTEST_DISALLOW_COPY_AND_ASSIGN_(type)\
-  type(const type &);\
-  void operator=(const type &)
+  type(type const &);\
+  GTEST_DISALLOW_ASSIGN_(type)
 
 // Tell the compiler to warn about unused return values for functions declared
 // with this macro.  The macro should be used on function declarations
@@ -559,6 +587,20 @@
 
 #endif  // GTEST_HAS_SEH
 
+#ifdef _MSC_VER
+
+#if GTEST_LINKED_AS_SHARED_LIBRARY
+#define GTEST_API_ __declspec(dllimport)
+#elif GTEST_CREATE_SHARED_LIBRARY
+#define GTEST_API_ __declspec(dllexport)
+#endif
+
+#endif  // _MSC_VER
+
+#ifndef GTEST_API_
+#define GTEST_API_
+#endif
+
 namespace testing {
 
 class Message;
@@ -567,19 +609,11 @@ namespace internal {
 
 class String;
 
-// std::strstream is deprecated.  However, we have to use it on
-// Windows as std::stringstream won't compile on Windows when
-// exceptions are disabled.  We use std::stringstream on other
-// platforms to avoid compiler warnings there.
-#if GTEST_HAS_STD_STRING
 typedef ::std::stringstream StrStream;
-#else
-typedef ::std::strstream StrStream;
-#endif  // GTEST_HAS_STD_STRING
 
 // A helper for suppressing warnings on constant condition.  It just
 // returns 'condition'.
-bool IsTrue(bool condition);
+GTEST_API_ bool IsTrue(bool condition);
 
 // Defines scoped_ptr.
 
@@ -588,6 +622,8 @@ bool IsTrue(bool condition);
 template <typename T>
 class scoped_ptr {
  public:
+  typedef T element_type;
+
   explicit scoped_ptr(T* p = NULL) : ptr_(p) {}
   ~scoped_ptr() { reset(); }
 
@@ -617,14 +653,16 @@ class scoped_ptr {
 
 // Defines RE.
 
-// A simple C++ wrapper for <regex.h>.  It uses the POSIX Enxtended
+// A simple C++ wrapper for <regex.h>.  It uses the POSIX Extended
 // Regular Expression syntax.
-class RE {
+class GTEST_API_ RE {
  public:
+  // A copy constructor is required by the Standard to initialize object
+  // references from r-values.
+  RE(const RE& other) { Init(other.pattern()); }
+
   // Constructs an RE from a string.
-#if GTEST_HAS_STD_STRING
   RE(const ::std::string& regex) { Init(regex.c_str()); }  // NOLINT
-#endif  // GTEST_HAS_STD_STRING
 
 #if GTEST_HAS_GLOBAL_STRING
   RE(const ::string& regex) { Init(regex.c_str()); }  // NOLINT
@@ -643,14 +681,12 @@ class RE {
   //
   // TODO(wan@google.com): make FullMatch() and PartialMatch() work
   // when str contains NUL characters.
-#if GTEST_HAS_STD_STRING
   static bool FullMatch(const ::std::string& str, const RE& re) {
     return FullMatch(str.c_str(), re);
   }
   static bool PartialMatch(const ::std::string& str, const RE& re) {
     return PartialMatch(str.c_str(), re);
   }
-#endif  // GTEST_HAS_STD_STRING
 
 #if GTEST_HAS_GLOBAL_STRING
   static bool FullMatch(const ::string& str, const RE& re) {
@@ -680,7 +716,7 @@ class RE {
   const char* full_pattern_;  // For FullMatch();
 #endif
 
-  GTEST_DISALLOW_COPY_AND_ASSIGN_(RE);
+  GTEST_DISALLOW_ASSIGN_(RE);
 };
 
 // Defines logging utilities:
@@ -699,7 +735,7 @@ enum GTestLogSeverity {
 // Formats log entry severity, provides a stream object for streaming the
 // log message, and terminates the message with a newline when going out of
 // scope.
-class GTestLog {
+class GTEST_API_ GTestLog {
  public:
   GTestLog(GTestLogSeverity severity, const char* file, int line);
 
@@ -721,12 +757,69 @@ class GTestLog {
 inline void LogToStderr() {}
 inline void FlushInfoLog() { fflush(NULL); }
 
+// INTERNAL IMPLEMENTATION - DO NOT USE.
+//
+// GTEST_CHECK_ is an all-mode assert. It aborts the program if the condition
+// is not satisfied.
+//  Synopsys:
+//    GTEST_CHECK_(boolean_condition);
+//     or
+//    GTEST_CHECK_(boolean_condition) << "Additional message";
+//
+//    This checks the condition and if the condition is not satisfied
+//    it prints message about the condition violation, including the
+//    condition itself, plus additional message streamed into it, if any,
+//    and then it aborts the program. It aborts the program irrespective of
+//    whether it is built in the debug mode or not.
+#define GTEST_CHECK_(condition) \
+    GTEST_AMBIGUOUS_ELSE_BLOCKER_ \
+    if (::testing::internal::IsTrue(condition)) \
+      ; \
+    else \
+      GTEST_LOG_(FATAL) << "Condition " #condition " failed. "
+
+// An all-mode assert to verify that the given POSIX-style function
+// call returns 0 (indicating success).  Known limitation: this
+// doesn't expand to a balanced 'if' statement, so enclose the macro
+// in {} if you need to use it as the only statement in an 'if'
+// branch.
+#define GTEST_CHECK_POSIX_SUCCESS_(posix_call) \
+  if (const int gtest_error = (posix_call)) \
+    GTEST_LOG_(FATAL) << #posix_call << "failed with error " \
+                      << gtest_error
+
+// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
+//
+// Downcasts the pointer of type Base to Derived.
+// Derived must be a subclass of Base. The parameter MUST
+// point to a class of type Derived, not any subclass of it.
+// When RTTI is available, the function performs a runtime
+// check to enforce this.
+template <class Derived, class Base>
+Derived* CheckedDowncastToActualType(Base* base) {
+#if GTEST_HAS_RTTI
+  GTEST_CHECK_(typeid(*base) == typeid(Derived));
+  return dynamic_cast<Derived*>(base);  // NOLINT
+#else
+  return static_cast<Derived*>(base);  // Poor man's downcast.
+#endif
+}
+
+#if GTEST_HAS_STREAM_REDIRECTION_
+
 // Defines the stderr capturer:
+//   CaptureStdout     - starts capturing stdout.
+//   GetCapturedStdout - stops capturing stdout and returns the captured string.
 //   CaptureStderr     - starts capturing stderr.
 //   GetCapturedStderr - stops capturing stderr and returns the captured string.
+//
+GTEST_API_ void CaptureStdout();
+GTEST_API_ String GetCapturedStdout();
+GTEST_API_ void CaptureStderr();
+GTEST_API_ String GetCapturedStderr();
+
+#endif  // GTEST_HAS_STREAM_REDIRECTION_
 
-void CaptureStderr();
-String GetCapturedStderr();
 
 #if GTEST_HAS_DEATH_TEST
 
@@ -741,107 +834,337 @@ const ::std::vector<String>& GetArgvs();
 // Defines synchronization primitives.
 
 #if GTEST_HAS_PTHREAD
-class MutexImpl;
 
-class Mutex {
+// Sleeps for (roughly) n milli-seconds.  This function is only for
+// testing Google Test's own constructs.  Don't use it in user tests,
+// either directly or indirectly.
+inline void SleepMilliseconds(int n) {
+  const timespec time = {
+    0,                  // 0 seconds.
+    n * 1000L * 1000L,  // And n ms.
+  };
+  nanosleep(&time, NULL);
+}
+
+// Allows a controller thread to pause execution of newly created
+// threads until notified.  Instances of this class must be created
+// and destroyed in the controller thread.
+//
+// This class is only for testing Google Test's own constructs. Do not
+// use it in user tests, either directly or indirectly.
+class Notification {
+ public:
+  Notification() : notified_(false) {}
+
+  // Notifies all threads created with this notification to start. Must
+  // be called from the controller thread.
+  void Notify() { notified_ = true; }
+
+  // Blocks until the controller thread notifies. Must be called from a test
+  // thread.
+  void WaitForNotification() {
+    while(!notified_) {
+      SleepMilliseconds(10);
+    }
+  }
+
+ private:
+  volatile bool notified_;
+
+  GTEST_DISALLOW_COPY_AND_ASSIGN_(Notification);
+};
+
+// As a C-function, ThreadFuncWithCLinkage cannot be templated itself.
+// Consequently, it cannot select a correct instantiation of ThreadWithParam
+// in order to call its Run(). Introducing ThreadWithParamBase as a
+// non-templated base class for ThreadWithParam allows us to bypass this
+// problem.
+class ThreadWithParamBase {
  public:
-  Mutex();
+  virtual ~ThreadWithParamBase() {}
+  virtual void Run() = 0;
+};
+
+// pthread_create() accepts a pointer to a function type with the C linkage.
+// According to the Standard (7.5/1), function types with different linkages
+// are different even if they are otherwise identical.  Some compilers (for
+// example, SunStudio) treat them as different types.  Since class methods
+// cannot be defined with C-linkage we need to define a free C-function to
+// pass into pthread_create().
+extern "C" inline void* ThreadFuncWithCLinkage(void* thread) {
+  static_cast<ThreadWithParamBase*>(thread)->Run();
+  return NULL;
+}
 
-  enum NoConstructorNeededSelector { NO_CONSTRUCTOR_NEEDED_FOR_STATIC_MUTEX };
-  explicit Mutex(NoConstructorNeededSelector dummy);
-  ~Mutex();
+// Helper class for testing Google Test's multi-threading constructs.
+// To use it, write:
+//
+//   void ThreadFunc(int param) { /* Do things with param */ }
+//   Notification thread_can_start;
+//   ...
+//   // The thread_can_start parameter is optional; you can supply NULL.
+//   ThreadWithParam<int> thread(&ThreadFunc, 5, &thread_can_start);
+//   thread_can_start.Notify();
+//
+// These classes are only for testing Google Test's own constructs. Do
+// not use them in user tests, either directly or indirectly.
+template <typename T>
+class ThreadWithParam : public ThreadWithParamBase {
+ public:
+  typedef void (*UserThreadFunc)(T);
 
-  void AssertHeld();
+  ThreadWithParam(
+      UserThreadFunc func, T param, Notification* thread_can_start)
+      : func_(func),
+        param_(param),
+        thread_can_start_(thread_can_start),
+        finished_(false) {
+    ThreadWithParamBase* const base = this;
+    // The thread can be created only after all fields except thread_
+    // have been initialized.
+    GTEST_CHECK_POSIX_SUCCESS_(
+        pthread_create(&thread_, 0, &ThreadFuncWithCLinkage, base));
+  }
+  ~ThreadWithParam() { Join(); }
+
+  void Join() {
+    if (!finished_) {
+      GTEST_CHECK_POSIX_SUCCESS_(pthread_join(thread_, 0));
+      finished_ = true;
+    }
+  }
+
+  virtual void Run() {
+    if (thread_can_start_ != NULL)
+      thread_can_start_->WaitForNotification();
+    func_(param_);
+  }
 
  private:
-  friend class GTestMutexLock;
+  const UserThreadFunc func_;  // User-supplied thread function.
+  const T param_;  // User-supplied parameter to the thread function.
+  // When non-NULL, used to block execution until the controller thread
+  // notifies.
+  Notification* const thread_can_start_;
+  bool finished_;  // true iff we know that the thread function has finished.
+  pthread_t thread_;  // The native thread object.
 
-  void Lock();
-  void Unlock();
+  GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadWithParam);
+};
 
-  MutexImpl& impl();
+// gtest-port.h guarantees to #include <pthread.h> when GTEST_HAS_PTHREAD is
+// true.
+#include <pthread.h>
 
-  enum {
-    StaticMutex = 0,
-    NormalMutex = 1
-  } type_;
-  MutexImpl*    impl_;
+// MutexBase and Mutex implement mutex on pthreads-based platforms. They
+// are used in conjunction with class MutexLock:
+//
+//   Mutex mutex;
+//   ...
+//   MutexLock lock(&mutex);  // Acquires the mutex and releases it at the end
+//                            // of the current scope.
+//
+// MutexBase implements behavior for both statically and dynamically
+// allocated mutexes.  Do not use MutexBase directly.  Instead, write
+// the following to define a static mutex:
+//
+//   GTEST_DEFINE_STATIC_MUTEX_(g_some_mutex);
+//
+// You can forward declare a static mutex like this:
+//
+//   GTEST_DECLARE_STATIC_MUTEX_(g_some_mutex);
+//
+// To create a dynamic mutex, just define an object of type Mutex.
+class MutexBase {
+ public:
+  // Acquires this mutex.
+  void Lock() {
+    GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_lock(&mutex_));
+    owner_ = pthread_self();
+  }
+
+  // Releases this mutex.
+  void Unlock() {
+    // We don't protect writing to owner_ here, as it's the caller's
+    // responsibility to ensure that the current thread holds the
+    // mutex when this is called.
+    owner_ = 0;
+    GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_unlock(&mutex_));
+  }
+
+  // Does nothing if the current thread holds the mutex. Otherwise, crashes
+  // with high probability.
+  void AssertHeld() const {
+    GTEST_CHECK_(owner_ == pthread_self())
+        << "The current thread is not holding the mutex @" << this;
+  }
+
+  // A static mutex may be used before main() is entered.  It may even
+  // be used before the dynamic initialization stage.  Therefore we
+  // must be able to initialize a static mutex object at link time.
+  // This means MutexBase has to be a POD and its member variables
+  // have to be public.
+ public:
+  pthread_mutex_t mutex_;  // The underlying pthread mutex.
+  pthread_t owner_;  // The thread holding the mutex; 0 means no one holds it.
+};
+
+// Forward-declares a static mutex.
+#define GTEST_DECLARE_STATIC_MUTEX_(mutex) \
+    extern ::testing::internal::MutexBase mutex
+
+// Defines and statically (i.e. at link time) initializes a static mutex.
+#define GTEST_DEFINE_STATIC_MUTEX_(mutex) \
+    ::testing::internal::MutexBase mutex = { PTHREAD_MUTEX_INITIALIZER, 0 }
+
+// The Mutex class can only be used for mutexes created at runtime. It
+// shares its API with MutexBase otherwise.
+class Mutex : public MutexBase {
+ public:
+  Mutex() {
+    GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_init(&mutex_, NULL));
+    owner_ = 0;
+  }
+  ~Mutex() {
+    GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_destroy(&mutex_));
+  }
 
+ private:
   GTEST_DISALLOW_COPY_AND_ASSIGN_(Mutex);
 };
 
-// We cannot call it MutexLock directly as the ctor declaration would
+// We cannot name this class MutexLock as the ctor declaration would
 // conflict with a macro named MutexLock, which is defined on some
 // platforms.  Hence the typedef trick below.
 class GTestMutexLock {
  public:
-  explicit GTestMutexLock(Mutex* mutex) : mutex_(mutex) { mutex_->Lock(); }
+  explicit GTestMutexLock(MutexBase* mutex)
+      : mutex_(mutex) { mutex_->Lock(); }
+
   ~GTestMutexLock() { mutex_->Unlock(); }
+
  private:
+  MutexBase* const mutex_;
+
   GTEST_DISALLOW_COPY_AND_ASSIGN_(GTestMutexLock);
-  Mutex* mutex_;
 };
 
 typedef GTestMutexLock MutexLock;
 
-class ThreadLocalPointerImpl;
-class ThreadLocalPointer {
- private:
-  template <typename T>
-  friend class ThreadLocal;
+// Helpers for ThreadLocal.
 
-  ThreadLocalPointer(void (*deleteFunction)(void*));
-  ~ThreadLocalPointer();
-
-  void* get();
-  void set(void* value);
-
-  GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadLocalPointer);
-
-  ThreadLocalPointerImpl* impl_;
+// pthread_key_create() requires DeleteThreadLocalValue() to have
+// C-linkage.  Therefore it cannot be templatized to access
+// ThreadLocal<T>.  Hence the need for class
+// ThreadLocalValueHolderBase.
+class ThreadLocalValueHolderBase {
+ public:
+  virtual ~ThreadLocalValueHolderBase() {}
 };
 
-// The default ThreadLocal constructor requires T to have a default constructor.
-// The single param constructor requires a copy contructor from T.
-// A per-thread object managed by a ThreadLocal instance for a thread will exist
-// at least for the runtime of the thread, unless the ThreadLocal managing is
-// not alive. The managed object will exist no longer then the ThreadLocal
-// object managing it.
+// Called by pthread to delete thread-local data stored by
+// pthread_setspecific().
+extern "C" inline void DeleteThreadLocalValue(void* value_holder) {
+  delete static_cast<ThreadLocalValueHolderBase*>(value_holder);
+}
+
+// Implements thread-local storage on pthreads-based systems.
+//
+//   // Thread 1
+//   ThreadLocal<int> tl(100);  // 100 is the default value for each thread.
+//
+//   // Thread 2
+//   tl.set(150);  // Changes the value for thread 2 only.
+//   EXPECT_EQ(150, tl.get());
+//
+//   // Thread 1
+//   EXPECT_EQ(100, tl.get());  // In thread 1, tl has the original value.
+//   tl.set(200);
+//   EXPECT_EQ(200, tl.get());
+//
+// The template type argument T must have a public copy constructor.
+// In addition, the default ThreadLocal constructor requires T to have
+// a public default constructor.
+//
+// An object managed for a thread by a ThreadLocal instance is deleted
+// when the thread exits.  Or, if the ThreadLocal instance dies in
+// that thread, when the ThreadLocal dies.  It's the user's
+// responsibility to ensure that all other threads using a ThreadLocal
+// have exited when it dies, or the per-thread objects for those
+// threads will not be deleted.
+//
+// Google Test only uses global ThreadLocal objects.  That means they
+// will die after main() has returned.  Therefore, no per-thread
+// object managed by Google Test will be leaked as long as all threads
+// using Google Test have exited when main() returns.
 template <typename T>
 class ThreadLocal {
  public:
-  ThreadLocal() : impl_(&ThreadLocal<T>::deletePointer), default_(),
-    copyOrConstuct_(constructNewInstance) {}
-  explicit ThreadLocal(const T& value) : impl_(&ThreadLocal<T>::deletePointer),
-    default_(value), copyOrConstuct_(copyConstructNewInstance) {}
+  ThreadLocal() : key_(CreateKey()),
+                  default_() {}
+  explicit ThreadLocal(const T& value) : key_(CreateKey()),
+                                         default_(value) {}
+
+  ~ThreadLocal() {
+    // Destroys the managed object for the current thread, if any.
+    DeleteThreadLocalValue(pthread_getspecific(key_));
+
+    // Releases resources associated with the key.  This will *not*
+    // delete managed objects for other threads.
+    GTEST_CHECK_POSIX_SUCCESS_(pthread_key_delete(key_));
+  }
 
-  T* pointer() { return getOrCreatePointer(); }
-  const T* pointer() const { return getOrCreatePointer(); }
+  T* pointer() { return GetOrCreateValue(); }
+  const T* pointer() const { return GetOrCreateValue(); }
   const T& get() const { return *pointer(); }
   void set(const T& value) { *pointer() = value; }
+
  private:
-  T* createData() const { return copyOrConstuct_(default_); }
-  T* getOrCreatePointer() const {
-    void* data = impl_.get();
-    if (!data) {
-      data = static_cast<void*> (createData());
-      impl_.set(data);
-    }
-    return reinterpret_cast<T*> (data);
+  // Holds a value of type T.
+  class ValueHolder : public ThreadLocalValueHolderBase {
+   public:
+    explicit ValueHolder(const T& value) : value_(value) {}
+
+    T* pointer() { return &value_; }
+
+   private:
+    T value_;
+    GTEST_DISALLOW_COPY_AND_ASSIGN_(ValueHolder);
+  };
+
+  static pthread_key_t CreateKey() {
+    pthread_key_t key;
+    // When a thread exits, DeleteThreadLocalValue() will be called on
+    // the object managed for that thread.
+    GTEST_CHECK_POSIX_SUCCESS_(
+        pthread_key_create(&key, &DeleteThreadLocalValue));
+    return key;
   }
-  static void deletePointer(void* value) {
-    delete reinterpret_cast<T*> (value);
+
+  T* GetOrCreateValue() const {
+    ThreadLocalValueHolderBase* const holder =
+        static_cast<ThreadLocalValueHolderBase*>(pthread_getspecific(key_));
+    if (holder != NULL) {
+      return CheckedDowncastToActualType<ValueHolder>(holder)->pointer();
+    }
+
+    ValueHolder* const new_holder = new ValueHolder(default_);
+    ThreadLocalValueHolderBase* const holder_base = new_holder;
+    GTEST_CHECK_POSIX_SUCCESS_(pthread_setspecific(key_, holder_base));
+    return new_holder->pointer();
   }
-  static T* constructNewInstance(const T&) { return new T(); }
-  static T* copyConstructNewInstance(const T& t) { return new T(t); }
 
-  mutable ThreadLocalPointer impl_;
-  const T default_;
-  T* (*copyOrConstuct_)(const T& default_);
+  // A key pthreads uses for looking up per-thread values.
+  const pthread_key_t key_;
+  const T default_;  // The default value for each thread.
+
+  GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadLocal);
 };
 
 #define GTEST_IS_THREADSAFE 1
+
 #else  // GTEST_HAS_PTHREAD
+
 // A dummy implementation of synchronization primitives (mutex, lock,
 // and thread-local variable).  Necessary for compiling Google Test where
 // mutex is not supported - using Google Test in multiple threads is not
@@ -850,14 +1173,14 @@ class ThreadLocal {
 class Mutex {
  public:
   Mutex() {}
-  explicit Mutex(int /*unused*/) {}
   void AssertHeld() const {}
-  enum { NO_CONSTRUCTOR_NEEDED_FOR_STATIC_MUTEX = 0 };
 };
 
-// We cannot call it MutexLock directly as the ctor declaration would
-// conflict with a macro named MutexLock, which is defined on some
-// platforms.  Hence the typedef trick below.
+#define GTEST_DECLARE_STATIC_MUTEX_(mutex) \
+  extern ::testing::internal::Mutex mutex
+
+#define GTEST_DEFINE_STATIC_MUTEX_(mutex) ::testing::internal::Mutex mutex
+
 class GTestMutexLock {
  public:
   explicit GTestMutexLock(Mutex*) {}  // NOLINT
@@ -881,28 +1204,34 @@ class ThreadLocal {
 // The above synchronization primitives have dummy implementations.
 // Therefore Google Test is not thread-safe.
 #define GTEST_IS_THREADSAFE 0
+
 #endif  // GTEST_HAS_PTHREAD
 
 // Returns the number of threads running in the process, or 0 to indicate that
 // we cannot detect it.
-size_t GetThreadCount();
-
-#if defined(__SYMBIAN32__) || defined(__IBMCPP__)
+GTEST_API_ size_t GetThreadCount();
 
 // Passing non-POD classes through ellipsis (...) crashes the ARM
-// compiler.  The Nokia Symbian and the IBM XL C/C++ compiler try to
-// instantiate a copy constructor for objects passed through ellipsis
-// (...), failing for uncopyable objects.  We define this to indicate
-// the fact.
-#define GTEST_ELLIPSIS_NEEDS_COPY_ 1
+// compiler and generates a warning in Sun Studio.  The Nokia Symbian
+// and the IBM XL C/C++ compiler try to instantiate a copy constructor
+// for objects passed through ellipsis (...), failing for uncopyable
+// objects.  We define this to ensure that only POD is passed through
+// ellipsis on these systems.
+#if defined(__SYMBIAN32__) || defined(__IBMCPP__) || defined(__SUNPRO_CC)
+// We lose support for NULL detection where the compiler doesn't like
+// passing non-POD classes through ellipsis (...).
+#define GTEST_ELLIPSIS_NEEDS_POD_ 1
+#else
+#define GTEST_CAN_COMPARE_NULL 1
+#endif
 
 // The Nokia Symbian and IBM XL C/C++ compilers cannot decide between
 // const T& and const T* in a function template.  These compilers
 // _can_ decide between class template specializations for T and T*,
 // so a tr1::type_traits-like is_pointer works.
+#if defined(__SYMBIAN32__) || defined(__IBMCPP__)
 #define GTEST_NEEDS_IS_POINTER_ 1
-
-#endif  // defined(__SYMBIAN32__) || defined(__IBMCPP__)
+#endif
 
 template <bool bool_value>
 struct bool_constant {
@@ -922,10 +1251,12 @@ struct is_pointer<T*> : public true_type
 
 #if GTEST_OS_WINDOWS
 #define GTEST_PATH_SEP_ "\\"
+#define GTEST_HAS_ALT_PATH_SEP_ 1
 // The biggest signed integer type the compiler supports.
 typedef __int64 BiggestInt;
 #else
 #define GTEST_PATH_SEP_ "/"
+#define GTEST_HAS_ALT_PATH_SEP_ 0
 typedef long long BiggestInt;  // NOLINT
 #endif  // GTEST_OS_WINDOWS
 
@@ -1033,7 +1364,7 @@ inline const char* GetEnv(const char* na
 #if GTEST_OS_WINDOWS_MOBILE
   // We are on Windows CE, which has no environment variables.
   return NULL;
-#elif defined(__BORLANDC__)
+#elif defined(__BORLANDC__) || defined(__SunOS_5_8) || defined(__SunOS_5_9)
   // Environment variables which we programmatically clear will be set to the
   // empty string rather than unset (NULL).  Handle that case.
   const char* const env = getenv(name);
@@ -1128,44 +1459,23 @@ typedef TypeWithSize<8>::Int TimeInMilli
 
 // Utilities for command line flags and environment variables.
 
-// INTERNAL IMPLEMENTATION - DO NOT USE.
-//
-// GTEST_CHECK_ is an all-mode assert. It aborts the program if the condition
-// is not satisfied.
-//  Synopsys:
-//    GTEST_CHECK_(boolean_condition);
-//     or
-//    GTEST_CHECK_(boolean_condition) << "Additional message";
-//
-//    This checks the condition and if the condition is not satisfied
-//    it prints message about the condition violation, including the
-//    condition itself, plus additional message streamed into it, if any,
-//    and then it aborts the program. It aborts the program irrespective of
-//    whether it is built in the debug mode or not.
-#define GTEST_CHECK_(condition) \
-    GTEST_AMBIGUOUS_ELSE_BLOCKER_ \
-    if (::testing::internal::IsTrue(condition)) \
-      ; \
-    else \
-      GTEST_LOG_(FATAL) << "Condition " #condition " failed. "
-
 // Macro for referencing flags.
 #define GTEST_FLAG(name) FLAGS_gtest_##name
 
 // Macros for declaring flags.
-#define GTEST_DECLARE_bool_(name) extern bool GTEST_FLAG(name)
+#define GTEST_DECLARE_bool_(name) GTEST_API_ extern bool GTEST_FLAG(name)
 #define GTEST_DECLARE_int32_(name) \
-    extern ::testing::internal::Int32 GTEST_FLAG(name)
+    GTEST_API_ extern ::testing::internal::Int32 GTEST_FLAG(name)
 #define GTEST_DECLARE_string_(name) \
-    extern ::testing::internal::String GTEST_FLAG(name)
+    GTEST_API_ extern ::testing::internal::String GTEST_FLAG(name)
 
 // Macros for defining flags.
 #define GTEST_DEFINE_bool_(name, default_val, doc) \
-    bool GTEST_FLAG(name) = (default_val)
+    GTEST_API_ bool GTEST_FLAG(name) = (default_val)
 #define GTEST_DEFINE_int32_(name, default_val, doc) \
-    ::testing::internal::Int32 GTEST_FLAG(name) = (default_val)
+    GTEST_API_ ::testing::internal::Int32 GTEST_FLAG(name) = (default_val)
 #define GTEST_DEFINE_string_(name, default_val, doc) \
-    ::testing::internal::String GTEST_FLAG(name) = (default_val)
+    GTEST_API_ ::testing::internal::String GTEST_FLAG(name) = (default_val)
 
 // Parses 'str' for a 32-bit signed integer.  If successful, writes the result
 // to *value and returns true; otherwise leaves *value unchanged and returns
@@ -1178,7 +1488,7 @@ bool ParseInt32(const Message& src_text,
 // Parses a bool/Int32/string from the environment variable
 // corresponding to the given Google Test flag.
 bool BoolFromGTestEnv(const char* flag, bool default_val);
-Int32 Int32FromGTestEnv(const char* flag, Int32 default_val);
+GTEST_API_ Int32 Int32FromGTestEnv(const char* flag, Int32 default_val);
 const char* StringFromGTestEnv(const char* flag, const char* default_val);
 
 }  // namespace internal

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-string.h (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-string.h)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-string.h?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-string.h&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-string.h&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-string.h (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-string.h Sun Jun  5 05:32:17 2011
@@ -41,26 +41,28 @@
 #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_
 #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_
 
+#ifdef __BORLANDC__
+// string.h is not guaranteed to provide strcpy on C++ Builder.
+#include <mem.h>
+#endif
+
 #include <string.h>
 #include <gtest/internal/gtest-port.h>
 
-#if GTEST_HAS_GLOBAL_STRING || GTEST_HAS_STD_STRING
 #include <string>
-#endif  // GTEST_HAS_GLOBAL_STRING || GTEST_HAS_STD_STRING
 
 namespace testing {
 namespace internal {
 
 // String - a UTF-8 string class.
 //
-// We cannot use std::string as Microsoft's STL implementation in
-// Visual C++ 7.1 has problems when exception is disabled.  There is a
-// hack to work around this, but we've seen cases where the hack fails
-// to work.
+// For historic reasons, we don't use std::string.
 //
-// Also, String is different from std::string in that it can represent
-// both NULL and the empty string, while std::string cannot represent
-// NULL.
+// TODO(wan@google.com): replace this class with std::string or
+// implement it in terms of the latter.
+//
+// Note that String can represent both NULL and the empty string,
+// while std::string cannot represent NULL.
 //
 // NULL and the empty string are considered different.  NULL is less
 // than anything (including the empty string) except itself.
@@ -76,7 +78,7 @@ namespace internal {
 //
 // In order to make the representation efficient, the d'tor of String
 // is not virtual.  Therefore DO NOT INHERIT FROM String.
-class String {
+class GTEST_API_ String {
  public:
   // Static utility methods
 
@@ -190,12 +192,12 @@ class String {
   String() : c_str_(NULL), length_(0) {}
 
   // Constructs a String by cloning a 0-terminated C string.
-  String(const char* c_str) {  // NOLINT
-    if (c_str == NULL) {
+  String(const char* a_c_str) {  // NOLINT
+    if (a_c_str == NULL) {
       c_str_ = NULL;
       length_ = 0;
     } else {
-      ConstructNonNull(c_str, strlen(c_str));
+      ConstructNonNull(a_c_str, strlen(a_c_str));
     }
   }
 
@@ -203,8 +205,8 @@ class String {
   // buffer.  E.g. String("hello", 3) creates the string "hel",
   // String("a\0bcd", 4) creates "a\0bc", String(NULL, 0) creates "",
   // and String(NULL, 1) results in access violation.
-  String(const char* buffer, size_t length) {
-    ConstructNonNull(buffer, length);
+  String(const char* buffer, size_t a_length) {
+    ConstructNonNull(buffer, a_length);
   }
 
   // The copy c'tor creates a new copy of the string.  The two
@@ -221,13 +223,11 @@ class String {
   // Converting a ::std::string or ::string containing an embedded NUL
   // character to a String will result in the prefix up to the first
   // NUL character.
-#if GTEST_HAS_STD_STRING
   String(const ::std::string& str) {
     ConstructNonNull(str.c_str(), str.length());
   }
 
   operator ::std::string() const { return ::std::string(c_str(), length()); }
-#endif  // GTEST_HAS_STD_STRING
 
 #if GTEST_HAS_GLOBAL_STRING
   String(const ::string& str) {
@@ -247,7 +247,7 @@ class String {
 
   // Returns true iff this String equals the given C string.  A NULL
   // string and a non-NULL string are considered not equal.
-  bool operator==(const char* c_str) const { return Compare(c_str) == 0; }
+  bool operator==(const char* a_c_str) const { return Compare(a_c_str) == 0; }
 
   // Returns true iff this String is less than the given String.  A
   // NULL string is considered less than "".
@@ -255,7 +255,7 @@ class String {
 
   // Returns true iff this String doesn't equal the given C string.  A NULL
   // string and a non-NULL string are considered not equal.
-  bool operator!=(const char* c_str) const { return !(*this == c_str); }
+  bool operator!=(const char* a_c_str) const { return !(*this == a_c_str); }
 
   // Returns true iff this String ends with the given suffix.  *Any*
   // String is considered to end with a NULL or empty suffix.
@@ -275,7 +275,9 @@ class String {
   const char* c_str() const { return c_str_; }
 
   // Assigns a C string to this object.  Self-assignment works.
-  const String& operator=(const char* c_str) { return *this = String(c_str); }
+  const String& operator=(const char* a_c_str) {
+    return *this = String(a_c_str);
+  }
 
   // Assigns a String object to this object.  Self-assignment works.
   const String& operator=(const String& rhs) {
@@ -297,12 +299,12 @@ class String {
   // function can only be called when data_ has not been allocated.
   // ConstructNonNull(NULL, 0) results in an empty string ("").
   // ConstructNonNull(NULL, non_zero) is undefined behavior.
-  void ConstructNonNull(const char* buffer, size_t length) {
-    char* const str = new char[length + 1];
-    memcpy(str, buffer, length);
-    str[length] = '\0';
+  void ConstructNonNull(const char* buffer, size_t a_length) {
+    char* const str = new char[a_length + 1];
+    memcpy(str, buffer, a_length);
+    str[a_length] = '\0';
     c_str_ = str;
-    length_ = length;
+    length_ = a_length;
   }
 
   const char* c_str_;
@@ -329,7 +331,7 @@ inline ::std::ostream& operator<<(::std:
 
 // Gets the content of the StrStream's buffer as a String.  Each '\0'
 // character in the buffer is replaced with "\\0".
-String StrStreamToString(StrStream* stream);
+GTEST_API_ String StrStreamToString(StrStream* stream);
 
 // Converts a streamable value to a String.  A NULL pointer is
 // converted to "(null)".  When the input value is a ::string,

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-tuple.h (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-tuple.h)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-tuple.h?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-tuple.h&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-tuple.h&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-tuple.h (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-tuple.h Sun Jun  5 05:32:17 2011
@@ -42,7 +42,8 @@
 // tuple template as a friend (it complains that tuple is redefined).  This
 // hack bypasses the bug by declaring the members that should otherwise be
 // private as public.
-#if defined(__SYMBIAN32__)
+// Sun Studio versions < 12 also have the above bug.
+#if defined(__SYMBIAN32__) || (defined(__SUNPRO_CC) && __SUNPRO_CC < 0x590)
 #define GTEST_DECLARE_TUPLE_AS_FRIEND_ public:
 #else
 #define GTEST_DECLARE_TUPLE_AS_FRIEND_ \
@@ -183,7 +184,7 @@ class GTEST_1_TUPLE_(T) {
  public:
   template <int k> friend class gtest_internal::Get;
 
-  tuple() {}
+  tuple() : f0_() {}
 
   explicit tuple(GTEST_BY_REF_(T0) f0) : f0_(f0) {}
 
@@ -215,7 +216,7 @@ class GTEST_2_TUPLE_(T) {
  public:
   template <int k> friend class gtest_internal::Get;
 
-  tuple() {}
+  tuple() : f0_(), f1_() {}
 
   explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1) : f0_(f0),
       f1_(f1) {}
@@ -258,7 +259,7 @@ class GTEST_3_TUPLE_(T) {
  public:
   template <int k> friend class gtest_internal::Get;
 
-  tuple() {}
+  tuple() : f0_(), f1_(), f2_() {}
 
   explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
       GTEST_BY_REF_(T2) f2) : f0_(f0), f1_(f1), f2_(f2) {}
@@ -295,7 +296,7 @@ class GTEST_4_TUPLE_(T) {
  public:
   template <int k> friend class gtest_internal::Get;
 
-  tuple() {}
+  tuple() : f0_(), f1_(), f2_(), f3_() {}
 
   explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
       GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3) : f0_(f0), f1_(f1), f2_(f2),
@@ -336,7 +337,7 @@ class GTEST_5_TUPLE_(T) {
  public:
   template <int k> friend class gtest_internal::Get;
 
-  tuple() {}
+  tuple() : f0_(), f1_(), f2_(), f3_(), f4_() {}
 
   explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
       GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3,
@@ -380,7 +381,7 @@ class GTEST_6_TUPLE_(T) {
  public:
   template <int k> friend class gtest_internal::Get;
 
-  tuple() {}
+  tuple() : f0_(), f1_(), f2_(), f3_(), f4_(), f5_() {}
 
   explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
       GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4,
@@ -427,7 +428,7 @@ class GTEST_7_TUPLE_(T) {
  public:
   template <int k> friend class gtest_internal::Get;
 
-  tuple() {}
+  tuple() : f0_(), f1_(), f2_(), f3_(), f4_(), f5_(), f6_() {}
 
   explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
       GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4,
@@ -476,7 +477,7 @@ class GTEST_8_TUPLE_(T) {
  public:
   template <int k> friend class gtest_internal::Get;
 
-  tuple() {}
+  tuple() : f0_(), f1_(), f2_(), f3_(), f4_(), f5_(), f6_(), f7_() {}
 
   explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
       GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4,
@@ -528,7 +529,7 @@ class GTEST_9_TUPLE_(T) {
  public:
   template <int k> friend class gtest_internal::Get;
 
-  tuple() {}
+  tuple() : f0_(), f1_(), f2_(), f3_(), f4_(), f5_(), f6_(), f7_(), f8_() {}
 
   explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
       GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4,
@@ -582,7 +583,8 @@ class tuple {
  public:
   template <int k> friend class gtest_internal::Get;
 
-  tuple() {}
+  tuple() : f0_(), f1_(), f2_(), f3_(), f4_(), f5_(), f6_(), f7_(), f8_(),
+      f9_() {}
 
   explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
       GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4,

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-tuple.h.pump (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-tuple.h.pump)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-tuple.h.pump?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-tuple.h.pump&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-tuple.h.pump&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-tuple.h.pump (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-tuple.h.pump Sun Jun  5 05:32:17 2011
@@ -39,11 +39,12 @@ $$ This meta comment fixes auto-indentat
 
 #include <utility>  // For ::std::pair.
 
-// The compiler used in Symbian 5th Edition (__S60_50__) has a bug
-// that prevents us from declaring the tuple template as a friend (it
-// complains that tuple is redefined).  This hack bypasses the bug by
-// declaring the members that should otherwise be private as public.
-#if defined(__SYMBIAN32__) && __S60_50__
+// The compiler used in Symbian has a bug that prevents us from declaring the
+// tuple template as a friend (it complains that tuple is redefined).  This
+// hack bypasses the bug by declaring the members that should otherwise be
+// private as public.
+// Sun Studio versions < 12 also have the above bug.
+#if defined(__SYMBIAN32__) || (defined(__SUNPRO_CC) && __SUNPRO_CC < 0x590)
 #define GTEST_DECLARE_TUPLE_AS_FRIEND_ public:
 #else
 #define GTEST_DECLARE_TUPLE_AS_FRIEND_ \
@@ -140,7 +141,7 @@ class $if k < n [[GTEST_$(k)_TUPLE_(T)]]
  public:
   template <int k> friend class gtest_internal::Get;
 
-  tuple() {}
+  tuple() : $for m, [[f$(m)_()]] {}
 
   explicit tuple($for m, [[GTEST_BY_REF_(T$m) f$m]]) : [[]]
 $for m, [[f$(m)_(f$m)]] {}

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-type-util.h (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-type-util.h)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-type-util.h?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-type-util.h&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-type-util.h&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-type-util.h (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-type-util.h Sun Jun  5 05:32:17 2011
@@ -1,4 +1,6 @@
-// This file was GENERATED by a script.  DO NOT EDIT BY HAND!!!
+// This file was GENERATED by command:
+//     pump.py gtest-type-util.h.pump
+// DO NOT EDIT BY HAND!!!
 
 // Copyright 2008 Google Inc.
 // All Rights Reserved.
@@ -53,8 +55,6 @@
 #include <cxxabi.h>
 #endif  // __GLIBCXX__
 
-#include <typeinfo>
-
 namespace testing {
 namespace internal {
 

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-type-util.h.pump (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-type-util.h.pump)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-type-util.h.pump?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-type-util.h.pump&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-type-util.h.pump&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/include/gtest/internal/gtest-type-util.h.pump (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/include/gtest/internal/gtest-type-util.h.pump Sun Jun  5 05:32:17 2011
@@ -53,8 +53,6 @@ $var n = 50  $$ Maximum length of type l
 #include <cxxabi.h>
 #endif  // __GLIBCXX__
 
-#include <typeinfo>
-
 namespace testing {
 namespace internal {
 

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/m4/acx_pthread.m4 (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/m4/acx_pthread.m4)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/m4/acx_pthread.m4?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/m4/acx_pthread.m4&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/m4/acx_pthread.m4&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/m4/gtest.m4 (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/m4/gtest.m4)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/m4/gtest.m4?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/m4/gtest.m4&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/m4/gtest.m4&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest-md.sln (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest-md.sln)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest-md.sln?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest-md.sln&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest-md.sln&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest-md.vcproj (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest-md.vcproj)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest-md.vcproj?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest-md.vcproj&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest-md.vcproj&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest.sln (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest.sln)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest.sln?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest.sln&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest.sln&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest.vcproj (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest.vcproj)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest.vcproj?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest.vcproj&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest.vcproj&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_main-md.vcproj (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_main-md.vcproj)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_main-md.vcproj?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_main-md.vcproj&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_main-md.vcproj&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_main.vcproj (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_main.vcproj)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_main.vcproj?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_main.vcproj&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_main.vcproj&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_prod_test-md.vcproj (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_prod_test-md.vcproj)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_prod_test-md.vcproj?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_prod_test-md.vcproj&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_prod_test-md.vcproj&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_prod_test.vcproj (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_prod_test.vcproj)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_prod_test.vcproj?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_prod_test.vcproj&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_prod_test.vcproj&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_unittest-md.vcproj (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_unittest-md.vcproj)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_unittest-md.vcproj?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_unittest-md.vcproj&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_unittest-md.vcproj&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_unittest.vcproj (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_unittest.vcproj)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_unittest.vcproj?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/msvc/gtest_unittest.vcproj&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/msvc/gtest_unittest.vcproj&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/prime_tables.h (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/prime_tables.h)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/prime_tables.h?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/prime_tables.h&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/prime_tables.h&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/prime_tables.h (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/prime_tables.h Sun Jun  5 05:32:17 2011
@@ -115,6 +115,9 @@ class PreCalculatedPrimeTable : public P
 
   const int is_prime_size_;
   bool* const is_prime_;
+
+  // Disables compiler warning "assignment operator could not be generated."
+  void operator=(const PreCalculatedPrimeTable& rhs);
 };
 
 #endif  // GTEST_SAMPLES_PRIME_TABLES_H_

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample1.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample1.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample1.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample1.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample1.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample1.h (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample1.h)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample1.h?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample1.h&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample1.h&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample10_unittest.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample10_unittest.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample10_unittest.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample10_unittest.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample10_unittest.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample10_unittest.cc (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample10_unittest.cc Sun Jun  5 05:32:17 2011
@@ -58,7 +58,7 @@ class Water {
     return malloc(allocation_size);
   }
 
-  void operator delete(void* block, size_t allocation_size) {
+  void operator delete(void* block, size_t /* allocation_size */) {
     allocated_--;
     free(block);
   }
@@ -78,12 +78,12 @@ int Water::allocated_ = 0;
 class LeakChecker : public EmptyTestEventListener {
  private:
   // Called before a test starts.
-  virtual void OnTestStart(const TestInfo& test_info) {
+  virtual void OnTestStart(const TestInfo& /* test_info */) {
     initially_allocated_ = Water::allocated();
   }
 
   // Called after a test ends.
-  virtual void OnTestEnd(const TestInfo& test_info) {
+  virtual void OnTestEnd(const TestInfo& /* test_info */) {
     int difference = Water::allocated() - initially_allocated_;
 
     // You can generate a failure in any event handler except

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample1_unittest.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample1_unittest.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample1_unittest.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample1_unittest.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample1_unittest.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample2.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample2.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample2.cc (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2.cc Sun Jun  5 05:32:17 2011
@@ -36,21 +36,21 @@
 #include <string.h>
 
 // Clones a 0-terminated C string, allocating memory using new.
-const char * MyString::CloneCString(const char * c_string) {
-  if (c_string == NULL) return NULL;
+const char* MyString::CloneCString(const char* a_c_string) {
+  if (a_c_string == NULL) return NULL;
 
-  const size_t len = strlen(c_string);
-  char * const clone = new char[ len + 1 ];
-  memcpy(clone, c_string, len + 1);
+  const size_t len = strlen(a_c_string);
+  char* const clone = new char[ len + 1 ];
+  memcpy(clone, a_c_string, len + 1);
 
   return clone;
 }
 
 // Sets the 0-terminated C string this MyString object
 // represents.
-void MyString::Set(const char * c_string) {
+void MyString::Set(const char* a_c_string) {
   // Makes sure this works when c_string == c_string_
-  const char * const temp = MyString::CloneCString(c_string);
+  const char* const temp = MyString::CloneCString(a_c_string);
   delete[] c_string_;
   c_string_ = temp;
 }

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2.h (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample2.h)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2.h?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2.h&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample2.h&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample2.h (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2.h Sun Jun  5 05:32:17 2011
@@ -40,13 +40,13 @@
 // A simple string class.
 class MyString {
  private:
-  const char * c_string_;
+  const char* c_string_;
   const MyString& operator=(const MyString& rhs);
 
  public:
 
   // Clones a 0-terminated C string, allocating memory using new.
-  static const char * CloneCString(const char * c_string);
+  static const char* CloneCString(const char* a_c_string);
 
   ////////////////////////////////////////////////////////////
   //
@@ -56,8 +56,8 @@ class MyString {
   MyString() : c_string_(NULL) {}
 
   // Constructs a MyString by cloning a 0-terminated C string.
-  explicit MyString(const char * c_string) : c_string_(NULL) {
-    Set(c_string);
+  explicit MyString(const char* a_c_string) : c_string_(NULL) {
+    Set(a_c_string);
   }
 
   // Copy c'tor
@@ -72,14 +72,14 @@ class MyString {
   ~MyString() { delete[] c_string_; }
 
   // Gets the 0-terminated C string this MyString object represents.
-  const char * c_string() const { return c_string_; }
+  const char* c_string() const { return c_string_; }
 
   size_t Length() const {
     return c_string_ == NULL ? 0 : strlen(c_string_);
   }
 
   // Sets the 0-terminated C string this MyString object represents.
-  void Set(const char * c_string);
+  void Set(const char* c_string);
 };
 
 

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2_unittest.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample2_unittest.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2_unittest.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2_unittest.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample2_unittest.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample2_unittest.cc (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample2_unittest.cc Sun Jun  5 05:32:17 2011
@@ -71,7 +71,7 @@ TEST(MyString, DefaultConstructor) {
   // </TechnicalDetails>
   EXPECT_STREQ(NULL, s.c_string());
 
-  EXPECT_EQ(0, s.Length());
+  EXPECT_EQ(0u, s.Length());
 }
 
 const char kHelloString[] = "Hello, world!";

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample3-inl.h (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample3-inl.h)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample3-inl.h?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample3-inl.h&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample3-inl.h&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample3-inl.h (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample3-inl.h Sun Jun  5 05:32:17 2011
@@ -51,23 +51,23 @@ class QueueNode {
 
  public:
   // Gets the element in this node.
-  const E & element() const { return element_; }
+  const E& element() const { return element_; }
 
   // Gets the next node in the queue.
-  QueueNode * next() { return next_; }
-  const QueueNode * next() const { return next_; }
+  QueueNode* next() { return next_; }
+  const QueueNode* next() const { return next_; }
 
  private:
   // Creates a node with a given element value.  The next pointer is
   // set to NULL.
-  QueueNode(const E & element) : element_(element), next_(NULL) {}
+  QueueNode(const E& an_element) : element_(an_element), next_(NULL) {}
 
   // We disable the default assignment operator and copy c'tor.
-  const QueueNode & operator = (const QueueNode &);
-  QueueNode(const QueueNode &);
+  const QueueNode& operator = (const QueueNode&);
+  QueueNode(const QueueNode&);
 
   E element_;
-  QueueNode * next_;
+  QueueNode* next_;
 };
 
 template <typename E>  // E is the element type.
@@ -84,8 +84,8 @@ public:
   void Clear() {
     if (size_ > 0) {
       // 1. Deletes every node.
-      QueueNode<E> * node = head_;
-      QueueNode<E> * next = node->next();
+      QueueNode<E>* node = head_;
+      QueueNode<E>* next = node->next();
       for (; ;) {
         delete node;
         node = next;
@@ -103,19 +103,19 @@ public:
   size_t Size() const { return size_; }
 
   // Gets the first element of the queue, or NULL if the queue is empty.
-  QueueNode<E> * Head() { return head_; }
-  const QueueNode<E> * Head() const { return head_; }
+  QueueNode<E>* Head() { return head_; }
+  const QueueNode<E>* Head() const { return head_; }
 
   // Gets the last element of the queue, or NULL if the queue is empty.
-  QueueNode<E> * Last() { return last_; }
-  const QueueNode<E> * Last() const { return last_; }
+  QueueNode<E>* Last() { return last_; }
+  const QueueNode<E>* Last() const { return last_; }
 
   // Adds an element to the end of the queue.  A copy of the element is
   // created using the copy constructor, and then stored in the queue.
   // Changes made to the element in the queue doesn't affect the source
   // object, and vice versa.
-  void Enqueue(const E & element) {
-    QueueNode<E> * new_node = new QueueNode<E>(element);
+  void Enqueue(const E& element) {
+    QueueNode<E>* new_node = new QueueNode<E>(element);
 
     if (size_ == 0) {
       head_ = last_ = new_node;
@@ -129,19 +129,19 @@ public:
 
   // Removes the head of the queue and returns it.  Returns NULL if
   // the queue is empty.
-  E * Dequeue() {
+  E* Dequeue() {
     if (size_ == 0) {
       return NULL;
     }
 
-    const QueueNode<E> * const old_head = head_;
+    const QueueNode<E>* const old_head = head_;
     head_ = head_->next_;
     size_--;
     if (size_ == 0) {
       last_ = NULL;
     }
 
-    E * element = new E(old_head->element());
+    E* element = new E(old_head->element());
     delete old_head;
 
     return element;
@@ -151,9 +151,9 @@ public:
   // returns the result in a new queue.  The original queue is not
   // affected.
   template <typename F>
-  Queue * Map(F function) const {
-    Queue * new_queue = new Queue();
-    for (const QueueNode<E> * node = head_; node != NULL; node = node->next_) {
+  Queue* Map(F function) const {
+    Queue* new_queue = new Queue();
+    for (const QueueNode<E>* node = head_; node != NULL; node = node->next_) {
       new_queue->Enqueue(function(node->element()));
     }
 
@@ -161,13 +161,13 @@ public:
   }
 
  private:
-  QueueNode<E> * head_;  // The first node of the queue.
-  QueueNode<E> * last_;  // The last node of the queue.
+  QueueNode<E>* head_;  // The first node of the queue.
+  QueueNode<E>* last_;  // The last node of the queue.
   size_t size_;  // The number of elements in the queue.
 
   // We disallow copying a queue.
-  Queue(const Queue &);
-  const Queue & operator = (const Queue &);
+  Queue(const Queue&);
+  const Queue& operator = (const Queue&);
  };
 
 #endif  // GTEST_SAMPLES_SAMPLE3_INL_H_

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample3_unittest.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample3_unittest.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample3_unittest.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample3_unittest.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample3_unittest.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample3_unittest.cc (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample3_unittest.cc Sun Jun  5 05:32:17 2011
@@ -122,7 +122,7 @@ class QueueTest : public testing::Test {
 // Tests the default c'tor.
 TEST_F(QueueTest, DefaultConstructor) {
   // You can access data in the test fixture here.
-  EXPECT_EQ(0, q0_.Size());
+  EXPECT_EQ(0u, q0_.Size());
 }
 
 // Tests Dequeue().
@@ -133,13 +133,13 @@ TEST_F(QueueTest, Dequeue) {
   n = q1_.Dequeue();
   ASSERT_TRUE(n != NULL);
   EXPECT_EQ(1, *n);
-  EXPECT_EQ(0, q1_.Size());
+  EXPECT_EQ(0u, q1_.Size());
   delete n;
 
   n = q2_.Dequeue();
   ASSERT_TRUE(n != NULL);
   EXPECT_EQ(2, *n);
-  EXPECT_EQ(1, q2_.Size());
+  EXPECT_EQ(1u, q2_.Size());
   delete n;
 }
 

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample4.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample4.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample4.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample4.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample4.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample4.h (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample4.h)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample4.h?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample4.h&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample4.h&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample4_unittest.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample4_unittest.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample4_unittest.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample4_unittest.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample4_unittest.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample5_unittest.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample5_unittest.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample5_unittest.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample5_unittest.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample5_unittest.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample5_unittest.cc (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample5_unittest.cc Sun Jun  5 05:32:17 2011
@@ -171,24 +171,24 @@ class QueueTest : public QuickTest {
 
 // Tests the default constructor.
 TEST_F(QueueTest, DefaultConstructor) {
-  EXPECT_EQ(0, q0_.Size());
+  EXPECT_EQ(0u, q0_.Size());
 }
 
 // Tests Dequeue().
 TEST_F(QueueTest, Dequeue) {
-  int * n = q0_.Dequeue();
+  int* n = q0_.Dequeue();
   EXPECT_TRUE(n == NULL);
 
   n = q1_.Dequeue();
   EXPECT_TRUE(n != NULL);
   EXPECT_EQ(1, *n);
-  EXPECT_EQ(0, q1_.Size());
+  EXPECT_EQ(0u, q1_.Size());
   delete n;
 
   n = q2_.Dequeue();
   EXPECT_TRUE(n != NULL);
   EXPECT_EQ(2, *n);
-  EXPECT_EQ(1, q2_.Size());
+  EXPECT_EQ(1u, q2_.Size());
   delete n;
 }
 

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample6_unittest.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample6_unittest.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample6_unittest.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample6_unittest.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample6_unittest.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample7_unittest.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample7_unittest.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample7_unittest.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample7_unittest.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample7_unittest.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample7_unittest.cc (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample7_unittest.cc Sun Jun  5 05:32:17 2011
@@ -121,12 +121,12 @@ INSTANTIATE_TEST_CASE_P(
 
 #else
 
-// Google Test doesn't support value-parameterized tests on some platforms
-// and compilers, such as MSVC 7.1. If we use conditional compilation to
-// compile out all code referring to the gtest_main library, MSVC linker
-// will not link that library at all and consequently complain about
-// missing entry point defined in that library (fatal error LNK1561:
-// entry point must be defined). This dummy test keeps gtest_main linked in.
+// Google Test may not support value-parameterized tests with some
+// compilers. If we use conditional compilation to compile out all
+// code referring to the gtest_main library, MSVC linker will not link
+// that library at all and consequently complain about missing entry
+// point defined in that library (fatal error LNK1561: entry point
+// must be defined). This dummy test keeps gtest_main linked in.
 TEST(DummyTest, ValueParameterizedTestsAreNotSupportedOnThisPlatform) {}
 
 #endif  // GTEST_HAS_PARAM_TEST

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample8_unittest.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample8_unittest.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample8_unittest.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample8_unittest.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample8_unittest.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample8_unittest.cc (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample8_unittest.cc Sun Jun  5 05:32:17 2011
@@ -162,12 +162,12 @@ INSTANTIATE_TEST_CASE_P(MeaningfulTestPa
 
 #else
 
-// Google Test doesn't support Combine() on some platforms and compilers,
-// such as MSVC 7.1. If we use conditional compilation to compile out
-// all code referring to the gtest_main library, MSVC linker will not
-// link that library at all and consequently complain about missing entry
-// point defined in that library (fatal error LNK1561: entry point must
-// be defined). This dummy test keeps gtest_main linked in.
+// Google Test may not support Combine() with some compilers. If we
+// use conditional compilation to compile out all code referring to
+// the gtest_main library, MSVC linker will not link that library at
+// all and consequently complain about missing entry point defined in
+// that library (fatal error LNK1561: entry point must be
+// defined). This dummy test keeps gtest_main linked in.
 TEST(DummyTest, CombineIsNotSupportedOnThisPlatform) {}
 
 #endif  // GTEST_HAS_COMBINE

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample9_unittest.cc (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample9_unittest.cc)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample9_unittest.cc?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample9_unittest.cc&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample9_unittest.cc&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
--- incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/samples/sample9_unittest.cc (original)
+++ incubator/mesos/trunk/src/third_party/gtest-1.5.0/samples/sample9_unittest.cc Sun Jun  5 05:32:17 2011
@@ -52,7 +52,7 @@ namespace {
 class TersePrinter : public EmptyTestEventListener {
  private:
   // Called before any test activity starts.
-  virtual void OnTestProgramStart(const UnitTest& unit_test) {}
+  virtual void OnTestProgramStart(const UnitTest& /* unit_test */) {}
 
   // Called after all test activities have ended.
   virtual void OnTestProgramEnd(const UnitTest& unit_test) {

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/scripts/fuse_gtest_files.py (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/scripts/fuse_gtest_files.py)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/scripts/fuse_gtest_files.py?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/scripts/fuse_gtest_files.py&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/scripts/fuse_gtest_files.py&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)

Copied: incubator/mesos/trunk/src/third_party/gtest-1.5.0/scripts/gen_gtest_pred_impl.py (from r1131791, incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/scripts/gen_gtest_pred_impl.py)
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/third_party/gtest-1.5.0/scripts/gen_gtest_pred_impl.py?p2=incubator/mesos/trunk/src/third_party/gtest-1.5.0/scripts/gen_gtest_pred_impl.py&p1=incubator/mesos/trunk/src/third_party/gtest-1.4.0-patched/scripts/gen_gtest_pred_impl.py&r1=1131791&r2=1131792&rev=1131792&view=diff
==============================================================================
    (empty)