[Bug tree-optimization/72785] [7 Regression] kernel build error since r236831
jgreenhalgh at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 24 11:57:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72785
--- Comment #28 from James Greenhalgh <jgreenhalgh at gcc dot gnu.org> ---
> As far as I can tell the kernel is the only project where this issue ever
> popped up. The fix is straightforward. It just needs to be send to the
> correct kernel maintainer.
Right, but getting the patch in mainline is the easy bit! This bug hits many
released kernels.
> Why do you think this case is any different from any other buggy application
> code that needs adjustments as gcc improves?
In most cases we improve GCC to exploit well defined behaviors of the standard.
In this case we created defined __builtin_constant_p with insufficient
documentation to allow a user to reasonably predict the surprising behavior
shown in this testcase.
GCC has created a path which will never be executed and used that to introduce
a constant which does not exist in the source. Unless you know what
jump-threading can do, this transformation isn't obvious.
More information about the Gcc-bugs
mailing list