PR middle-end/85602 - -Wsizeof-pointer-memaccess for strncat with size of source
[official-gcc.git] / gcc / testsuite / gcc.dg / pr47555.c
blobd65265274f953e9c02529a40be6cf83080b5633d
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
4 #define FILL_BACK *ptrRGB++=0; *ptrRGB++=0; *ptrRGB++=0;
7 void uncompact(unsigned char* ptrRGB, const unsigned int* ptrSrc, const unsigned char* ptrRGBcompact, int line, int nbPixLeft)
10 #define BIT_2_RGB32 \
11 if ((v & 0x00000001)){ nbPixLeft--; *ptrRGB++ = *ptrRGBcompact++; *ptrRGB++ = *ptrRGBcompact++; *ptrRGB++ = *ptrRGBcompact++; } \
12 else{ FILL_BACK } \
13 v >>= 1;
14 #define BIT_2_RGB16 \
15 if ((v16 & 0x0001)){ nbPixLeft--; *ptrRGB++ = *ptrRGBcompact++; *ptrRGB++ = *ptrRGBcompact++; *ptrRGB++ = *ptrRGBcompact++; } \
16 else{ FILL_BACK } \
17 v16 >>= 1;
19 int x;
20 unsigned int v, *ptrSrc32bits=(unsigned int*)ptrSrc;
21 unsigned short v16,*ptrSrc16bits;
23 for(x=0; x<line; x++) {
24 v = *ptrSrc32bits++;
25 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32
26 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32
27 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32
28 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32
31 ptrSrc16bits=(unsigned short *)ptrSrc32bits;
32 v16 = *ptrSrc16bits++;
33 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16
34 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16