! { dg-do compile } ! { dg-options "-Wall" } ! Code contributed by Manfred Schwarb ! PR fortran/91497 ! ! Prior to applying the patch for this PR, the following code ! would generate numerous conversion warnings. ! Additional test case to cover all targets. ! program foo real(4) a, aa real(8) b, bb integer(2) e, ee integer(4) f, ff integer(8) g, gg complex(4) ww complex(8) xx PARAMETER(a=3.1415927_4) PARAMETER(b=3.1415927_8) PARAMETER(e=123_2) PARAMETER(f=123_4) PARAMETER(g=123_8) aa=REAL(b) ! was: Change of value in conversion from 'REAL(8)' to 'REAL(4)' aa=REAL(e) aa=REAL(f) aa=REAL(g) aa=REAL(b, kind=4) ! was: Change of value in conversion from 'REAL(8)' to 'REAL(4)' bb=REAL(a, kind=8) aa=FLOAT(f) bb=DFLOAT(g) aa=SNGL(b) ! was: Change of value in conversion from 'REAL(8)' to 'REAL(4)' aa=AINT(a) bb=AINT(b) aa=AINT(b, kind=4) bb=DINT(b) aa=ANINT(a) bb=ANINT(b) aa=ANINT(b, kind=4) bb=DNINT(b) aa=AMAX0(f, f) aa=AMIN0(f, f) aa=AMAX0(g, g) aa=AMIN0(g, g) ee=INT(a) ee=INT(a, kind=2) ! was: Change of value in conversion from 'REAL(4)' to 'INTEGER(2)' ee=INT(b, kind=2) ! was: Change of value in conversion from 'REAL(8)' to 'INTEGER(2)' ee=INT(f, kind=2) ee=INT(g, kind=2) ff=INT(b) ff=INT(a, kind=4) ! was: Change of value in conversion from 'REAL(4)' to 'INTEGER(4)' ff=INT(b, kind=4) ! was: Change of value in conversion from 'REAL(8)' to 'INTEGER(4)' ff=INT(f, kind=4) ff=INT(g, kind=4) gg=INT(a) gg=INT(a, kind=8) ! was: Change of value in conversion from 'REAL(4)' to 'INTEGER(8)' gg=INT(b, kind=8) ! was: Change of value in conversion from 'REAL(8)' to 'INTEGER(8)' gg=INT(f, kind=8) gg=INT(g, kind=8) ee=IFIX(a) ff=IFIX(a) gg=IFIX(a) ee=IDINT(b) ff=IDINT(b) gg=IDINT(b) ee=INT2(a) ! was: Change of value in conversion from 'REAL(4)' to 'INTEGER(2)' ee=INT2(b) ! was: Change of value in conversion from 'REAL(8)' to 'INTEGER(2)' ee=INT2(f) ee=INT2(g) gg=INT8(a) ! was: Change of value in conversion from 'REAL(4)' to 'INTEGER(8)' gg=INT8(b) ! was: Change of value in conversion from 'REAL(8)' to 'INTEGER(8)' gg=INT8(f) gg=INT8(g) ff=FLOOR(b) ee=FLOOR(b, kind=2) ff=FLOOR(b, kind=4) gg=FLOOR(b, kind=8) ff=CEILING(b) ee=CEILING(b, kind=2) ff=CEILING(b, kind=4) gg=CEILING(b, kind=8) ff=MAX1(a, a) ! was: Change of value in conversion from 'REAL(4)' to 'INTEGER(4)' ff=MIN1(a, a) ! was: Change of value in conversion from 'REAL(4)' to 'INTEGER(4)' gg=MAX1(b, b) ! was: Change of value in conversion from 'REAL(8)' to 'INTEGER(4)' gg=MIN1(b, b) ! was: Change of value in conversion from 'REAL(8)' to 'INTEGER(4)' ee=NINT(a, kind=2) ee=NINT(b, kind=2) ff=NINT(a) ff=NINT(b) ff=NINT(a, kind=4) ff=NINT(b, kind=4) gg=NINT(a, kind=8) gg=NINT(b, kind=8) ee=IDNINT(b) ff=IDNINT(b) gg=IDNINT(b) ww=COMPLEX(a, a) ww=COMPLEX(e, e) ww=COMPLEX(g, g) ww=COMPLEX(a, g) xx=COMPLEX(b, g) ww=CMPLX(a, a) ww=CMPLX(b, b, kind=4) xx=CMPLX(a, a, kind=8) aa=REAL(ww) bb=REAL(xx) aa=REALPART(ww) bb=REALPART(xx) aa=AIMAG(ww) bb=AIMAG(xx) aa=IMAG(ww) bb=IMAG(xx) bb=DIMAG(xx) aa=IMAGPART(ww) bb=IMAGPART(xx) end