https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95706
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2020-07-02 Ever confirmed|0 |1 --- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> --- The interesting thing is that for a x86_64 -> aarch64-linux cross the error _also_ appears on line 5: > ./f951 -quiet /home/rguenther/src/gcc3/gcc/testsuite/gfortran.dg/pr95690.f90 > -o pr95690.s -fno-diagnostics-show-caret /home/rguenther/src/gcc3/gcc/testsuite/gfortran.dg/pr95690.f90:5:0: Error: initializer for floating value is not a floating constant so - what line number does the test report for a aarch64 -> x86_64-linux cross? Note the error is emitted via output_constant via 4980 case REAL_TYPE: 4981 if (TREE_CODE (exp) != REAL_CST) 4982 error ("initializer for floating value is not a floating constant"); so it depends on input_location (ick). Now the question is where on earth input_location has a dependence on the host ... On x86_64 the respective location is set via New value = 2147483652 expand_gimple_stmt (stmt=<gimple_call 0x7ffff69dd260>) at /home/rguenther/src/gcc3/gcc/cfgexpand.c:3847 3847 expand_gimple_stmt_1 (stmt); (gdb) l 3842 it would be better if the diagnostic routines used the source location 3843 embedded in the tree nodes rather than globals. */ 3844 if (gimple_has_location (stmt)) 3845 input_location = gimple_location (stmt); 3846 3847 expand_gimple_stmt_1 (stmt); (gdb) p debug_gimple_stmt (stmt) # .MEM_7 = VDEF <.MEM_6> _gfortran_transfer_real_write (&dt_parm.0, &C.3905, 4); which is where we expand C.3905 from.