IBM Support

PH69219: METAL C ASM GENERATING INSTRUCTION USING A NEGATIVE REGISTER

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When using optimization, Metal C-generated ASM code is
    containing an instruction using a negative value as a register,
    i.e. "-2" instead of "2".
            LLC   0,-1(14,1)              (*)Cuchar
          +000024
            AHI   14,-1
          +000024
            AHIK  1,-2,-2
          +000039                // Add halfword immediate using
    register "-2" as second operand
            CIJNE 0,125,@2L9
          +000024
            LA    0,2
          +000026
    

Local fix

  • Lower the level of optimization.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: IBM z/OS XL C/C++ V2.4 with the METAL option *
    ****************************************************************
    * PROBLEM DESCRIPTION: The compiler may generate invalid       *
    *                      assembly code that could lead to the    *
    *                      HLASM assembler error:                  *
    *                      ASMA029E Incorrect register             *
    *                      specification                           *
    ****************************************************************
    * RECOMMENDATION: Install the PTF                              *
    ****************************************************************
    N/A
    

Problem conclusion

  • Install the PTF
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH69219

  • Reported component name

    C/C++ FOR MVS

  • Reported component ID

    56551210A

  • Reported release

    7C0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-12-01

  • Closed date

    2026-03-27

  • Last modified date

    2026-05-02

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • CCNECICS CCNECWI  CCNED240 CCNEDSCT CCNEDWRT CCNEFILT CCNEHIFC
    CCNEIPA3 CCNEIPAO CCNEMDEP CCNEOPTP CCNEP    CCNEPP   CCNETBY
    CCNMSGE  CCNMSGT  CCNQIPA
    

Fix information

  • Fixed component name

    C/C++ FOR MVS

  • Fixed component ID

    56551210A

Applicable component levels

  • R7C0 PSY UO07332

       UP26/04/23 P F604

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSTLTF","label":"z\/OS XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7C0","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
02 May 2026