[Patch, fortran] PR34784 and PR34785 - array constructor "F95" problems

Paul Richard Thomas paul.richard.thomas@gmail.com
Sat Jan 19 18:02:00 GMT 2008


Tobias,

I have been guilty once again of doing the bug fixes with reduced
testscases, whilst moving around, and not going back to the originals.
 Apologies.

> You patch works with the first example of PR34784, but for the second it
> still shows:
>
>       if (present (j1)) stop
>          1
> Error: IF clause at (1) requires a scalar LOGICAL expression

Whilst the posted fix does the job, this shows that it is not right.
I'll put my thinking cap on again.  The fact that changing implicit
character to complex ought to be a clue but....... I just don't quite
see it:)

>
>
> Regarding PR34785: Here, your patch works for my reduced code, but not
> for Dick's initial code; gfortran still gives me a segmentation fault
> for that one.
..snip..

> ==14211==    by 0x49142A: gfc_conv_array_parameter (trans-array.c:5057)

Replacing this line by:
     se->string_length = tmp;

fixes the problem and bootstraps/regtests OK on x86_ia64 (I had
encountered this in the original fix.)

Thanks for the thorough review!  I'll hold off from committing unless
I do not see the solution to the implicit character problem by
tomorrow night.

Paul



More information about the Fortran mailing list