------- Comment #2 from rguenth at gcc dot gnu dot org 2009-12-11 11:49 ------- Confirmed. Fails everywhere.
The issue is that flag_complex_method is not the same in lto1 compared to cc1 so we lower the complex multiplication differently. The specific issue is that we fold D.2036_6 = __complex__ ( Inf, 0.0) * __complex__ (0.0, 1.0e+0); D.2035_7 = D.2036_6 * D.2036_6; to D.2036_6 = COMPLEX_EXPR < Nan, Inf>; D.2035_7 = COMPLEX_EXPR < Nan, Nan>; with -fcx-fortran-rules (flag_complex_method == 1). So the particular issue is a middle-end one while the general flag_complex_method issue remains. In the end we need to move flag_complex_method into the IL just like flag_wrapv. I'm going to try fix the testcase at least. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2009-12-11 11:49:25 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41915