* Date: Wed, 25 Jun 1997 12:48:26 +0200 (MET DST) * MIME-Version: 1.0 * From: R.Hooft@EuroMail.com (Rob Hooft) * To: g77-alpha@gnu.ai.mit.edu * Subject: Re: testing 970624. * In-Reply-To: <199706251027.GAA07892@churchy.gnu.ai.mit.edu> * References: <199706251018.MAA21538@nu> * <199706251027.GAA07892@churchy.gnu.ai.mit.edu> * X-Mailer: VM 6.30 under Emacs 19.34.1 * Content-Type: text/plain; charset=US-ASCII * * >>>>> "CB" == Craig Burley writes: * * CB> but OTOH I'd like to see more problems like this on other * CB> applications, and especially other systems * * How about this one: An application that prints "112." on all * compilers/platforms I have tested, except with the new g77 on ALPHA (I * don't have the new g77 on any other platform here to test)? * * Application Appended. Source code courtesy of my boss..... * Disclaimer: I do not know the right answer, or even whether there is a * single right answer..... * * Regards, * -- * ===== R.Hooft@EuroMail.com http://www.Sander.EMBL-Heidelberg.DE/rob/ == * ==== In need of protein modeling? http://www.Sander.EMBL-Heidelberg.DE/whatif/ * Validation of protein structures? http://biotech.EMBL-Heidelberg.DE:8400/ ==== * == PGPid 0xFA19277D == Use Linux! Free Software Rules The World! ============= * * nu[152]for% cat humor.f PROGRAM SUBROUTINE LOGICAL ELSE IF INTEGER REAL, GO TO PROGRAM, WHILE REAL FORMAT(2) DATA IF,REAL,END DO,WHILE,FORMAT(2),I2/2,6,7,1,112.,1/ DO THEN=1, END DO, WHILE CALL = END DO - IF PROGRAM = THEN - IF ELSE IF = THEN .GT. IF IF (THEN.GT.REAL) THEN CALL FUNCTION PROGRAM (ELSE IF, GO TO PROGRAM, THEN) ELSE IF (ELSE IF) THEN REAL = THEN + END DO END IF END DO 10 FORMAT(I2/I2) = WHILE*REAL*THEN IF (FORMAT(I2) .NE. FORMAT(I2+I2)) CALL ABORT END ! DO SUBROUTINE FUNCTION PROGRAM (REAL,INTEGER, LOGICAL) LOGICAL REAL REAL LOGICAL INTEGER INTEGER, STOP, RETURN, GO TO ASSIGN 9 TO STOP ASSIGN = 9 + LOGICAL ASSIGN 7 TO RETURN ASSIGN 9 TO GO TO GO TO = 5 STOP = 8 IF (.NOT.REAL) GOTO STOP IF (LOGICAL.GT.INTEGER) THEN IF = LOGICAL +5 IF (LOGICAL.EQ.5) ASSIGN 5 TO IF INTEGER=IF ELSE IF (ASSIGN.GT.STOP) ASSIGN 9 TO GOTO ELSE = GO TO END IF = ELSE + GO TO IF (.NOT.REAL.AND.GOTO.GT.ELSE) GOTO RETURN END IF 5 CONTINUE 7 LOGICAL=LOGICAL+STOP 9 RETURN END ! IF * nu[153]for% f77 humor.f * nu[154]for% ./a.out * 112.0000 * nu[155]for% f90 humor.f * nu[156]for% ./a.out * 112.0000 * nu[157]for% g77 humor.f * nu[158]for% ./a.out * 40.