http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57833
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rejects-valid Status|UNCONFIRMED |NEW Last reconfirmed| |2013-07-06 CC| |burnus at gcc dot gnu.org Summary|MOVE_ALLOC's TO actual |Bogus "must not appear in |argument cannot be used in |the array specification ... |subsequent ALLOCATE |in the same ALLOCATE |statement |statement" when used in the | |specification expression | |the bounds var Ever confirmed|0 |1 Known to fail| |4.3.4, 4.8.1, 4.9.0 --- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> --- pure subroutine expand_array(array) character(*), allocatable, intent(INOUT) :: array(:) character(LEN(array)), allocatable :: aux(:) allocate (array(SIZE(aux) + 1)) The problem is that AUX depends on a specification expression involving ARRAY; while valid, it confuses the is-the-same-expression-used check.