Avoid polluting the global namespace.
MessageConsumer message_consumer, MarkvLogConsumer log_consumer,
MarkvDebugConsumer debug_consumer, std::vector<uint8_t>* markv) {
spv_context_t hijack_context = *context;
- SetContextMessageConsumer(&hijack_context, message_consumer);
+ libspirv::SetContextMessageConsumer(&hijack_context, message_consumer);
spv_const_binary_t spirv_binary = {spirv.data(), spirv.size()};
MarkvDebugConsumer debug_consumer, std::vector<uint32_t>* spirv) {
spv_position_t position = {};
spv_context_t hijack_context = *context;
- SetContextMessageConsumer(&hijack_context, message_consumer);
+ libspirv::SetContextMessageConsumer(&hijack_context, message_consumer);
MarkvDecoder decoder(&hijack_context, markv, options, &markv_model);
spvDiagnosticDestroy(*diagnostic); // Avoid memory leak.
*diagnostic = spvDiagnosticCreate(&p, message);
};
- SetContextMessageConsumer(context, std::move(create_diagnostic));
+ libspirv::SetContextMessageConsumer(context, std::move(create_diagnostic));
}
std::string spvResultToString(spv_result_t res) {
SpirvTools::~SpirvTools() {}
void SpirvTools::SetMessageConsumer(MessageConsumer consumer) {
- SetContextMessageConsumer(impl_->context, std::move(consumer));
+ libspirv::SetContextMessageConsumer(impl_->context, std::move(consumer));
}
bool SpirvTools::Assemble(const std::string& text,
Linker::~Linker() {}
void Linker::SetMessageConsumer(MessageConsumer consumer) {
- SetContextMessageConsumer(impl_->context, std::move(consumer));
+ libspirv::SetContextMessageConsumer(impl_->context, std::move(consumer));
}
spv_result_t Linker::Link(const std::vector<std::vector<uint32_t>>& binaries,
const uint32_t* binary,
const size_t size) {
auto context = spvContextCreate(env);
- SetContextMessageConsumer(context, consumer);
+ libspirv::SetContextMessageConsumer(context, consumer);
auto irContext = MakeUnique<ir::IRContext>(consumer);
ir::IrLoader loader(consumer, irContext->module());
void spvContextDestroy(spv_context context) { delete context; }
-void SetContextMessageConsumer(spv_context context,
- spvtools::MessageConsumer consumer) {
+void libspirv::SetContextMessageConsumer(spv_context context,
+ spvtools::MessageConsumer consumer) {
context->consumer = std::move(consumer);
}
spvtools::MessageConsumer consumer;
};
+namespace libspirv {
// Sets the message consumer to |consumer| in the given |context|. The original
// message consumer will be overwritten.
void SetContextMessageConsumer(spv_context context,
spvtools::MessageConsumer consumer);
+} // namespace libspirv
// Populates *table with entries for env.
spv_result_t spvOpcodeTableGet(spv_opcode_table* table, spv_target_env env);
namespace {
+using ::libspirv::SetContextMessageConsumer;
using ::spvtest::Concatenate;
using ::spvtest::MakeInstruction;
using ::spvtest::MakeVector;
using namespace spvtools;
+using libspirv::SetContextMessageConsumer;
+
// The default consumer is a null std::function.
TEST(CInterface, DefaultConsumerNullDiagnosticForValidInput) {
auto context = spvContextCreate(SPV_ENV_UNIVERSAL_1_1);
namespace {
+using libspirv::SetContextMessageConsumer;
using spvtools::MarkvModelType;
using spvtest::ScopedContext;
using MarkvTest = ::testing::TestWithParam<MarkvModelType>;
namespace {
+using libspirv::SetContextMessageConsumer;
using libspirv::SpirvStats;
using spvtest::ScopedContext;
std::cerr << "Processing " << paths.size() << " files..." << std::endl;
ScopedContext ctx(SPV_ENV_UNIVERSAL_1_1);
- SetContextMessageConsumer(ctx.context, DiagnosticsMessageHandler);
+ libspirv::SetContextMessageConsumer(ctx.context, DiagnosticsMessageHandler);
libspirv::SpirvStats stats;
stats.opcode_markov_hist.resize(1);