/* Test to verify that past-the-end multibyte writes via lvalues of wider | |
types than char are diagnosed. | |
{ dg-do compile } | |
{ dg-require-effective-target int32plus } | |
{ dg-options "-O2 -fno-tree-vectorize -Wall -Wno-array-bounds" } */ | |
typedef __INT16_TYPE__ int16_t; | |
char a4[4], a8[8], a16[16]; | |
void test_int16 (void) | |
{ | |
char *p = a4 + 1; | |
*(int16_t*)p = 0; | |
*(int16_t*)(p + 2) = 0; // { dg-warning "writing 2 bytes into a region of size 1" } | |
} |