[DoDelete] Hold function name in Deletehelper::DoDelete

Hold __FUNCTION__ in DoDelete stack to identify for which class DoDelete() is called on the core dump.

BUG=393634

Review URL: https://codereview.chromium.org/522643003

Cr-Commit-Position: refs/heads/master@{#293109}


CrOS-Libchrome-Original-Commit: d332fcd494801256fdab6f70488cfef7d117da43
diff --git a/base/sequenced_task_runner_helpers.h b/base/sequenced_task_runner_helpers.h
index 2d0d493..325555e 100644
--- a/base/sequenced_task_runner_helpers.h
+++ b/base/sequenced_task_runner_helpers.h
@@ -6,6 +6,7 @@
 #define BASE_SEQUENCED_TASK_RUNNER_HELPERS_H_
 
 #include "base/basictypes.h"
+#include "base/debug/alias.h"
 
 // TODO(akalin): Investigate whether it's possible to just have
 // SequencedTaskRunner use these helpers (instead of MessageLoop).
@@ -36,6 +37,10 @@
   template <class T2, class R> friend class subtle::DeleteHelperInternal;
 
   static void DoDelete(const void* object) {
+    // TODO(tzik): Remove this after http://crbug.com/393634 is fixed.
+    const char* function_name = __FUNCTION__;
+    debug::Alias(&function_name);
+
     delete reinterpret_cast<const T*>(object);
   }