https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119320
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- With -fno-exceptions, there is a call to new still around that will either throw or return null. _25 = operator new [] (18446744073709551615); since GCC has no context of what the value of l is, there is some jump threading that goes on and then you get undefined code being injected into the IR. This could be say a GCC bug but the APIs are not obvious if solve could be passed a negative number then it becomes undefined. I say add an assert at the beginging of solve that l is non-negative to fix this warning and to fix a possible security issue.