There is an extraneous "struct" in IHeap.h line 131 which won't compile in C++ (gcc 4.6). Removing it solves the problem and doesn't affect C compiles.
syslink_2_10_06_28/packages/
ti/syslink/utils/IHeap.h:131:16: error: using typedef-name 'IHeap_Object' after 'struct'
typedef struct IHeap_Object_tag IHeap_Object;
/*!
* @brief Handle for the Heap Buf.
*/
typedef struct IHeap_Object * IHeap_Handle;
^^^^^^
typedef struct IHeap_Object_tag IHeap_Object;
/*!
* @brief Handle for the Heap Buf.
*/
typedef struct IHeap_Object * IHeap_Handle;
^^^^^^
Osal_printf(char*, ...): please make this const char* so constant strings, eg literals, can be passed.
Thanks