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.
eg
int foo () critical { ... ... }
The critical attribute maybe used with other attributes like reentrant.