| // Copyright 2015 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Note: there is intentionally no header file associated with this library so |
| // we don't risk implicitly demand loading it by accessing a symbol. |
| |
| #include "build/build_config.h" |
| |
| #if BUILDFLAG(IS_WIN) |
| #define BASE_PROFILER_TEST_SUPPORT_LIBRARY_EXPORT __declspec(dllexport) |
| #else // BUILDFLAG(IS_WIN) |
| #define BASE_PROFILER_TEST_SUPPORT_LIBRARY_EXPORT __attribute__((visibility("default"))) |
| #endif |
| |
| namespace base { |
| |
| // Must be defined in an extern "C" block so we can look up the unmangled name. |
| extern "C" { |
| |
| BASE_PROFILER_TEST_SUPPORT_LIBRARY_EXPORT void InvokeCallbackFunction( |
| void (*function)(void*), |
| void* arg) { |
| function(arg); |
| // Prevent tail call. |
| [[maybe_unused]] volatile int i = 0; |
| i = 1; |
| } |
| |
| } // extern "C" |
| |
| } // namespace base |