// S : tags sym c++ $TAGS // S : expect --result error --location-comment ERROR // S : cc -o test.bc $CC_OPT $file // S : verify --symbolic $V_OPT test.bc // N : V : CC_OPT : V_OPT : TAGS : RESULT // V : v.O1 : -O1 : : : valid // V : v.O0 : -O0 : : min : valid #include #include #include int main() { int8_t arr[128] = { 0 }; int16_t *i16ptr = ( int16_t * ) arr; int64_t *i64ptr = ( int64_t * ) arr; i64ptr[ 1 ] = __lamp_any_i64(); int16_t load = i16ptr[ 5 ]; int16_t *_i16ptr = ( int16_t * ) ( i64ptr + 1); assert( _i16ptr[ 1 ] == load ); assert( _i16ptr[ 2 ] == load ); /* ERROR */ }