Why use __line__ instead of constant

Dear All, kindly can any one clear this point to me? in COROUTINE.H header file i found this defination from coroutine.h—————————————————– #define crSET_STATE0( xHandle ) ( ( corCRCB * )xHandle)->uxState = (__LINE__ * 2); return; case (__LINE__ * 2): #define crSET_STATE1( xHandle ) ( ( corCRCB * )xHandle)->uxState = ((__LINE__ * 2)+1); return; case ((__LINE__ * 2)+1): -——————————————————————- what is "__line__"? and why "__line__" is used instead of a constant. best regards ashawky

Why use __line__ instead of constant

…because each use of the macros has to have a unique number, using the line number is the easiest way of doing this.  The generated numbers are used as ‘cases’ in a switch statement so need all be unique. As an aside – I tried replying to your email but it bounced.  I have some TMS470 code I can send but it is based on an old version and I have not tested it myself.  I will need a non SourceForge address if you want me to send it.  Do not post email addresses in this forum however. Regards.