bug-gnucobol
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

NUMVAL recognizes only uppercase "CR" and "DB".


From: Robert Dubner
Subject: NUMVAL recognizes only uppercase "CR" and "DB".
Date: Tue, 17 Jan 2023 17:01:30 -0600 (CST)

The following code, when compiled with cobc 3.2.dev, generates the output:

$ cobc -x -free -o gc playpen.cbl
./gc
 123.400
 123.400
 123.400
-123.400
-123.400
-123.400
 123.400
 123.400
 123.400
-123.400
 123.400
 123.400
 123.400


The final eight values should all be " -123.400", as per the ISO/IEC
1989-2014 specification section 15.62.2:

"...CR or DB, if specified, shall be the letters 'CR' or 'DB' in uppercase
or lowercase, or a combination of uppercase and lowercase..."

======
        IDENTIFICATION DIVISION.
        PROGRAM-ID. intrinsix.

        DATA DIVISION.
        WORKING-STORAGE SECTION.

        01 FILLER.
            02 numval-list-values.
               03 FILLER pic X(24) value "  123.4      ".
                03 FILLER pic X(24) value "  +  123.4   ".
                03 FILLER pic X(24) value "  123.4  +   ".
                03 FILLER pic X(24) value "  -  123.4   ".
                03 FILLER pic X(24) value "  123.4  -   ".
                03 FILLER pic X(24) value "  123.4  CR  ".
                03 FILLER pic X(24) value "  123.4  cR  ".
                03 FILLER pic X(24) value "  123.4  Cr  ".
                03 FILLER pic X(24) value "  123.4  cr  ".
                03 FILLER pic X(24) value "  123.4  DB  ".
                03 FILLER pic X(24) value "  123.4  dB  ".
                03 FILLER pic X(24) value "  123.4  Db  ".
                03 FILLER pic X(24) value "  123.4  db  ".
            02 FILLER redefines numval-list-values.
                03 numval-list pic X(24) OCCURS 13 times.
        01 numval-result PIC ---9.999.
        01 i pic 999.

        PROCEDURE DIVISION.
        PERFORM VARYING i from 1 by 1 until i > 13
            MOVE FUNCTION NUMVAL(numval-list(i)) TO numval-result
            DISPLAY numval-result
            END-PERFORM.

        END PROGRAM intrinsix.
=====




reply via email to

[Prev in Thread] Current Thread [Next in Thread]