#define al_free(p) \
(al_free_with_context((p), __LINE__, __FILE__, __func__))
Like free() in the C standard library, but the implementation may be overridden.
Additionally, on Windows, a memory block allocated by one DLL must be freed from the same DLL. In the few places where an Allegro function returns a pointer that must be freed, you must use al_free(3alleg5) for portability to Windows.
This is a macro.