summaryrefslogtreecommitdiffstats
path: root/googletest/src
diff options
context:
space:
mode:
authormisterg <misterg@google.com>2018-10-29 15:09:33 (GMT)
committerGennadiy Civil <misterg@google.com>2018-10-29 17:46:16 (GMT)
commit80b43d900b8ed44e16b306682d47d73175cecc7f (patch)
tree9fcb941d659988961bf0c3150b704bd30a37580f /googletest/src
parent2e308484d9693f8251748c295f6ed7ed25d767eb (diff)
downloadgoogletest-80b43d900b8ed44e16b306682d47d73175cecc7f.zip
googletest-80b43d900b8ed44e16b306682d47d73175cecc7f.tar.gz
googletest-80b43d900b8ed44e16b306682d47d73175cecc7f.tar.bz2
Googletest export
Remove linked_ptr and use std::shared_ptr instead PiperOrigin-RevId: 219129336
Diffstat (limited to 'googletest/src')
-rw-r--r--googletest/src/gtest-port.cc12
-rw-r--r--googletest/src/gtest.cc3
2 files changed, 7 insertions, 8 deletions
diff --git a/googletest/src/gtest-port.cc b/googletest/src/gtest-port.cc
index aa98ddb..082aaff 100644
--- a/googletest/src/gtest-port.cc
+++ b/googletest/src/gtest-port.cc
@@ -31,10 +31,11 @@
#include "gtest/internal/gtest-port.h"
#include <limits.h>
-#include <stdlib.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include <fstream>
+#include <memory>
#if GTEST_OS_WINDOWS
# include <windows.h>
@@ -475,7 +476,7 @@ class ThreadLocalRegistryImpl {
thread_local_values
.insert(std::make_pair(
thread_local_instance,
- linked_ptr<ThreadLocalValueHolderBase>(
+ std::shared_ptr<ThreadLocalValueHolderBase>(
thread_local_instance->NewValueForCurrentThread())))
.first;
}
@@ -484,7 +485,7 @@ class ThreadLocalRegistryImpl {
static void OnThreadLocalDestroyed(
const ThreadLocalBase* thread_local_instance) {
- std::vector<linked_ptr<ThreadLocalValueHolderBase> > value_holders;
+ std::vector<std::shared_ptr<ThreadLocalValueHolderBase> > value_holders;
// Clean up the ThreadLocalValues data structure while holding the lock, but
// defer the destruction of the ThreadLocalValueHolderBases.
{
@@ -512,7 +513,7 @@ class ThreadLocalRegistryImpl {
static void OnThreadExit(DWORD thread_id) {
GTEST_CHECK_(thread_id != 0) << ::GetLastError();
- std::vector<linked_ptr<ThreadLocalValueHolderBase> > value_holders;
+ std::vector<std::shared_ptr<ThreadLocalValueHolderBase> > value_holders;
// Clean up the ThreadIdToThreadLocals data structure while holding the
// lock, but defer the destruction of the ThreadLocalValueHolderBases.
{
@@ -539,7 +540,8 @@ class ThreadLocalRegistryImpl {
private:
// In a particular thread, maps a ThreadLocal object to its value.
typedef std::map<const ThreadLocalBase*,
- linked_ptr<ThreadLocalValueHolderBase> > ThreadLocalValues;
+ std::shared_ptr<ThreadLocalValueHolderBase> >
+ ThreadLocalValues;
// Stores all ThreadIdToThreadLocals having values in a thread, indexed by
// thread's ID.
typedef std::map<DWORD, ThreadLocalValues> ThreadIdToThreadLocals;
diff --git a/googletest/src/gtest.cc b/googletest/src/gtest.cc
index 332b3e9..afd7d1b 100644
--- a/googletest/src/gtest.cc
+++ b/googletest/src/gtest.cc
@@ -423,9 +423,6 @@ void AssertHelper::operator=(const Message& message) const {
); // NOLINT
}
-// Mutex for linked pointers.
-GTEST_API_ GTEST_DEFINE_STATIC_MUTEX_(g_linked_ptr_mutex);
-
// A copy of all command line arguments. Set by InitGoogleTest().
static ::std::vector<std::string> g_argvs;