Files
revng-revng/lib/Lift/PTCInterface.h
Alessandro Di Federico 0793e4afcb Turn lifting into a pass
2022-03-11 15:37:12 +01:00

27 lines
648 B
C++

#pragma once
//
// This file is distributed under the MIT License. See LICENSE.md for details.
//
#include <memory>
#include <type_traits>
#define USE_DYNAMIC_PTC
#include "ptc.h"
template<void (*T)(PTCInstructionList *)>
using PTCDestructorWrapper = std::integral_constant<decltype(T), T>;
inline void ptcInstructionListDestructor(PTCInstructionList *This) {
ptc_instruction_list_free(This);
delete This;
}
using PTCDestructor = PTCDestructorWrapper<&ptcInstructionListDestructor>;
using PTCInstructionListPtr = std::unique_ptr<PTCInstructionList,
PTCDestructor>;
extern PTCInterface ptc;