https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120779

            Bug ID: 120779
           Summary: HIGH-VALUE / LOW-VALUE not found
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: cobol
          Assignee: unassigned at gcc dot gnu.org
          Reporter: simonsobisch at gnu dot org
  Target Milestone: ---

In file included from
/opt/gcobol/bin/../share/cobol/udf/stored-char-length.cbl:128:
prog.cob:239:60: error: DATA-ITEM 'LOW-VALUE' not found
  239 |               MOVE Z-SUBGEBNR TO Z01-SUBGEBNR-MIN
      |                                                            ^
prog.cob:240:60: error: DATA-ITEM 'HIGH-VALUE' not found
  240 |                                  Z02-SUBGEBNR-MAX.
      |                                                            ^
cobol1: error: failed compiling prog.cob

The source reference is sadly broken (and again(?) references the
default-includes from gcobc).
Here are the lines that reference those constants; the vars are both defined as
X(04).

           MOVE LOW-VALUE  TO Z01-SUBGEBNR-MIN.
           MOVE HIGH-VALUE TO Z02-SUBGEBNR-MAX.
           INSPECT Z01-SUBGEBNR-MIN REPLACING ALL SPACE BY LOW-VALUE.
           INSPECT Z02-SUBGEBNR-MAX REPLACING ALL SPACE BY HIGH-VALUE.

I tend to think the issue is on the INSPECT line.

Note that figurative constants are special if the source is multiple bytes
(which is not the case here - REPLACING ALL "TES" BY LOW-VALUE should replace
it by 3 low-values).

Reply via email to