summaryrefslogtreecommitdiff
path: root/third_party/base/debug/alias.cc
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2018-07-09 18:58:37 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-07-09 18:58:37 +0000
commit43f6bc80a29fdf326729903e9f323850e9553c69 (patch)
tree76683eacb9e8992853fea064110d1871b0c97947 /third_party/base/debug/alias.cc
parent245c7310a74e1ed81c885b3404a8cedf0c58f4b8 (diff)
downloadpdfium-43f6bc80a29fdf326729903e9f323850e9553c69.tar.xz
Prevent FX_OutOfMemoryTerminate() from being folded by the linker.
Copy base::debug::Alias() from Chromium. Use it to prevent ICF from combining FX_OutOfMemoryTerminate() with similar functions. BUG=chromium:860850 Change-Id: Ifccb05c0218f86e44b9bb235847e01383ec36b3f Reviewed-on: https://pdfium-review.googlesource.com/37290 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'third_party/base/debug/alias.cc')
-rw-r--r--third_party/base/debug/alias.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/third_party/base/debug/alias.cc b/third_party/base/debug/alias.cc
new file mode 100644
index 0000000000..3ab554fe48
--- /dev/null
+++ b/third_party/base/debug/alias.cc
@@ -0,0 +1,28 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/base/debug/alias.h"
+
+#include "build/build_config.h"
+
+namespace base {
+namespace debug {
+
+#if defined(COMPILER_MSVC)
+#pragma optimize("", off)
+#elif defined(__clang__)
+#pragma clang optimize off
+#endif
+
+void Alias(const void* var) {
+}
+
+#if defined(COMPILER_MSVC)
+#pragma optimize("", on)
+#elif defined(__clang__)
+#pragma clang optimize on
+#endif
+
+} // namespace debug
+} // namespace base