Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site lanl-a.UUCP Path: utzoo!linus!philabs!cmcl2!lanl-a!pam From: pam@lanl-a.UUCP Newsgroups: net.lang.f77 Subject: f77 Bug Message-ID: <11375@lanl-a.UUCP> Date: Thu, 2-Aug-84 15:14:19 EDT Article-I.D.: lanl-a.11375 Posted: Thu Aug 2 15:14:19 1984 Date-Received: Sat, 4-Aug-84 08:30:08 EDT Organization: Los Alamos National Laboratory Lines: 116 Can anyone provide a fix to this bug in f77 on 4.2BSD? Please reply directly to me, and I'll summarize to net.lang.f77. The bug does not occur if b=cmplx(abs(real(a)),abs(imag(a))) is replaced with b=cmplx(real(a),abs(imag(a))). complex a, b a = (1.0, 2.0) b = cmplx (abs(real(a)), abs(imag(a))) print *, a, b stop end .data 0 .align 2 L15: .long 0x4080 .long 0x4100 .align 2 L22: .long 0x0 .align 2 L23: .long 6 .align 2 L24: .long 1 .align 2 L27: .byte 00,00 .set LWM1,0x800 .data 2 .data 1 .data 0 .globl _MAIN_ .globl _r_imag .globl _s_wsle .globl _do_lio .globl _e_wsle .globl _s_stop .align 2 .stabs "complex.f",0x64,0,0,0 .text .globl _MAIN_ _MAIN_: .word LWM1 subl2 $LF1,sp jmp L12 L13: movf L15,v.2-v.1(r11) movf L15+4,v.2-v.1+4(r11) movf v.2-v.1(r11),-4(fp) cvtfd -4(fp),-24(fp) cmpf L22,-4(fp) jgtr L9999 movf -4(fp),r0 jbr L9998 L9999: mnegf -4(fp),r0 L9998: cvtfd r0,-40(fp) cvtdf -40(fp),-32(fp) clrf -28(fp) movf -32(fp),v.3-v.1(r11) movf -28(fp),v.3-v.1+4(r11) pushl $v.4 calls $1,_s_wsle pushl $8 addl3 $v.2-v.1,r11,r0 pushl r0 pushl $L24 pushl $L23 calls $4,_do_lio pushl $8 addl3 $v.3-v.1,r11,r0 pushl r0 pushl $L24 pushl $L23 calls $4,_do_lio calls $0,_e_wsle pushl $0 pushl $L27 calls $2,_s_stop L14: ret .align 1 L12: movl $v.1,r11 jmp L13 .set LF1,40 .text .data 2 .align 2 v.4: .long 0 .long 6 .space 4 .long 0 .align 2 v.2: .space 8 .align 2 v.3: .space 8 .set v.1,v.3 output from executable: ( 1.00000, 2.00000) ( 1.00000, 0.) The above is incorrect. The correct output should be: ( 1.00000, 2.00000) ( 1.00000, 2.00000)