Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
622cc043
Commit
622cc043
authored
Jun 05, 1999
by
Craig Burley
Committed by
Craig Burley
Jun 05, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
replace with better test
From-SVN: r27370
parent
0ff83799
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
65 additions
and
345 deletions
+65
-345
gcc/testsuite/ChangeLog
+5
-0
gcc/testsuite/g77.f-torture/compile/19990502-0.f
+60
-345
No files found.
gcc/testsuite/ChangeLog
View file @
622cc043
1999-06-05 Craig Burley <craig@jcb-sc.com>
* g77.f-torture/compile/19990502-0.f: Replace with new,
shorter, test that still fails after recent changes.
Fri Jun 4 02:25:04 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
Fri Jun 4 02:25:04 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* gcc.c-torture/execute/990604-1.c: New test.
* gcc.c-torture/execute/990604-1.c: New test.
...
...
gcc/testsuite/g77.f-torture/compile/19990502-0.f
View file @
622cc043
SUBROUTINE TRF2F2(QDERIV,QPRINT,
* Mailing-List: contact egcs-bugs-help@egcs.cygnus.com; run by ezmlm
@ XRH,XRK,XRL,FCALC,FOBS,FPART,WEIGHT,TEST,FOM,
* Precedence: bulk
@ ITEST)
* Sender: owner-egcs-bugs@egcs.cygnus.com
C
* From: Norbert Conrad <Norbert.Conrad@hrz.uni-giessen.de>
C Computes the standard linear correlation coefficient between
* Subject: egcs g77 19990524pre Internal compiler error in `print_operand'
C F(obs)^2 and F(calc)^2 or between |F(obs)| and |F(calc)|
* To: egcs-bugs@egcs.cygnus.com
C
* Date: Mon, 31 May 1999 11:46:52 +0200 (CET)
C Author: Axel T. Brunger
* Content-Type: text/plain; charset=US-ASCII
C =======================
* X-UIDL: 9a00095a5fe4d774b7223de071157374
IMPLICIT NONE
*
C I/O
* Hi,
C*
*
C* BEGINNING OF INCLUDE FILE: xrefin.fcm
* I ./configure --prefix=/opt and bootstrapped egcs g77 snapshot 19990524
C*
* on an i686-pc-linux-gnu. The program below gives an internal compiler error.
C
*
C XREFIN.FCM
*
C
* Script started on Mon May 31 11:30:01 1999
C data structure for XREFIN.FLX
* lx{g010}:/tmp>/opt/bin/g77 -v -O3 -malign-double -c e3.f
C crystallographic restraints
* g77 version gcc-2.95 19990524 (prerelease) (from FSF-g77 version 0.5.24-19990515)
C
* Reading specs from /opt/lib/gcc-lib/i686-pc-linux-gnu/gcc-2.95/specs
C update flags
* gcc version gcc-2.95 19990524 (prerelease)
LOGICAL XRQCHK, XRUPAT, XRREUP
* /opt/lib/gcc-lib/i686-pc-linux-gnu/gcc-2.95/f771 e3.f -quiet -dumpbase e3.f -malign-double -O3 -version -fversion -o /tmp/ccQgeaaa.s
C
* GNU F77 version gcc-2.95 19990524 (prerelease) (i686-pc-linux-gnu) compiled by GNU C version gcc-2.95 19990524 (prerelease).
C method flag
* GNU Fortran Front End version 0.5.24-19990515
LOGICAL QFFT, QLOOK
* e3.f:25: Internal compiler error in `print_operand', at ./config/i386/i386.c:3405
C target function string
* Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
CHARACTER*4 XRTRGT
* See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.
C
* lx{g010}:/tmp>cat e3.f
C tolerance for linear approximation
SUBROUTINE DLASQ2( QQ, EE, TOL2, SMALL2 )
DOUBLE PRECISION XRLTOL
DOUBLE PRECISION SMALL2, TOL2
C
DOUBLE PRECISION EE( * ), QQ( * )
C x-ray diffraction data
INTEGER ICONV, N, OFF
C XRMREF: max. allocation for reflections
DOUBLE PRECISION QEMAX, XINF
C XRNREF: current number of reflections
EXTERNAL DLASQ3
C XRIREF: number of reflections within limits (resolution, f_window...)
INTRINSIC MAX, SQRT
C XRNPHA: number of phase specifications
XINF = 0.0D0
C XRH, XRK, XRL: reflection indices
ICONV = 0
C FOBS: observed structure factor
IF( EE( N ).LE.MAX( QQ( N ), XINF, SMALL2 )*TOL2 ) THEN
C FOM: figure of merit for observed phases (zero if not used)
C WEIGHT: individual weight
C FCALC: calculated structure factor
C FPART: partial structure factor to be added to FCALC
C TEST: integer array for cross-validation tests
INTEGER XRMREF, XRNREF, XRIREF, XRNPHA
INTEGER HPH, HPK, HPL, HPFOBS, HPFCAL, HPFPAR, HPFOM
INTEGER HPWEIG, HPTEST, HPSIGM
C scattering tables
INTEGER XRSM, XRSN
PARAMETER (XRSM=20)
DOUBLE PRECISION XRSA(XRSM,4), XRSB(XRSM,4), XRSC(XRSM)
DOUBLE PRECISION XRF(XRSM), XRSI(XRSM)
C unit cell
DOUBLE PRECISION XRCELL(9), XRTR(3,3), XRINTR(3,3), XRVOL
C symmetry operators
INTEGER XRNSYM, XRMSYM, XRSYTH
PARAMETER (XRMSYM=192, XRSYTH=24)
INTEGER XRSYMM(XRMSYM,3,4), XRITSY(XRMSYM,3,3)
LOGICAL QHERM
C reciprocal resolution limits
DOUBLE PRECISION XRHIGH, XRLOW
C fobs limits
DOUBLE PRECISION XRFLOW, XRFHIG
C XREFIN atom lists
INTEGER XRMATO, XRNATO, XRNATF, HPFLAG, HPATOM, HPINDX
INTEGER HPATOF, HPINDF, HPFX, HPFY, HPFZ, HPFB, HPFQ, HPFQS
INTEGER HPDX, HPDY, HPDZ, HPDT, HPDQ
C scale factor
DOUBLE PRECISION XRSCAL
C phase potential scale factor and exponent
DOUBLE PRECISION XRPSCA
INTEGER XRPEXP
C Fobs/Fcalc scale factor
DOUBLE PRECISION XRFFK
LOGICAL XRFFKQ
C unscaled restraint energies
DOUBLE PRECISION XRE, XREPHA
C number of bins for R factor analysis
INTEGER MBINS
C logical flag indicating the presence of TEST sets (for
C cross-validation)
LOGICAL XCVTEST
C
C double precision common block
C
COMMON /XREFI/ XRLTOL,
@ XRSA, XRSB, XRSC, XRF, XRSI,
@ XRCELL, XRTR, XRINTR, XRHIGH, XRLOW,
@ XRSCAL, XRPSCA,
@ XRFFK, XRE, XREPHA,
@ XRFLOW, XRFHIG, XRVOL
C
C integer common block
C
COMMON /IXREFI/
@ XRMREF, XRNREF, XRIREF, XRNPHA, HPH, HPK, HPL,
@ HPFOBS, HPFCAL, HPFPAR, HPFOM, HPWEIG, HPTEST,
@ HPSIGM, XRSN, HPFLAG,
@ XRMATO, XRNATO, HPATOM, HPINDX, XRNATF, HPATOF,
@ HPINDF, HPFX, HPFY, HPFZ, HPFB, HPFQ, HPFQS,
@ HPDX, HPDY, HPDZ, HPDT, HPDQ,
@ XRPEXP,
@ XRNSYM, XRSYMM, MBINS, XRITSY
C
C logical common block
C
COMMON /LXREFI/ XRQCHK, XRUPAT, XRFFKQ,
@ QFFT, QLOOK, XRREUP, QHERM, XCVTEST
C
C character string common block
C
COMMON /CXREFI/ XRTRGT
C
SAVE /XREFI/
SAVE /IXREFI/
SAVE /LXREFI/
SAVE /CXREFI/
C*
C* BEGINNING OF INCLUDE FILE: consta.fcm
C*
C CONSTA.FCM
C
C this file contains all physical and mathematical constants
C and conversion factors.
C
C at present the following units are used:
C
C length: Angstroms
C time: ps
C energy: Kcal/mol
C mass: atomic-mass-unit
C charge: electron-charge
C
C
DOUBLE PRECISION RSMALL
PARAMETER (RSMALL=1.0D-10)
DOUBLE PRECISION R4SMAL,R4BIG
PARAMETER (R4SMAL=0.0001D0,R4BIG=1.0D+10)
C
C physical constants in SI units
C ------------------------------
C Kb = 1.380662 E-23 J/K
C Na = 6.022045 E23 1/mol
C e = 1.6021892 E-19 C
C eps = 8.85418782 E-12 F/m
C
C 1 Kcal = 4184.0 J
C 1 amu = 1.6605655 E-27 Kg
C 1 A = 1.0 E-10 m
C
C reference: CRC Handbook for Chemistry and Physics, 1983/84
C
C
DOUBLE PRECISION PI
PARAMETER(PI=3.1415926535898D0)
C
C TIMFAC is the conversion factor from AKMA time to picoseconds.
C (TIMFAC = SQRT ( ( 1A )**2 * 1amu * Na / 1Kcal )
C this factor is used only intrinsically, all I/O is in ps.
C
DOUBLE PRECISION TIMFAC
PARAMETER (TIMFAC=0.04888821D0)
C
C KBOLTZ is Boltzman constant AKMA units (KBOLTZ = N *K / 1 Kcal)
C a b
DOUBLE PRECISION KBOLTZ
PARAMETER (KBOLTZ=1.987191D-03)
C
C CCELEC is 1/ (4 pi eps ) in AKMA units, conversion from SI
C units: CCELEC = e*e*Na / (4*pi*eps*1Kcal*1A)
C
DOUBLE PRECISION CCELEC
PARAMETER (CCELEC=332.0636D0)
C
C CDEBHU is used in the Debye-Hueckel approximation:
C DIV GRAD phi = kappa**2 phi
C kappa**2 = CDEBHU * ionic_strength [M] / ( T [K] eps )
C ext
C where CDEBHU is defined as CDEBHU=2E+3 Na e**2 / (eps0 Kb )
C (in SI units, ref: Gordon M.Barrow, Physical Chemistry,
C McGraw Hill (1979) ) and ionic_strength is given in molar units.
C The conversion to AKMA units brings another factor 1.0E-20.
C
DOUBLE PRECISION CDEBHU
PARAMETER (CDEBHU=2529.09702D0)
LOGICAL QDERIV, QPRINT
INTEGER XRH(*), XRK(*), XRL(*)
DOUBLE COMPLEX FCALC(*), FOBS(*), FPART(*)
DOUBLE PRECISION WEIGHT(*)
INTEGER TEST(*)
DOUBLE PRECISION FOM(*)
INTEGER ITEST
C local
INTEGER REFLCT
DOUBLE PRECISION CI, CJ, CII, CJJ, CIJ, IFCALC, IFOBS
DOUBLE PRECISION WSUM, DSUM, CSUM, DERIV, CORR
CHARACTER*30 LINE
INTEGER LLINE
DOUBLE COMPLEX DBCOMP
C parameters
DOUBLE PRECISION ZERO, ONE, TWO, THREE, FOUR
PARAMETER (ZERO=0.0D0, ONE=1.0D0, TWO=2.0D0, THREE=3.0D0)
PARAMETER (FOUR=4.0D0)
C begin
C
C initialize correlation coefficients
WSUM=ZERO
CI=ZERO
CJ=ZERO
CII=ZERO
CJJ=ZERO
CIJ=ZERO
IF (XRTRGT.EQ.'F2F2') THEN
DO 17790 REFLCT=1,XRIREF
IF (TEST(REFLCT).EQ.ITEST) THEN
C
C compute F^2's
IFOBS=DREAL(FOBS(REFLCT))**2+DIMAG(FOBS(REFLCT))**2
IFCALC=DREAL(FCALC(REFLCT)+FPART(REFLCT))**2
@ +DIMAG(FCALC(REFLCT)+FPART(REFLCT))**2
C
C accumulate information for weighted correlation coefficients
WSUM=WSUM+WEIGHT(REFLCT)
CI=CI+WEIGHT(REFLCT)*IFOBS
CJ=CJ+WEIGHT(REFLCT)*IFCALC
CII=CII+WEIGHT(REFLCT)*IFOBS**2
CJJ=CJJ+WEIGHT(REFLCT)*IFCALC**2
CIJ=CIJ+WEIGHT(REFLCT)*IFOBS*IFCALC
END IF
END IF
17790 CONTINUE
IF( EE( N-2 ).LE.MAX( XINF, SMALL2,
ELSE
$ ( QQ( N ) / ( QQ( N )+EE( N-1 ) ) )* QQ( N-1 ))*TOL2 ) THEN
DO 17791 REFLCT=1,XRIREF
QEMAX = MAX( QQ( N ), QQ( N-1 ), EE( N-1 ) )
IF (TEST(REFLCT).EQ.ITEST) THEN
C
C compute |F|'s
IFOBS=SQRT(DREAL(FOBS(REFLCT))**2+DIMAG(FOBS(REFLCT))**2)
IFCALC=SQRT(DREAL(FCALC(REFLCT)+FPART(REFLCT))**2
@ +DIMAG(FCALC(REFLCT)+FPART(REFLCT))**2)
C
C accumulate information for weighted correlation coefficients
WSUM=WSUM+WEIGHT(REFLCT)
CI=CI+WEIGHT(REFLCT)*IFOBS
CJ=CJ+WEIGHT(REFLCT)*IFCALC
CII=CII+WEIGHT(REFLCT)*IFOBS**2
CJJ=CJJ+WEIGHT(REFLCT)*IFCALC**2
CIJ=CIJ+WEIGHT(REFLCT)*IFOBS*IFCALC
END IF
17791 CONTINUE
END IF
C
C do some checking
IF (ABS(CI).LT.RSMALL) THEN
WRITE(6,'(A,I3,A)')
@ ' %TRF2F2-error: sum over WEIGHT*FOBS is zero (for TEST=',
@ ITEST,')'
ELSE IF (ABS(CJ).LT.RSMALL) THEN
WRITE(6,'(A,I3,A)')
@' %TRF2F2-error: sum over WEIGHT*(FCALC+FPART) is 0 (for TEST=',
@ ITEST,')'
ELSE
C
C compute weighted correlation coefficient
DSUM=(CII-CI**2/WSUM)*(CJJ-CJ**2/WSUM)
CSUM=CIJ - CI*CJ/WSUM
IF (DSUM.GT.RSMALL) THEN
DSUM=SQRT(DSUM)
CORR=CSUM/DSUM
ELSE
CORR=ZERO
END IF
END IF
C
IF( N.EQ.0 ) THEN
C store in energy term
IF( OFF.EQ.0 ) THEN
XRE=XRSCAL*(ONE-CORR)
RETURN
C
C compute derivatives if required
IF (QDERIV) THEN
C
C compute derivatives for F's
IF (XRTRGT.EQ.'F2F2') THEN
DO 17792 REFLCT=1,XRIREF
IF (TEST(REFLCT).EQ.ITEST) THEN
C
C compute amplitudes
IFOBS=DREAL(FOBS(REFLCT))**2+DIMAG(FOBS(REFLCT))**2
IFCALC=DREAL(FCALC(REFLCT)+FPART(REFLCT))**2
@ +DIMAG(FCALC(REFLCT)+FPART(REFLCT))**2
C
C compute derivative with respect to FCALC(H)
IF (DSUM.GT.RSMALL) THEN
DERIV=-TWO*XRSCAL*WEIGHT(REFLCT)*( (IFOBS-CI/WSUM)/DSUM -
@ (CORR/DSUM**2)*(CII-CI**2/WSUM)*(IFCALC-CJ/WSUM) )
ELSE
DERIV=ZERO
END IF
FCALC(REFLCT)=(FCALC(REFLCT)+FPART(REFLCT))*DERIV
ELSE
FCALC(REFLCT)=ZERO
END IF
17792 CONTINUE
ELSE
DO 17793 REFLCT=1,XRIREF
IF (TEST(REFLCT).EQ.ITEST) THEN
C
C compute amplitudes
IFOBS=SQRT(DREAL(FOBS(REFLCT))**2+DIMAG(FOBS(REFLCT))**2)
IFCALC=SQRT(DREAL(FCALC(REFLCT)+FPART(REFLCT))**2
@ +DIMAG(FCALC(REFLCT)+FPART(REFLCT))**2)
C
C compute derivative with respect to |FCALC|(H)
IF (DSUM.GT.RSMALL.AND.IFCALC.GT.RSMALL) THEN
DERIV=-XRSCAL*WEIGHT(REFLCT)*( (IFOBS-CI/WSUM)/DSUM -
@ (CORR/DSUM**2)*(CII-CI**2/WSUM)*(IFCALC-CJ/WSUM) ) /
@ IFCALC
ELSE
DERIV=ZERO
END IF
FCALC(REFLCT)=(FCALC(REFLCT)+FPART(REFLCT))*DERIV
ELSE
FCALC(REFLCT)=ZERO
END IF
17793 CONTINUE
END IF
END IF
C
IF (QPRINT) THEN
IF (XCVTEST.AND.ITEST.EQ.0) THEN
CALL DECLAR( 'CORR', 'DP', ' ', DBCOMP, CORR )
LINE=' ->[WORKING SET (TEST=0)]'
LLINE=25
ELSEIF (XCVTEST.AND.ITEST.EQ.1) THEN
CALL DECLAR( 'TEST_CORR', 'DP', ' ', DBCOMP, CORR )
LINE=' ->[TEST SET (TEST=1)] '
LLINE=22
ELSE
CALL DECLAR( 'CORR', 'DP', ' ', DBCOMP, CORR )
LINE=' '
LLINE=1
END IF
IF (XRTRGT.EQ.'F2F2') THEN
WRITE(6,'(3A,F12.3)')
@ ' TRF2F2:',LINE(1:LLINE),
@ ' Corr<F(obs)^2, F(calc)^2> =',CORR
ELSE
ELSE
WRITE(6,'(3A,F12.3)')
XINF =0.0D0
@ ' TRF2F2:',LINE(1:LLINE),
@ ' Corr<|F(obs)|, |F(calc)|> =',CORR
END IF
END IF
ELSE IF( N.EQ.2 ) THEN
END IF
END IF
C
CALL DLASQ3(ICONV)
END IF
RETURN
END
END
* lx{g010}:/tmp>exit
*
* Script done on Mon May 31 11:30:23 1999
*
* Best regards,
*
* Norbert.
* --
* Norbert Conrad phone: ++49 641 9913021
* Hochschulrechenzentrum email: conrad@hrz.uni-giessen.de
* Heinrich-Buff-Ring 44
* 35392 Giessen
* Germany
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment