According to PM0214, CMSIS functions NVIC_EnableIRQ(), NVIC_DisableIRQ(), NVIC_SetPendingIRQ(), NVIC_CleartPendingIRQ(), NVIC_GetPendingIRQ() should support both interrupts and exceptions (of course those where this is applicable).
The implementation of these functions in [STM32F4xx_DSP_StdPeriph_Lib_V1.8.0]\Libraries\CMSIS\Include\core_cm4.h does not conform to this description, not supporting exceptions - even the comment to those function says it:
\param [in] IRQn External interrupt number. Value cannot be negative.
This is nonsensical, especially since the remaining two functions of the same group from the same table - NVIC_SetPriority() and NVIC_GetPriority() - do support both interrupts and exceptions.
Please, fix the 5 functions mentioned above to handle both interrupts and exceptions.
Should there be concerns for backward compatibility/efficiency, please provide alternative functions with the full functionality, and of course make the respective changes to the documentation too.
Now I of course know that both the PM's template and the headers come directly from ARM so this is upon them to fix, but I believe there's an order of magnitude higher chance this ever getting dealt with properly if ST's engineers raise a request to ARM, rather than some Jan Waclawek.