Open
Description
This code:
void baz(_Array_ptr<int> p : count(len), int len);
void foo(int *p, int n) {
p = (int *)1;
baz(p,n);
}
converts to
void baz(_Array_ptr<int> p : count(len), int len);
void foo(int *p : itype(_Array_ptr<int>) count(n), int n) {
p = (int *)1;
baz(_Assume_bounds_cast<_Array_ptr<int>>(p, count(len)),n);
}
The inserted _Assume_bounds_cast
is what we want, but the count(len)
is wrong -- it should be count(n)
.