We tried to reproduce the IRQ D0 example from the project shown bellow (path: openwch/ch32v003/EVT/EXAM/EXTI/EXTI0).

If we use the main file as a .C file the issue is not reproducible. However if we change the file to a .CPP (executing all steps to converting the project from .C to .CPP) we are not able to use the IRQ.
Using the debug tool we reached the following result:

Right after pressing the D0 button, we expect the IRQ defined in the .CPP file (this IRQ is the same from exaple EXTI0), but it got stuck at the "EXTI7_0_IRQHandler: 1: j 1b".
We tried to reproduce the IRQ D0 example from the project shown bellow (path: openwch/ch32v003/EVT/EXAM/EXTI/EXTI0).
If we use the main file as a .C file the issue is not reproducible. However if we change the file to a .CPP (executing all steps to converting the project from .C to .CPP) we are not able to use the IRQ.
Using the debug tool we reached the following result:
Right after pressing the D0 button, we expect the IRQ defined in the .CPP file (this IRQ is the same from exaple EXTI0), but it got stuck at the "EXTI7_0_IRQHandler: 1: j 1b".