------- Comment #3 from pinskia at gcc dot gnu dot org 2006-11-20 00:27 -------
I think after remove empty loops, we should add a DCE pass which should fix the
above reduced testcase but will not fix this reduced testcase:
int length1();
int g(int);
void f(int capacity_, char*old_storage)
{
try {
length1();
int old_capacity = capacity_;
capacity_ *= 2;
g(capacity_);
for (int i = 1; i < old_capacity; i++)
old_storage[i] = old_storage[i - 1];
} catch (...) {
for (int i = 1; i < capacity_; i++){old_storage[i] = 0;}
}
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29902