| // Copyright 2015 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. |
| |
| // Note: there is intentionally no header file associated with this library so |
| // we don't risk implicitly demand loading it by accessing a symbol. |
| |
| #if defined(WIN32) |
| #define BASE_PROFILER_TEST_SUPPORT_LIBRARY_EXPORT __declspec(dllexport) |
| #else // defined(WIN32) |
| #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. |
| volatile int i = 0; |
| i = 1; |
| } |
| |
| } // extern "C" |
| |
| } // namespace base |