https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123351
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jakub Jelinek <[email protected]>: https://gcc.gnu.org/g:c6085ca0ed4cef3bcf4eb382cb71e44219c10f6e commit r16-6516-gc6085ca0ed4cef3bcf4eb382cb71e44219c10f6e Author: Jakub Jelinek <[email protected]> Date: Tue Jan 6 08:36:20 2026 +0100 tree-object-size: Deterministic SSA generation [PR123351] The order of evaluation of function arguments is unspecified in C++. The function object_sizes_set_temp called object_sizes_set with two calls to make_ssa_name() as arguments. Since make_ssa_name() has the side effect of incrementing the global SSA version counter, different architectures of the same compiler evaluated these calls in different orders. This resulted in non-deterministic SSA version numbering between x86_64 and aarch64 hosts during cross-compilation, leading to divergent object files. Sequencing the calls into separate statements ensures deterministic evaluation order. 2026-01-06 Jakub Jelinek <[email protected]> Marco Falke <[email protected]> PR tree-optimization/123351 * tree-object-size.cc (object_sizes_set_temp): Separate calls to make_ssa_name to ensure deterministic execution order.
