#if defined(__GNUC__) && __GNUC__ >= 4
#if !defined(_WIN32) && !defined(__CYGWIN__)
__attribute__ ((visibility ("hidden")))
#endif
#endif
void *clear_on_drop_hide(void *ptr) {
#if defined(__GNUC__)
__asm__ volatile ("" : "=r" (ptr) : "0" (ptr) : "memory");
#endif
return ptr;
}