taskSELECT_HIGHEST_PRIORITY_TASK() is not a function, but a macro, which is defined at the top of tasks.c, which is also the file the macro is called from, so I don’t know why the compiler would output such a warning.
What taskSELECT_HIGHEST_PRIORITY_TASK() actually does depends on the value of configUSE_PORT_OPTIMISED_TASK_SELECTION in FreeRTOSConfig.h. Do you define configUSE_PORT_OPTIMISED_TASK_SELECTION in FreeRTOSConfig.h? If so, what is is set to?
configUSE_PORT_OPTIMISED_TASK_SELECTION is already define in FreeRTOSConfig.h
With configUSE_PORT_OPTIMISED_TASK_SELECTION set to 1 the warning appears, but set to 0 there is not warning.
The compiler version of CCS5 is TI v4.9.5. and the device i am working is a TI RM48l950.
__clz() is a compiler intrinsic - that is - it is provided by the compiler not by FreeRTOS. I’m not sure why it is not finding the definition, maybe it is just related to a compiler version updated? It might be that the name of the intrinsic has changed, try looking it up in the compiler’s documentation. Alternatives would be to:
Ask TI about it, maybe on an TMS570/RM48 forum, or on a CCS forum.
Implement the function yourself. You just need a few lines of assembly code that executes the clz instruction and returns the result.
Just set configUSE_PORT_OPTIMISED_TASK_SELECTION to 0.