DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit 45cddf26a7454bd2687c387f787455eef552a87f
parent 0d627da6d7dfaba66227b200cf728b23851ead6c
Author: falkTX <falktx@gmail.com>
Date:   Thu, 25 Jun 2015 12:19:37 +0200

Don't use leak detection on release builds

Diffstat:
Mdistrho/extra/LeakDetector.hpp | 13++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/distrho/extra/LeakDetector.hpp b/distrho/extra/LeakDetector.hpp @@ -32,6 +32,7 @@ START_NAMESPACE_DISTRHO #define DISTRHO_JOIN_MACRO_HELPER(a, b) a ## b #define DISTRHO_JOIN_MACRO(item1, item2) DISTRHO_JOIN_MACRO_HELPER(item1, item2) +#ifdef DEBUG /** This macro lets you embed a leak-detecting object inside a class.\n To use it, simply declare a DISTRHO_LEAK_DETECTOR(YourClassName) inside a private section of the class declaration. E.g. @@ -47,14 +48,20 @@ START_NAMESPACE_DISTRHO }; \endcode */ -#define DISTRHO_LEAK_DETECTOR(ClassName) \ +# define DISTRHO_LEAK_DETECTOR(ClassName) \ friend class DISTRHO_NAMESPACE::LeakedObjectDetector<ClassName>; \ static const char* getLeakedObjectClassName() noexcept { return #ClassName; } \ DISTRHO_NAMESPACE::LeakedObjectDetector<ClassName> DISTRHO_JOIN_MACRO(leakDetector_, ClassName); -#define DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ClassName) \ - DISTRHO_DECLARE_NON_COPY_CLASS(ClassName) \ +# define DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ClassName) \ + DISTRHO_DECLARE_NON_COPY_CLASS(ClassName) \ DISTRHO_LEAK_DETECTOR(ClassName) +#else +/** Don't use leak detection on release builds. */ +# define DISTRHO_LEAK_DETECTOR(ClassName) +# define DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ClassName) \ + DISTRHO_DECLARE_NON_COPY_CLASS(ClassName) +#endif //============================================================================== /**