https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113628
Harald van Dijk <harald at gigawatt dot nl> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |harald at gigawatt dot nl --- Comment #1 from Harald van Dijk <harald at gigawatt dot nl> --- These two files are not equivalent. The equivalent would be long TVH = (g_106 / (g_51 ? g_51 : 16653417461)); because that is the type that subexpression has. The constant of type long causes everything to be promoted to long, and then finally truncated to int. That is well-defined. By making TVH an int, all the other operations are performed in type int as well.