VapourSynth-llvmexpr
Loading...
Searching...
No Matches
Diagnostics.hpp
Go to the documentation of this file.
1
19
20#ifndef LLVMEXPR_CODEGEN_LLVM_DIAGNOSTICS_HPP
21#define LLVMEXPR_CODEGEN_LLVM_DIAGNOSTICS_HPP
22
23#include <atomic>
24
25#include "llvm/IR/DiagnosticHandler.h"
26#include "llvm/IR/DiagnosticInfo.h"
27
29 public:
31
32 void
33 setOriginalHandler(llvm::DiagnosticHandler::DiagnosticHandlerTy handler,
34 void* context);
35
36 void handleDiagnostic(const llvm::DiagnosticInfo& di);
37
38 [[nodiscard]] bool hasVectorizationFailed() const;
39
40 void reset();
41
42 static void diagnosticHandlerCallback(const llvm::DiagnosticInfo* di,
43 void* context);
44
45 private:
46 std::atomic<bool> vectorization_failed;
47 llvm::DiagnosticHandler::DiagnosticHandlerTy original_handler;
48 void* original_context;
49};
50
51#endif // LLVMEXPR_CODEGEN_LLVM_DIAGNOSTICS_HPP
void handleDiagnostic(const llvm::DiagnosticInfo &di)
static void diagnosticHandlerCallback(const llvm::DiagnosticInfo *di, void *context)
void setOriginalHandler(llvm::DiagnosticHandler::DiagnosticHandlerTy handler, void *context)