Update Marl to 9c689c9a8

Changes:
    9c689c9a8 Add MARL_USE_PTHREAD_THREAD_LOCAL option
    abd033696 Explicitly #include <utility> in finally.h
    2e82e6999 Fix build issue with GetModuleHandle when using UNICODE
    40b9a1c47 gcc -Wshadow warning fixes

Commands:
    ./third_party/update-marl.sh

Bug: b/140546382
Change-Id: I0fe71df4ca087650fd1d9cb81c816c2d8d41dcfb
diff --git a/third_party/marl/include/marl/containers.h b/third_party/marl/include/marl/containers.h
index da5b4c4..5410a7f 100644
--- a/third_party/marl/include/marl/containers.h
+++ b/third_party/marl/include/marl/containers.h
@@ -145,15 +145,15 @@
 
 template <typename T, int BASE_CAPACITY>
 vector<T, BASE_CAPACITY>::vector(
-    Allocator* allocator /* = Allocator::Default */)
-    : allocator(allocator) {}
+    Allocator* allocator_ /* = Allocator::Default */)
+    : allocator(allocator_) {}
 
 template <typename T, int BASE_CAPACITY>
 template <int BASE_CAPACITY_2>
 vector<T, BASE_CAPACITY>::vector(
     const vector<T, BASE_CAPACITY_2>& other,
-    Allocator* allocator /* = Allocator::Default */)
-    : allocator(allocator) {
+    Allocator* allocator_ /* = Allocator::Default */)
+    : allocator(allocator_) {
   *this = other;
 }
 
@@ -161,8 +161,8 @@
 template <int BASE_CAPACITY_2>
 vector<T, BASE_CAPACITY>::vector(
     vector<T, BASE_CAPACITY_2>&& other,
-    Allocator* allocator /* = Allocator::Default */)
-    : allocator(allocator) {
+    Allocator* allocator_ /* = Allocator::Default */)
+    : allocator(allocator_) {
   *this = std::move(other);
 }
 
@@ -417,7 +417,7 @@
 };
 
 template <typename T>
-list<T>::iterator::iterator(Entry* entry) : entry(entry) {}
+list<T>::iterator::iterator(Entry* entry_) : entry(entry_) {}
 
 template <typename T>
 T* list<T>::iterator::operator->() {
@@ -446,8 +446,8 @@
 }
 
 template <typename T>
-list<T>::list(Allocator* allocator /* = Allocator::Default */)
-    : allocator(allocator) {}
+list<T>::list(Allocator* allocator_ /* = Allocator::Default */)
+    : allocator(allocator_) {}
 
 template <typename T>
 list<T>::~list() {
diff --git a/third_party/marl/include/marl/event.h b/third_party/marl/include/marl/event.h
index afe11cc..92e1ef8 100644
--- a/third_party/marl/include/marl/event.h
+++ b/third_party/marl/include/marl/event.h
@@ -128,8 +128,8 @@
   const std::shared_ptr<Shared> shared;
 };
 
