// Copyright 2018 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. #ifndef BASE_TEST_CLANG_PROFILING_H_ #define BASE_TEST_CLANG_PROFILING_H_ #include "base/clang_profiling_buildflags.h" #include "base/base_export.h" #if !BUILDFLAG(CLANG_PROFILING) #error "Clang profiling can only be used if CLANG_PROFILING macro is defined" #endif namespace base { // Write out the accumulated code profiling profile to the configured file. // This is used internally by e.g. base::Process and FATAL logging, to cause // profiling information to be stored even when performing an "immediate" exit // (or triggering a debug crash), where the automatic at-exit writer will not // be invoked. // This call is thread-safe, and will write profiling data at-most-once. BASE_EXPORT void WriteClangProfilingProfile(); } // namespace base #endif // BASE_TEST_CLANG_PROFILING_H_