Здесь написано (хотя этот документ старый) => http://www.atmel.com/images/doc1497.pdf
The main function usually contains the main loop of the program. In most cases no functions are calling the main function, and there are no need to preserve any registers when entering it. The main function can therefore be declared as C_task. This saves stack space and code size:
__C_task void main(void) /* Declare main() as C_task */
{
}
Однако в документе EWAVR_CompilerReference.pdf ничего про __C_task не сказано. Сам же компилятор понимает __C_task и __task. Любопытно, какая между ними разница.