-Event::Shared::Shared(Allocator* allocator, Mode mode, bool initialState)
-    : cv(allocator), mode(mode), signalled(initialState) {}
+Event::Shared::Shared(Allocator* allocator, Mode mode_, bool initialState)
+    : cv(allocator), mode(mode_), signalled(initialState) {}
 
 void Event::Shared::signal() {
   marl::lock lock(mutex);
diff --git a/third_party/marl/include/marl/finally.h b/third_party/marl/include/marl/finally.h
index b8b00a5..17c9b2b 100644
--- a/third_party/marl/include/marl/finally.h
+++ b/third_party/marl/include/marl/finally.h
@@ -28,6 +28,7 @@
 
 #include <functional>
 #include <memory>
+#include <utility>
 
 namespace marl {
 
@@ -58,10 +59,10 @@
 };
 
 template <typename F>
-FinallyImpl<F>::FinallyImpl(const F& func) : func(func) {}
+FinallyImpl<F>::FinallyImpl(const F& func_) : func(func_) {}
 
 template <typename F>
-FinallyImpl<F>::FinallyImpl(F&& func) : func(std::move(func)) {}
+FinallyImpl<F>::FinallyImpl(F&& func_) : func(std::move(func_)) {}
 
 template <typename F>
 FinallyImpl<F>::FinallyImpl(FinallyImpl<F>&& other)
diff --git a/third_party/marl/include/marl/memory.h b/third_party/marl/include/marl/memory.h
index d645ccb..46c67ff 100644
--- a/third_party/marl/include/marl/memory.h
+++ b/third_party/marl/include/marl/memory.h
@@ -154,8 +154,8 @@
 // Allocator::Deleter
 ///////////////////////////////////////////////////////////////////////////////
 Allocator::Deleter::Deleter() : allocator(nullptr) {}
-Allocator::Deleter::Deleter(Allocator* allocator, size_t count)
-    : allocator(allocator), count(count) {}
+Allocator::Deleter::Deleter(Allocator* allocator_, size_t count_)
+    : allocator(allocator_), count(count_) {}
 
 template <typename T>
 void Allocator::Deleter::operator()(T* object) {
@@ -289,8 +289,8 @@
   return out;
 }
 
-TrackedAllocator::TrackedAllocator(Allocator* allocator)
-    : allocator(allocator) {}
+TrackedAllocator::TrackedAllocator(Allocator* allocator_)
+    : allocator(allocator_) {}
 
 TrackedAllocator::Stats TrackedAllocator::stats() {
   std::unique_lock<std::mutex> lock(mutex);
@@ -388,7 +388,7 @@
 };
 
 template <typename T>
-StlAllocator<T>::StlAllocator(Allocator* allocator) : allocator(allocator) {}
+StlAllocator<T>::StlAllocator(Allocator* allocator_) : allocator(allocator_) {}
 
 template <typename T>
 template <typename U>
diff --git a/third_party/marl/include/marl/task.h b/third_party/marl/include/marl/task.h
index b60547f..1e7d3f4 100644
--- a/third_party/marl/include/marl/task.h
+++ b/third_party/marl/include/marl/task.h
@@ -64,10 +64,10 @@
 Task::Task() {}
 Task::Task(const Task& o) : function(o.function), flags(o.flags) {}
 Task::Task(Task&& o) : function(std::move(o.function)), flags(o.flags) {}
-Task::Task(const Function& function, Flags flags /* = Flags::None */)
-    : function(function), flags(flags) {}
-Task::Task(Function&& function, Flags flags /* = Flags::None */)
-    : function(std::move(function)), flags(flags) {}
+Task::Task(const Function& function_, Flags flags_ /* = Flags::None */)
+    : function(function_), flags(flags_) {}
+Task::Task(Function&& function_, Flags flags_ /* = Flags::None */)
+    : function(std::move(function_)), flags(flags_) {}
 Task& Task::operator=(const Task& o) {
   function = o.function;
   flags = o.flags;
diff --git a/third_party/marl/include/marl/thread_local.h b/third_party/marl/include/marl/thread_local.h
index bd025a6..b2fdece 100644
--- a/third_party/marl/include/marl/thread_local.h
+++ b/third_party/marl/include/marl/thread_local.h
@@ -42,18 +42,21 @@
   }
 
  private:
+  ThreadLocal(const ThreadLocal&) = delete;
+  ThreadLocal& operator=(const ThreadLocal&) = delete;
+
   pthread_key_t key;
 };
 
 #define MARL_DECLARE_THREAD_LOCAL(TYPE, NAME) static ThreadLocal<TYPE> NAME
 #define MARL_INSTANTIATE_THREAD_LOCAL(TYPE, NAME, VALUE) \
-  ThreadLocal<TYPE> NAME = VALUE
+  ThreadLocal<TYPE> NAME { VALUE }
 
 #else
 
 #define MARL_DECLARE_THREAD_LOCAL(TYPE, NAME) static thread_local TYPE NAME
 #define MARL_INSTANTIATE_THREAD_LOCAL(TYPE, NAME, VALUE) \
-  thread_local TYPE NAME = VALUE
+  thread_local TYPE NAME { VALUE }
 
 #endif
 
diff --git a/third_party/marl/src/thread.cpp b/third_party/marl/src/thread.cpp
index 30897f0..6851d07 100644
--- a/third_party/marl/src/thread.cpp
+++ b/third_party/marl/src/thread.cpp
@@ -332,7 +332,7 @@
 void Thread::setName(const char* fmt, ...) {
   static auto setThreadDescription =
       reinterpret_cast<HRESULT(WINAPI*)(HANDLE, PCWSTR)>(GetProcAddress(
-          GetModuleHandle("kernelbase.dll"), "SetThreadDescription"));
+          GetModuleHandleA("kernelbase.dll"), "SetThreadDescription"));
   if (setThreadDescription == nullptr) {
     return;
   }