------- Comment #23 from RNMcLean at yahoo dot com 2006-05-03 01:51 ------- (In reply to comment #2) > Let me stress the importance of fixing this bug: it occurs in Basic Linear > Algebra Subprograms (BLAS), in program dcabs1.f: > > double precision function dcabs1(z) > double complex z > double precision t(2) > t=transfer(z,t) > dcabs1 = dabs(t(1)) + dabs(t(2)) > return > end >
I'm unfamiliar with Bugzilla, so if I annoy anyone, apologies. This routine is a puzzle, or else I have completely misunderstood it. The TRANSFER is obviously spurious, as it merely allows the sort of renaming that used to be possible with the deprecated EQUIVALENCE statement, were it to be allowed for parameters. But, why not dcabs1 = abs(real(z)) + abs(aimag(z)) relying on proper precision selection (or, supply d prefixes). Of course, in general the TRANSFER function should work. Best wishes, RNMcLean somewhere by yahoo.com -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17298