20 #ifndef HEADER_LEAK_CHECK_HPP
21 #define HEADER_LEAK_CHECK_HPP
26 #include "utils/log.hpp"
38 #if defined(__APPLE__)
43 #elif defined(WIN32) || ENABLE_LIBBFD
51 virtual ~AllocatedObject();
52 virtual void print()
const;
58 void addObject(AllocatedObject* obj);
59 void removeObject(AllocatedObject* obj);
64 #define LEAK_CHECK() \
65 class LeakCheck : public MemoryLeaks::AllocatedObject \
68 virtual void print() const \
70 Log::error("LeakCheck", "Undeleted object at %s : %i", \
71 __FILE__, __LINE__); \
72 AllocatedObject::print(); \
74 virtual ~LeakCheck() {} \
77 LeakCheck m_leack_check_instance;