Code:
/* after changing GCC version 3.0 to 4.1 i am getting invalid lvalue in increment error */ #include <vscreen.h> #include "vscreen_internal.h" extern UDINT colPalette[256]; void memset_f(void *p,USINT value, UDINT len) { register UDINT longValue = colPalette[value]; while(len) { if ( ((UDINT)p&3) == 0 ) /* even address*/ { if (len > 32) /*and more than 32 bytes to fill */ { *((UDINT*)p)++ = longValue; /* error*/ *((UDINT*)p)++ = longValue; /* error*/ *((UDINT*)p)++ = longValue; /* error*/ *((UDINT*)p)++ = longValue; /* error*/ *((UDINT*)p)++ = longValue; /* error*/ *((UDINT*)p)++ = longValue; /* error*/ *((UDINT*)p)++ = longValue; /* error*/ *((UDINT*)p)++ = longValue; /* error*/ len-=32; continue; } } *(USINT*)p++ = (USINT)longValue; /* error*/ len--; } } #endif
Comment