| ! { dg-do run } |
| ! { dg-options "-cpp -fdec" } |
| ! |
| ! Test case for the default field widths enabled by the -fdec-format-defaults flag. |
| ! |
| ! This feature is not part of any Fortran standard, but it is supported by the |
| ! Oracle Fortran compiler and others. |
| ! |
| |
| program test |
| implicit none |
| character(50) :: buffer |
| |
| real(4) :: real_4 |
| real(8) :: real_8 |
| #ifdef __GFC_REAL_16__ |
| real(16) :: real_16 |
| #endif |
| integer :: len |
| character(*), parameter :: fmt = "(A, F, A)" |
| |
| real_4 = 4.18 |
| write(buffer, fmt) ':',real_4,':' |
| print *,buffer |
| if (buffer.ne.": 4.1799998:") stop 1 |
| |
| real_4 = 0.00000018 |
| write(buffer, fmt) ':',real_4,':' |
| print *,buffer |
| if (buffer.ne.": 0.0000002:") stop 2 |
| |
| real_8 = 4.18 |
| write(buffer, fmt) ':',real_8,':' |
| print *,buffer |
| len = len_trim(buffer) |
| if (len /= 27) stop 3 |
| |
| #ifdef __GFC_REAL_16__ |
| real_16 = 4.18 |
| write(buffer, fmt) ':',real_16,':' |
| print *,buffer |
| len = len_trim(buffer) |
| if (len /= 44) stop 4 |
| #endif |
| end |