bug-gnucobol
[Top][All Lists]
Advanced

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

Re: error: invalid expression on USAGE POINTER item


From: Simon Sobisch
Subject: Re: error: invalid expression on USAGE POINTER item
Date: Mon, 15 May 2023 16:58:24 +0200
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1

> Same problem for v3.2-dev-0 under Linux.

I'm having a look at this, the examples in the issue tracker are useful.

Am 15.05.2023 um 14:29 schrieb Ron Norman:
Microfocus Cobol does accept this and works as if C-W is a POINTER.

On Mon, May 15, 2023 at 2:00 AM J Leslie Turriff <jlturriff@mail.com
<mailto:jlturriff@mail.com>> wrote:

             Um... where is the second compile?  And what version of
    COBOL are you emulating?

             In any case, AFAIK this is proper operation.  As the IBM
    Z/OS Language Reference V6.2 states,
    |When the USAGE clause is not specified at either the group or
    elementary level, a usage clause is
    implied with:
    | v Usage DISPLAY when the PICTURE clause contains only symbols
    other than G or N
    | v Usage NATIONAL when the PICTURE clause contains only one or more
    of the   symbol N and
    the NSYMBOL(NATIONAL) compiler option is in effect
    | v Usage DISPLAY-1 when the PICTURE clause contains one or more of
    the symbol N and the
    NSYMBOL(DBCS) compiler option is in effect

             So effectively, USAGE defaults to one of the DISPLAY modes,
    so C-W can't be used as a
    POINTER variable.

    Leslie

    On 2023-05-14 19:02:44 Michael Potter wrote:
     > Vincent Coen suggested I report this as a bug.
     >
     > Two compiles of same code:
     >
     > [okicks@vm-openkicks OC_GrpLvlPointer]$ cobc GRPPOINT.cbl
     > GRPPOINT.cbl:20: error: invalid expression
     >
     > [okicks@vm-openkicks OC_GrpLvlPointer]$ cobc -V
     > cobc (GnuCOBOL) 4.0-early-dev.0
     > Copyright (C) 2022 Free Software Foundation, Inc.
     > License GPLv3+: GNU GPL version 3 or later
     > <https://gnu.org/licenses/gpl.html
    <https://gnu.org/licenses/gpl.html>> This is free software; see the
    source
     > for copying conditions.  There is NO warranty; not even for
    MERCHANTABILITY
     > or FITNESS FOR A PARTICULAR PURPOSE. Written by Keisuke Nishida,
    Roger
     > While, Ron Norman, Simon Sobisch, Edward Hart Built     Feb 10 2023
     > 13:51:10
     > Packaged  Feb 10 2023 18:49:59 UTC
     > C version "11.3.1 20220421 (Red Hat 11.3.1-2)"
     >
     > [okicks@vm-openkicks OC_GrpLvlPointer]$ cat GRPPOINT.cbl
     >
     >        IDENTIFICATION DIVISION.
     >        PROGRAM-ID.    GRPPOINT.
     >        AUTHOR.        Replatform Technologies, LLC.
     >        ENVIRONMENT DIVISION.
     >        DATA DIVISION.
     >        WORKING-STORAGE SECTION.
     >            01 A-W    USAGE POINTER.
     >               03   B-W USAGE POINTER.
     >               03   C-W.
     >        LINKAGE SECTION.
     >        PROCEDURE DIVISION.
     >            DISPLAY 'IN GRPPOINT'
     >            SET B-W to NULL
     >            SET C-W to NULL
     >
     >            IF B-W NOT = NULL
     >                    DISPLAY "B NOT NULL"
     >            END-IF
     >            IF C-W NOT = NULL
     >                    DISPLAY "C NOT NULL"
     >            END-IF
     >            STOP RUN
     >
     > ========================================
     > pottmi@ubuntu ~/gitlab/cobolcompilertests/OC_GrpLvlPointer
     >  % cobc GRPPOINT.cbl
     > GRPPOINT.cbl:9: error: PICTURE clause required for 'C-W'
     > GRPPOINT.cbl:14: error: SET target 'C-W' is not numeric, an INDEX
    or a
     > POINTER GRPPOINT.cbl:20: error: invalid expression
     > pottmi@ubuntu ~/gitlab/cobolcompilertests/OC_GrpLvlPointer
     >  % cobc -V
     > cobc (GnuCOBOL) 4.0-early-dev.0
     > Copyright (C) 2021 Free Software Foundation, Inc.
     > License GPLv3+: GNU GPL version 3 or later
     > <https://gnu.org/licenses/gpl.html
    <https://gnu.org/licenses/gpl.html>> This is free software; see the
    source
     > for copying conditions.  There is NO warranty; not even for
    MERCHANTABILITY
     > or FITNESS FOR A PARTICULAR PURPOSE. Written by Keisuke Nishida,
    Roger
     > While, Ron Norman, Simon Sobisch, Edward Hart Built     Oct 13 2021
     > 18:23:24
     > Packaged  Oct 14 2021 01:18:06 UTC
     > C version "9.3.0"
     > pottmi@ubuntu ~/gitlab/cobolcompilertests/OC_GrpLvlPointer
     >  % cat GRPPOINT.cbl
     >        IDENTIFICATION DIVISION.
     >        PROGRAM-ID.    GRPPOINT.
     >        AUTHOR.        Replatform Technologies, LLC.
     >        ENVIRONMENT DIVISION.
     >        DATA DIVISION.
     >        WORKING-STORAGE SECTION.
     >            01 A-W    USAGE POINTER.
     >               03   B-W USAGE POINTER.
     >               03   C-W.
     >        LINKAGE SECTION.
     >        PROCEDURE DIVISION.
     >            DISPLAY 'IN GRPPOINT'
     >            SET B-W to NULL
     >            SET C-W to NULL
     >
     >            IF B-W NOT = NULL
     >                    DISPLAY "B NOT NULL"
     >            END-IF
     >
     >            IF C-W NOT = NULL
     >                    DISPLAY "C NOT NULL"
     >            END-IF
     >
     >            STOP RUN
     >            .
    --
    Platform: Linux
    Distribution: openSUSE Leap 15.4 (x86_64)



--
Cheers
Ron Norman



reply via email to

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