Skip to Main Content
IBM Z Software


This portal is to open public enhancement requests against IBM Z Software products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Not under consideration
Workspace COBOL Compilers
Created by Guest
Created on Apr 23, 2020

False INITCHECK messages for MOVEs of overlapping storage

The compiler should not produce INITCHECK warnings when the piece of a source field of an overlapping MOVE is initialized.

In the example use case, the overlapping move results in WORK-REST being set to LOW-VALUES from the filler at the beginning of WORK-TABLE.

The compiler is falsely reporting that the target of the overlapping MOVE (i.e. WORK-REST) "may be used at this statement before it is set".

Notes:
1. The COBOL manual states of overlapping moves that “the result of the execution of such a statement is unpredictable”
2. It is more developer friendly and likely more efficient to initialize the field with MOVE LOW-VALUES TO WORK-REST. It will use a series of XC instructions and only burn one register versus using two registers for the series of overlapping MVCs.

Idea priority Low
  • Guest
    Reply
    |
    May 1, 2020

    Hi,

    The compiler is not reporting the receiver. It is reporting the sender.

    If we find that a group is initialized, we report the first uninitialized item in that group, rather than the group itself. If a testcase had a group with many children, and nearly all were initialized, we wouldn't want the group being reported, causing users to have to figure out, on their own, which individual items were uninitialized.

    INITCHECK shouldn't have the additional task of figuring out exact copy semantics for an overlapping move.
    To avoid that, users can write code by not having a four-byte FILLER as a part of WORK-TABLE, and instead MOVE LOW-VALUES to WORK-TABLE to get the same result.

    Also, some clients would want to have a report when there's an overlapping move.

    Due to the above, we are rejecting this RFE.

    Thanks.