Hello.
When upgrading from CMSIS 5.0.0 to higher versions (I don't know the exact turning point), I found that the prototype of the __disable_irq() function changed from
int __disable_irq(void);
to
void __disable_irq(void);
In many reference manuals, this function was always described as returning int (the value of the CPSR or PRIMASK register for Cortex-M).
Some projects were broken because the return value was used to remember the status during subsequent recovery.
Hello.
When upgrading from CMSIS 5.0.0 to higher versions (I don't know the exact turning point), I found that the prototype of the __disable_irq() function changed from
int __disable_irq(void);
to
void __disable_irq(void);
In many reference manuals, this function was always described as returning int (the value of the CPSR or PRIMASK register for Cortex-M).
Some projects were broken because the return value was used to remember the status during subsequent recovery.