https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104427

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jsm28 at gcc dot gnu.org

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Matthias Kretz (Vir) from comment #4)
> I can certainly take a look, but so far my GCC internals experience ends
> with the C++ front-end. This ICEs in the pass where front-end trees are
> transformed into GIMPLE, right? So it would be a pass that is not shared
> with the FORTRAN front-end, which surely doesn't have this problem? But in
> principle, the two front-ends would have to produce equivalent GIMPLE for
>   C++: __builtin_assoc_barrier(x + y) - y
>   FORTRAN: (x + y) - y
> right?

The issue is somewhere in the C frontend which uses EXCESS_PRECISION_EXPR
which it fails to properly lower (in C frontend or c-family code) when
the __builtin_assoc_barrier is processed.  I don't know the details there,
Joseph might.  There might be similar issues with C_MAYBE_CONST_EXPR.

Reply via email to