mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 23:00:11 +01:00
r600/sb: cleanup if_conversion iterator to be legal C++
The current code causes: /usr/include/c++/8/debug/safe_iterator.h:207: Error: attempt to copy from a singular iterator. This is due to the iterators getting invalidated, fix the reverse iterator to use the return value from erase, and cast it properly. (used Mathias suggestion) Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
This commit is contained in:
parent
45f9d58668
commit
8c51caab24
1 changed files with 4 additions and 7 deletions
|
|
@ -42,16 +42,13 @@ int if_conversion::run() {
|
|||
regions_vec &rv = sh.get_regions();
|
||||
|
||||
unsigned converted = 0;
|
||||
|
||||
for (regions_vec::reverse_iterator N, I = rv.rbegin(), E = rv.rend();
|
||||
I != E; I = N) {
|
||||
N = I; ++N;
|
||||
|
||||
for (regions_vec::reverse_iterator I = rv.rbegin(); I != rv.rend(); ) {
|
||||
region_node *r = *I;
|
||||
if (run_on(r)) {
|
||||
rv.erase(I.base() - 1);
|
||||
I = regions_vec::reverse_iterator(rv.erase((++I).base()));
|
||||
++converted;
|
||||
}
|
||||
} else
|
||||
++I;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue