Where are Cortex-specific functions like __wfi() defined in Keil?
04:45 22 May 2015

I'm working on industrial code for a Cortex-M0 controller, using µVision Keil 4.71.0.0 IDE. Our code is supposed to respect MISRA rules and is routinely checked with QA·C.

My problem is that some controller-specific functions, like __wfi(), __current_sp(), etc., don't seem to be defined anywhere, and QA·C is complaining about them:

340:                __wfi();
                         ^
Msg(5:3335) No function declaration.
Implicit declaration inserted: 'extern int __wfi();'.
CC Coding Rule 6 

Right-clicking on the function name in Keil and selecting "Go to definition" confirms that the function is not defined:

Source Browser: '__wfi' - undefined Definition/Reference!

Does Keil provide an official header file with prototypes of such functions? Hard coding such prototypes in our project's code or creating QA·C exceptions will require a formal review process which I would like to avoid.

c keil function-prototypes misra