DCH writes: > > > > I haven't actually compiled up your program, but immediately alarm > > > bells are ringing when I see things like > > > > > > a = *(vec + i) > > > >It's just a nonstandard way to write vec[i]. I mean, it's weird, but > >it's not actually wrong. :-) > > Sure. The point I was making is that the variable i was being > incremented up to a ceiling value > which was determined by a function parameter, i.e. you're trusting > whoever calls your function > to get the value of this parameter correct. Much safer to iterate > with a vector: > > for (size_t i = 0, length = vec.size(); i < length; ++i) { > do something with vec[i]; > } Right, but that's a red herring here: the code in question doesn't seem to be getting that wrong. I don't agree with your point in general, but it seems to be at best only tangentially related to the OP's problem. What we need from the OP is a description of the expected behaviour, and then we can discover whether this really is a compiler bug. Andrew.