|
|
|
@ -246,7 +246,6 @@ void list_move_assignment(std::list<int> &L1, std::list<int> &L2) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_container(i1) == &L1); // expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_container(i2) == &L1); // expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L1)); // expected-warning{{$L2.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L2.begin()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -265,7 +264,6 @@ void vector_move_assignment(std::vector<int> &V1, std::vector<int> &V2) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_container(i1) == &V1); // expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_container(i2) == &V1); // expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V1)); // expected-warning{{$V2.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$V2.begin()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -284,7 +282,6 @@ void deque_move_assignment(std::deque<int> &D1, std::deque<int> &D2) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_container(i1) == &D1); // expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_container(i2) == &D1); // expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D1)); // expected-warning{{$D2.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$D2.begin()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -302,7 +299,6 @@ void forward_list_move_assignment(std::forward_list<int> &FL1,
|
|
|
|
|
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_container(i1) == &FL1); // expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL1)); // expected-warning{{$FL2.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$FL2.begin()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -400,10 +396,7 @@ void list_push_back(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end() + 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.end() - 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}} FIXME: Should be $L.end() + 1
|
|
|
|
|
}
|
|
|
|
@ -422,10 +415,7 @@ void vector_push_back(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(V)); // expected-warning{{$V.end() + 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$V.end() - 1}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -443,9 +433,6 @@ void deque_push_back(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(D)); // expected-warning{{$D.end()}} FIXME: Should be $D.end() + 1 (to correctly track the container's size)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// emplace_back()
|
|
|
|
@ -469,10 +456,7 @@ void list_emplace_back(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end() + 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}} FIXME: Should be $L.end() + 1
|
|
|
|
|
}
|
|
|
|
@ -491,10 +475,7 @@ void vector_emplace_back(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(V)); // expected-warning{{$V.end() + 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$V.end() - 1}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -512,9 +493,6 @@ void deque_emplace_back(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(D)); // expected-warning{{$D.end()}} FIXME: Should be $D.end() + 1 (to correctly track the container's size)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// pop_back()
|
|
|
|
@ -538,10 +516,7 @@ void list_pop_back(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end() - 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}} FIXME: Should be $L.end() - 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -560,10 +535,7 @@ void vector_pop_back(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(V)); // expected-warning{{$V.end() - 1}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// std::deque-like containers: Iterators to the last element are invalidated.
|
|
|
|
@ -582,10 +554,7 @@ void deque_pop_back(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$D.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(D)); // expected-warning{{$D.end() - 1}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// push_front()
|
|
|
|
@ -608,10 +577,7 @@ void list_push_front(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin() - 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -629,10 +595,6 @@ void deque_push_front(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}} FIXME: Should be $D.begin() - 1 (to correctly track the container's size)
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(D)); // expected-warning{{$D.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// std::forward_list-like containers: No iterators are invalidated.
|
|
|
|
@ -648,10 +610,7 @@ void forward_list_push_front(std::forward_list<int> &FL, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL)); // expected-warning{{$FL.begin() - 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(FL)); // expected-warning{{$FL.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$FL.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -675,10 +634,7 @@ void list_emplace_front(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin() - 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -696,10 +652,6 @@ void deque_emplace_front(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}} FIXME: Should be $D.begin - 1 (to correctly track the container's size)
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(D)); // expected-warning{{$D.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// std::forward_list-like containers: No iterators are invalidated.
|
|
|
|
@ -715,10 +667,7 @@ void forward_list_emplace_front(std::forward_list<int> &FL, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL)); // expected-warning{{$FL.begin() - 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(FL)); // expected-warning{{$FL.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$FL.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -743,10 +692,7 @@ void list_pop_front(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin() + 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.begin() + 1}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -765,10 +711,7 @@ void deque_pop_front(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin() + 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$D.begin() + 1}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(D)); // expected-warning{{$D.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$D.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -787,10 +730,7 @@ void forward_list_pop_front(std::list<int> &FL, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL)); // expected-warning{{$FL.begin() + 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$FL.begin() + 1}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(FL)); // expected-warning{{$FL.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$FL.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -817,11 +757,8 @@ void list_insert_begin(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}} FIXME: Should be $L.begin() - 1
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i2)); FIXME: expect warning $L.begin() - 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -837,12 +774,9 @@ void list_insert_behind_begin(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}} FIXME: Should be $L.begin() - 1
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}} FIXME: Should be $L.begin() - 1
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.begin() + 1}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $L.begin()
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -861,13 +795,9 @@ void list_insert_unknown(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$i1}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $i - 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -883,10 +813,7 @@ void list_insert_ahead_of_end(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.end() - 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $L.end() - 2
|
|
|
|
@ -904,10 +831,7 @@ void list_insert_end(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.end() - 1}} FIXME: should be $L.end() - 2
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $L.end() - 1
|
|
|
|
@ -928,10 +852,7 @@ void vector_insert_begin(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}} FIXME: Should be $V.begin() - 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i2)); FIXME: expect warning $V.begin() - 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); // FIXME: expect warning $V.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void vector_insert_behind_begin(std::vector<int> &V, int n) {
|
|
|
|
@ -946,11 +867,8 @@ void vector_insert_behind_begin(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}} FIXME: Should be $V.begin() - 1
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}} FIXME: Should be $V.begin() - 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); // FIXME: expect -warning $V.begin()
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); // FIXME: expect warning $V.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void vector_insert_unknown(std::vector<int> &V, int n) {
|
|
|
|
@ -966,12 +884,8 @@ void vector_insert_unknown(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expecte warning $i1 - 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); FIXME expect warning $V.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void vector_insert_ahead_of_end(std::vector<int> &V, int n) {
|
|
|
|
@ -986,10 +900,7 @@ void vector_insert_ahead_of_end(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); FIXME: expect warning $V.end() + 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $V.end() - 2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1005,10 +916,7 @@ void vector_insert_end(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); FIXME: expect warning $V.end()
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$V.end() - 1}} FIXME: Should be $V.end() - 2
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $V.end() - 1
|
|
|
|
|
}
|
|
|
|
@ -1027,10 +935,7 @@ void deque_insert_begin(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}} FIXME: Should be $D.begin() - 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i2)); FIXME: expect warning $D.begin() - 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void deque_insert_behind_begin(std::deque<int> &D, int n) {
|
|
|
|
@ -1045,10 +950,7 @@ void deque_insert_behind_begin(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}} FIXME: Should be $D.begin - 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $D.begin() - 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void deque_insert_unknown(std::deque<int> &D, int n) {
|
|
|
|
@ -1064,11 +966,7 @@ void deque_insert_unknown(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $i1 - 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void deque_insert_ahead_of_end(std::deque<int> &D, int n) {
|
|
|
|
@ -1083,9 +981,6 @@ void deque_insert_ahead_of_end(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end() + 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $D.end() - 2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1101,9 +996,6 @@ void deque_insert_end(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end()
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $D.end() - 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1128,11 +1020,8 @@ void forward_list_insert_after_begin(std::forward_list<int> &FL, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i2)); FIXME: expect warning $FL.begin() + 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(FL)); // expected-warning{{$FL.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$FL.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1148,12 +1037,9 @@ void forward_list_insert_after_behind_begin(std::forward_list<int> &FL, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$FL.begin() + 1}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $FL.begin() + 2
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(FL)); // expected-warning{{$FL.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$FL.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1170,13 +1056,9 @@ void forward_list_insert_after_unknown(std::forward_list<int> &FL, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$i1}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $i1 + 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(FL)); // expected-warning{{$FL.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$FL.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1203,11 +1085,8 @@ void list_emplace_begin(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}} FIXME: Should be $L.begin() - 1
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i2)); FIXME: expect warning $L.begin() - 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1223,12 +1102,9 @@ void list_emplace_behind_begin(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}} FIXME: Should be $L.begin() - 1
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}} FIXME: Should be $L.begin() - 1
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.begin() + 1}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $L.begin()
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1247,13 +1123,9 @@ void list_emplace_unknown(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$i1}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $i - 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1269,10 +1141,7 @@ void list_emplace_ahead_of_end(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.end() - 1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $L.end() - 2
|
|
|
|
@ -1290,10 +1159,7 @@ void list_emplace_end(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.end() - 1}} FIXME: should be $L.end() - 2
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $L.end() - 1
|
|
|
|
@ -1313,11 +1179,7 @@ void vector_emplace_begin(std::vector<int> &V, int n) {
|
|
|
|
|
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}} FIXME: Should be $V.begin() - 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i2)); FIXME: expect warning $V.begin() - 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); // FIXME: expect warning $V.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void vector_emplace_behind_begin(std::vector<int> &V, int n) {
|
|
|
|
@ -1332,11 +1194,8 @@ void vector_emplace_behind_begin(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}} FIXME: Should be $V.begin() - 1
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}} FIXME: Should be $V.begin() - 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); // FIXME: expect -warning $V.begin()
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); // FIXME: expect warning $V.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void vector_emplace_unknown(std::vector<int> &V, int n) {
|
|
|
|
@ -1352,12 +1211,8 @@ void vector_emplace_unknown(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expecte warning $i1 - 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); FIXME expect warning $V.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void vector_emplace_ahead_of_end(std::vector<int> &V, int n) {
|
|
|
|
@ -1372,10 +1227,7 @@ void vector_emplace_ahead_of_end(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); FIXME: expect warning $V.end() + 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $V.end() - 2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1391,10 +1243,7 @@ void vector_emplace_end(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); FIXME: expect warning $V.end()
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$V.end() - 1}} FIXME: Should be $V.end() - 2
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $V.end() - 1
|
|
|
|
|
}
|
|
|
|
@ -1412,11 +1261,7 @@ void deque_emplace_begin(std::deque<int> &D, int n) {
|
|
|
|
|
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}} FIXME: Should be $D.begin() - 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i2)); FIXME: expect warning $D.begin() - 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void deque_emplace_behind_begin(std::deque<int> &D, int n) {
|
|
|
|
@ -1430,11 +1275,7 @@ void deque_emplace_behind_begin(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}} FIXME: Should be $D.begin - 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $D.begin() - 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void deque_emplace_unknown(std::deque<int> &D, int n) {
|
|
|
|
@ -1450,11 +1291,7 @@ void deque_emplace_unknown(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $i1 - 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void deque_emplace_ahead_of_end(std::deque<int> &D, int n) {
|
|
|
|
@ -1469,9 +1306,6 @@ void deque_emplace_ahead_of_end(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end() + 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $D.end() - 2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1487,9 +1321,6 @@ void deque_emplace_end(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end()
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $D.end() - 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1514,11 +1345,8 @@ void forward_list_emplace_after_begin(std::forward_list<int> &FL, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i0)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i2)); FIXME: expect warning $FL.begin() + 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(FL)); // expected-warning{{$FL.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$FL.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1535,12 +1363,9 @@ void forward_list_emplace_after_behind_begin(std::forward_list<int> &FL,
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$FL.begin() + 1}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $FL.begin() + 2
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(FL)); // expected-warning{{$FL.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$FL.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1557,13 +1382,9 @@ void forward_list_emplace_after_unknown(std::forward_list<int> &FL, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$i1}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $i1 + 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(FL)); // expected-warning{{$FL.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$FL.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1592,11 +1413,8 @@ void list_erase_begin(std::list<int> &L) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}} FIXME: Should be$L.begin() + 1
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$L.begin() + 1}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $L.begin() + 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1612,11 +1430,8 @@ void list_erase_behind_begin(std::list<int> &L, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}} FIXME: Should be $L.begin() + 1
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}} FIXME: Should be $L.begin() + 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $L.begin() + 2
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1633,12 +1448,8 @@ void list_erase_unknown(std::list<int> &L) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $i1 + 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1654,10 +1465,7 @@ void list_erase_ahead_of_end(std::list<int> &L) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(L)); // expected-warning{{$L.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$L.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(L)); // expected-warning{{$L.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$L.end()}}
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $L.end()
|
|
|
|
|
}
|
|
|
|
@ -1677,10 +1485,7 @@ void vector_erase_begin(std::vector<int> &V) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}} FIXME: Should be $V.begin() + 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $V.begin() + 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); FIXME: expect warning $V.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void vector_erase_behind_begin(std::vector<int> &V, int n) {
|
|
|
|
@ -1695,11 +1500,8 @@ void vector_erase_behind_begin(std::vector<int> &V, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}} FIXME: Should be $V.begin() + 1
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}} FIXME: Should be $V.begin() + 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $V.begin() + 2
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); FIXME: expect warning $V.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void vector_erase_unknown(std::vector<int> &V) {
|
|
|
|
@ -1715,12 +1517,8 @@ void vector_erase_unknown(std::vector<int> &V) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $i1 + 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); FIXME: expect warning $V.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void vector_erase_ahead_of_end(std::vector<int> &V) {
|
|
|
|
@ -1735,10 +1533,7 @@ void vector_erase_ahead_of_end(std::vector<int> &V) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(V)); // expected-warning{{$V.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$V.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(V)); FIXME: expect warning $V.end()
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $V.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1762,10 +1557,7 @@ void deque_erase_begin(std::deque<int> &D) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}} FIXME: Should be $D.begin() + 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $D.begin() + 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning{{$D.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void deque_erase_behind_begin(std::deque<int> &D, int n) {
|
|
|
|
@ -1780,10 +1572,7 @@ void deque_erase_behind_begin(std::deque<int> &D, int n) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}} FIXME: Should be $D.begin() + 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $D.begin() + 2
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void deque_erase_unknown(std::deque<int> &D) {
|
|
|
|
@ -1799,11 +1588,7 @@ void deque_erase_unknown(std::deque<int> &D) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $i1 + 1
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void deque_erase_ahead_of_end(std::deque<int> &D) {
|
|
|
|
@ -1818,9 +1603,6 @@ void deque_erase_ahead_of_end(std::deque<int> &D) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i1)); //expected-warning{{FALSE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{FALSE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(D)); // expected-warning{{$D.begin()}}
|
|
|
|
|
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_container_end(D)); FIXME: expect warning $D.end()
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i3)); FIXME: expect warning $D.end()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1851,12 +1633,9 @@ void forward_list_erase_after_begin(std::forward_list<int> &FL) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i2)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i3)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i2)); // expected-warning{{$FL.begin() + 2}} FIXME: Should be $FL.begin() + 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i4)); FIXME: expect warning $FL.begin() + 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(FL)); // expected-warning{{$FL.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i3)); // expected-warning{{$FL.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1879,14 +1658,10 @@ void forward_list_erase_after_unknown(std::forward_list<int> &FL) {
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i3)); //expected-warning{{TRUE}}
|
|
|
|
|
clang_analyzer_eval(clang_analyzer_iterator_validity(i4)); //expected-warning{{TRUE}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_begin(FL)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i0)); // expected-warning{{$FL.begin()}}
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i1)); // expected-warning{{$i1}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i3)); // expected-warning{{$i1 + 2}} FIXME: Should be $i1 + 1
|
|
|
|
|
// clang_analyzer_express(clang_analyzer_iterator_position(i5)); FIXME: expect warning $i1 + 1
|
|
|
|
|
|
|
|
|
|
clang_analyzer_express(clang_analyzer_container_end(FL)); // expected-warning{{$FL.end()}}
|
|
|
|
|
clang_analyzer_express(clang_analyzer_iterator_position(i4)); // expected-warning{{$FL.end()}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1981,9 +1756,7 @@ void print_state(std::vector<int> &V) {
|
|
|
|
|
clang_analyzer_printState();
|
|
|
|
|
|
|
|
|
|
// CHECK: "checker_messages": [
|
|
|
|
|
// CHECK-NEXT: { "checker": "alpha.cplusplus.IteratorModeling", "messages": [
|
|
|
|
|
// CHECK-NEXT: "Container Data :",
|
|
|
|
|
// CHECK-NEXT: "SymRegion{reg_$[[#]]<std::vector<int> & V>} : [ conj_$[[#]]{long, LC[[#]], S[[#]], #[[#]]} .. <Unknown> ]",
|
|
|
|
|
// CHECK: { "checker": "alpha.cplusplus.IteratorModeling", "messages": [
|
|
|
|
|
// CHECK-NEXT: "Iterator Positions :",
|
|
|
|
|
// CHECK-NEXT: "i0 : Valid ; Container == SymRegion{reg_$[[#]]<std::vector<int> & V>} ; Offset == conj_$[[#]]{long, LC[[#]], S[[#]], #[[#]]}"
|
|
|
|
|
// CHECK-NEXT: ]}
|
|
|
|
@ -1992,9 +1765,7 @@ void print_state(std::vector<int> &V) {
|
|
|
|
|
clang_analyzer_printState();
|
|
|
|
|
|
|
|
|
|
// CHECK: "checker_messages": [
|
|
|
|
|
// CHECK-NEXT: { "checker": "alpha.cplusplus.IteratorModeling", "messages": [
|
|
|
|
|
// CHECK-NEXT: "Container Data :",
|
|
|
|
|
// CHECK-NEXT: "SymRegion{reg_$[[#]]<std::vector<int> & V>} : [ conj_$[[#]]{long, LC[[#]], S[[#]], #[[#]]} .. conj_$[[#]]{long, LC[[#]], S[[#]], #[[#]]} ]",
|
|
|
|
|
// CHECK: { "checker": "alpha.cplusplus.IteratorModeling", "messages": [
|
|
|
|
|
// CHECK-NEXT: "Iterator Positions :",
|
|
|
|
|
// CHECK-NEXT: "i1 : Valid ; Container == SymRegion{reg_$[[#]]<std::vector<int> & V>} ; Offset == conj_$[[#]]{long, LC[[#]], S[[#]], #[[#]]}"
|
|
|
|
|
// CHECK-NEXT: ]}
|
|
|
|
|