glsl/lower_precision: Use vector.back() instead of vector.end()[-1]
authorNeil Roberts <nroberts@igalia.com>
Thu, 2 Apr 2020 14:25:18 +0000 (16:25 +0200)
committerNeil Roberts <nroberts@igalia.com>
Fri, 3 Apr 2020 07:10:17 +0000 (09:10 +0200)
commit63b4fcba33848029e7dd1476d9f82070308a7239
treef88c21d08a09cedbcc5a0f679f0be9460126f588
parentff1a3a00cb37d84ab9a563f0aa241714876f56b4
glsl/lower_precision: Use vector.back() instead of vector.end()[-1]

The use of vector.end()[-1] seems to generate warnings in Coverity about
not allowing a negative argument to a parameter. The intention with the
code snippet is just to access the last element of the vector. The
vector.back() call acheives the same thing, is clearer and will
hopefully fix the Coverity warning.

I’m not exactly sure why Coverity thinks the array index can’t be
negative. cplusplus.com says that vector::end() returns a random access
iterator and that the type of the array index operator argument to that
should be the difference type for the container. It then also says that
difference_type for a vector is "a signed integral type".

Reviewed-by: Eric Anholt <eric@anholt.net>
src/compiler/glsl/lower_precision.cpp