A special keyword may be associated with a function declaring it as
critical. SDCC will generate code to disable all interrupts
upon entry to a critical function and enable them back before returning.
Note that nesting critical functions may cause unpredictable results.
int foo () critical
{
...
...
}
The critical attribute maybe used with other attributes like reentrant.