diff options
| author | vvvv <[email protected]> | 2024-02-06 20:01:22 +0300 |
|---|---|---|
| committer | Alexander Smirnov <[email protected]> | 2024-02-09 19:18:27 +0300 |
| commit | ee2b7fbda052aa09b6fdb83b8c6f0305fef3e193 (patch) | |
| tree | 102765416c3866bde98a82facc7752d329ee0226 /contrib/libs/llvm16/lib/XRay/LogBuilderConsumer.cpp | |
| parent | 7494ca32d3a5aca00b7ac527b5f127989335102c (diff) | |
llvm16 targets
Diffstat (limited to 'contrib/libs/llvm16/lib/XRay/LogBuilderConsumer.cpp')
| -rw-r--r-- | contrib/libs/llvm16/lib/XRay/LogBuilderConsumer.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/contrib/libs/llvm16/lib/XRay/LogBuilderConsumer.cpp b/contrib/libs/llvm16/lib/XRay/LogBuilderConsumer.cpp new file mode 100644 index 00000000000..ffb49f9eb4e --- /dev/null +++ b/contrib/libs/llvm16/lib/XRay/LogBuilderConsumer.cpp @@ -0,0 +1,37 @@ +//===- FDRRecordConsumer.h - XRay Flight Data Recorder Mode Records -------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +#include "llvm/XRay/FDRRecordConsumer.h" + +namespace llvm { +namespace xray { + +Error LogBuilderConsumer::consume(std::unique_ptr<Record> R) { + if (!R) + return createStringError( + std::make_error_code(std::errc::invalid_argument), + "Must not call RecordConsumer::consume() with a null pointer."); + Records.push_back(std::move(R)); + return Error::success(); +} + +Error PipelineConsumer::consume(std::unique_ptr<Record> R) { + if (!R) + return createStringError( + std::make_error_code(std::errc::invalid_argument), + "Must not call RecordConsumer::consume() with a null pointer."); + + // We apply all of the visitors in order, and concatenate errors + // appropriately. + Error Result = Error::success(); + for (auto *V : Visitors) + Result = joinErrors(std::move(Result), R->apply(*V)); + return Result; +} + +} // namespace xray +} // namespace llvm |
