http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22184
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-13 14:02:17 UTC --- This is fixed, even if I disable VRP / jump-threading and substitute the info from comment #3 in the code: double MyFunc2 (int size) { int len = size + 1; double Data[16] = {0}; if (len > 3) ; else if (len > 0) ; else return 0; for (int i=0; i<len; i++) Data[i] = Data[i]>=0 ? Data[i] : -Data[i]; return Data[1]; }