1! { dg-do compile { target { i?86-*-* x86_64-*-* } } } 2! { dg-options "-Wall" } 3! Code contributed by Manfred Schwarb <manfred99 at gmx dot ch> 4! PR fortran/91497 5! 6! Prior to applying the patch for this PR, the following code 7! would generate numerous conversion warnings. 8! 9program foo 10 11 real*4 a,aa 12 real*8 b,bb 13 real*10 c,cc 14 real*16 d 15 integer*2 e,ee 16 integer*4 f,ff 17 integer*8 g,gg 18 PARAMETER(a=3.1415927_4) 19 PARAMETER(b=3.1415927_8) 20 PARAMETER(c=3.1415927_10) 21 PARAMETER(d=3.1415927_16) 22 PARAMETER(e=123_2) 23 PARAMETER(f=123_4) 24 PARAMETER(g=123_8) 25 26 aa=REAL(b) 27 aa=REAL(c) 28 aa=REAL(d) 29 aa=REAL(e) 30 aa=REAL(f) 31 aa=REAL(g) 32 aa=FLOAT(f) 33 aa=FLOOR(b) 34 aa=FLOOR(c) 35 aa=FLOOR(d) 36 aa=CEILING(b) 37 aa=CEILING(c) 38 aa=CEILING(d) 39 !---unknown but documented type conversions: 40 !!aa=FLOATI(e) 41 !!aa=FLOATJ(f) 42 !!aa=FLOATK(g) 43 !---documentation is wrong for sngl: 44 aa=SNGL(c) 45 aa=SNGL(d) 46 bb=REAL(c, kind=8) 47 bb=REAL(d, kind=8) 48 bb=DBLE(c) 49 bb=DBLE(d) 50 bb=DFLOAT(g) 51 bb=FLOOR(c) 52 bb=FLOOR(d) 53 bb=CEILING(c) 54 bb=CEILING(d) 55 cc=REAL(d, kind=10) 56 cc=FLOOR(d) 57 cc=CEILING(d) 58 59 aa=AINT(b) 60 aa=ANINT(b) 61 aa=AINT(c) 62 aa=ANINT(c) 63 aa=AINT(d) 64 aa=ANINT(d) 65 bb=DINT(b) 66 bb=DNINT(b) 67 68 ee=INT(a, kind=2) 69 ee=NINT(a, kind=2) 70 ee=INT(b, kind=2) 71 ee=NINT(b, kind=2) 72 ee=INT(c, kind=2) 73 ee=NINT(c, kind=2) 74 ee=INT(d, kind=2) 75 ee=NINT(d, kind=2) 76 ee=INT(f, kind=2) 77 ee=INT(g, kind=2) 78 ee=IFIX(a) 79 ee=IDINT(b) 80 ee=IDNINT(b) 81 ee=INT2(a) 82 ee=INT2(b) 83 ee=INT2(c) 84 ee=INT2(d) 85 ee=INT2(f) 86 ee=INT2(g) 87 88 ff=INT(a, kind=4) 89 ff=NINT(a, kind=4) 90 ff=INT(b, kind=4) 91 ff=NINT(b, kind=4) 92 ff=INT(c, kind=4) 93 ff=NINT(c, kind=4) 94 ff=INT(d, kind=4) 95 ff=NINT(d, kind=4) 96 ff=INT(f, kind=4) 97 ff=INT(g, kind=4) 98 ff=IFIX(a) 99 ff=IDINT(b) 100 ff=IDNINT(b) 101 !---LONG not allowed anymore in gfortran 10 (?): 102 !!ff=LONG(a) 103 !!ff=LONG(b) 104 !!ff=LONG(c) 105 !!ff=LONG(d) 106 !!ff=LONG(g) 107 108 gg=INT(a, kind=8) 109 gg=NINT(a, kind=8) 110 gg=INT(b, kind=8) 111 gg=NINT(b, kind=8) 112 gg=INT(c, kind=8) 113 gg=NINT(c, kind=8) 114 gg=INT(d, kind=8) 115 gg=NINT(d, kind=8) 116 gg=INT(f, kind=8) 117 gg=INT(g, kind=8) 118 gg=IFIX(a) 119 gg=IDINT(b) 120 gg=IDNINT(b) 121 gg=INT8(a) 122 gg=INT8(b) 123 gg=INT8(c) 124 gg=INT8(d) 125 gg=INT8(g) 126end 127 128