Am 02.09.2011 00:19, schrieb bsali...@gmail.com:
> Hello,
> 
> I have recently started using MSPGCC (4.4.3) and I'm new to this list.
> 
> I facing difficulties with defined constants and getting "error:
> expected ‘)’ before ‘;’ token" error.
> 
> I tried same code on gcc (x86) without the makefile and it compiles fine.
> If I replace  test (OUTPUT); with  test (1); it compiles fine also.
> 
> Would could I be doing wrong?
> 
> Any help would be appreciated.
> 
> Thanks.
> 
> 
> -------main.c--------------
> #include <io.h>
> #include <string.h>
> 
> #define OUTPUT 1;
> #define INPUT 0;

These are not constants, but macros.

Note that a preprocessor directive is _not_ terminated with a semicolon,
but with a line feed.

Fix the macros to NOT include the semicolon...

> 
> void test(int data) {
>     data=0; //do something
> }
> 
> void main (void) {
>     test (OUTPUT);

...else this will expand to "test (1;);" which isn't valid.

A decent C text book would tell you that.


Are you sure your x86 gcc didn't throw in the towel for not finding io.h?

I doubt your x86 test method, my gcc-for-x86 doesn't, if I hand it some
suitable io.h file in the first place; at any rate you need to add
-pedantic -std=c99 if you want to get anywhere that is at least remotely
related to acceptance tests.  GCC default settings are unsuitable
because they default to a GNU-extended version and may not print all
diagnostics required by the standard.

-- 
M. Andree

------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to