https://github.com/halide/Halide
Raw File
Tip revision: cb6f4a9c3fc8d989965f9eec4067d0f6cb3ba299 authored by Steven Johnson on 31 March 2020, 18:12:43 UTC
Merge pull request #4810 from halide/srj-pr
Tip revision: cb6f4a9
destructors.cpp
#include "HalideRuntime.h"

#define INLINE inline __attribute__((weak)) __attribute__((always_inline)) __attribute__((used))

extern "C" {

INLINE void call_destructor(void *user_context, void (*fn)(void *user_context, void *object), void **object, bool should_call) {
    void *o = *object;
    *object = NULL;
    // Call the function
    if (o && should_call) {
        fn(user_context, o);
    }
}
}
back to top