use the correct deallocation function/macro