------- 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