# problem with COSMIC compiler

**URL:** <https://forums.freertos.org/t/problem-with-cosmic-compiler/2083>\
**Category:** Kernel\
**Created:** [May 13, 2010, 9:16am UTC](https://forums.freertos.org/t/problem-with-cosmic-compiler/2083 "2010-05-13T09:16:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [May 13, 2010, 9:16am UTC](https://forums.freertos.org/t/problem-with-cosmic-compiler/2083/1 "2010-05-13T09:16:04Z")

</div>

**[quetscheblo](https://sourceforge.net/u/quetscheblo/)** wrote on [Thursday, May 13, 2010](https://sourceforge.net/p/freertos/discussion/382005/thread/57b531f7/#81c5):

Hello,  
I am trying to use the HCS12 Metrowerks example with the COSMIC compiler. I have made all adaptions to meet the compiler specific extentions (like \_asm instead of \_\_asm …) so I see no problems till this point.  
But when I try to call the **xTaskCreate** macro the compiler throws the **incompatible argument type** and points to the first argument which is the task function.  
The task function is declared as **static void xTask(void \* pParam)**, like in the example for the Metrowerks compiler. No I tried to cast the function with (pdTASK\_CODE) but this produces only the same error message.

Can the error be in the typedef of **pdTASK\_CODE**? Do I have to change this typedef?

Thanks in advance,  
quetscheblo

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [May 13, 2010, 9:30am UTC](https://forums.freertos.org/t/problem-with-cosmic-compiler/2083/2 "2010-05-13T09:30:16Z")

</div>

**[davedoors](https://sourceforge.net/u/davedoors/)** wrote on [Thursday, May 13, 2010](https://sourceforge.net/p/freertos/discussion/382005/thread/57b531f7/#321f):

I have never used the Cosmic compiler, but I would think it strange if you had to change the typedef because it is just standard C.

Could the problem be caused by the definition of the portTASK\_FUNCTION\_PROTO() and portTASK\_FUNCTION() macros?
