Must SDL cleanup functions be used before an SDL_Quit() call

The SDL_Quit() ( function is documented to “clean up all initialized subsystems”.

My question: is it mandatory to call other cleanup functions before SDL_Quit()? Such as:

SDL_GL_DeleteContext() (

SDL_DestroyWindow() (

SDL_DestroyRenderer() (

All the resources will be freed when quitting the program. But it is a matter of good practice to free the resources before quitting. Because one may want to change the code, do something else before quitting, etc. When the resources are not freed, this would be a source of many bugs. Because only when all resources are freed after using them, is the code correctly written. Then it’s also easier to debug the program with the tools detecting memory leaks, such as valgrind.------------------------
kiss_sdl - Simple generic GUI widget toolkit for SDL2