This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/31610] [4.3 Regression] ICE with transfer, merge in gfc_conv_expr_descriptor



------- Comment #19 from dominiq at lps dot ens dot fr  2008-01-26 14:41 -------
I confirm that the ICEs are gone, however the original test case and the one in
comment #3 ouput garbage: 'A^@^@^@@sÐ@^E^@^@^@^T^@^@^@^U^G^@' for the latter on
i686-apple-darwin9.

Note that g95 gives

In file pr31610.f90:3

    string = transfer(merge (transfer(achar (ichar('A')), "x", len(string)), st
                                                               1
Warning (148): Not enough data to produce the requested array size in TRANSFER
function at (1)
In file pr31610.f90:3

    string = transfer(merge (transfer(achar (ichar('A')), "x", len(string)), st
                             1
Error: MERGE intrinsic at (1) has different character lengths

for the original test and

In file pr31610_1.f90:1

  write(*,*) "'", transfer("A", "x", 20), "'"
                                     1
Warning (148): Not enough data to produce the requested array size in TRANSFER
function at (1)

for the reduced one, the output being
'A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@'.

I hope this may help to answer the question:

> It points to something being wrong with the scalarization of operators but I am
> blowed if I can see what it is.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31610


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]