Hi,

> This (contrived example) fails to compile:
>
>    void test (int data)
>    {
>      int i ;
>      i = data ;
>    }
>
> Compile command:
>
>    sdcc  -mpic16 -p18f4685 -c test.c
>
> Gives:
>
>    test.c:5: syntax error: token -> 'data' ; column 10
>    test.c:6: error 159: in function test: name omitted for parameter 1
>
> Compiles fine with gcc, so wondering if 'data' is pre-defined as a  
> keyword somewhere?

Yes, "data" is a memory space indicator (like code, idata, pdata,
xdata, and more).
You can compile with --std-c89, which defines only the variants
__data, __code, __idata, __pdata, __xdata, ... as keywords and allows
you to use the non-__-prefixed ones as regular identifiers.


Raphael

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to