------- Comment #4 from burnus at gcc dot gnu dot org 2010-04-26 17:38 -------
Confirmed with 4.5.0 and 4.6.0.
At least NAG f95 thinks that the current code is invalid; it writes for the
second file:
Error: m_vector.f03, line 394: Reference via operator * to impure
ROTATION_MATRIX_TIMES_VECTOR from pure ROTATION_MATRIX_TIMES_VECTOR
which is in the following line:
! Compute result
res%x = rot * right%x
* * *
The assert fails at gfc_conv_variable for:
sym = expr->symtree->n.sym;
if (se->ss != NULL)
{
/* Check that something hasn't gone horribly wrong. */
gcc_assert (se->ss != gfc_ss_terminator);
gcc_assert (se->ss->expr == expr); <<<<<<< ICE
* * *
My old "4.6.0 20100421 fortran-dev revision 158628" fails with another ICE:
ICE in gfc_build_null_descriptor, at fortran/trans-array.c:373
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-invalid-code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43896