PM86887: METAL ERROR INVALID ASM IMMEDIATE OPERAND

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Related to similar APAR PM79164, Metal C generation of some ASM
    instructions are using signed decimal constant immediate values,
    which are not accepted by the system assembler, giving the error
    message:
    
    t.c:
    #include <metal.h>
    #include <stdint.h>
    
    long long a;
    
    int testprog(long long ll) {
       a = INT32_MIN;
       return (int)a;
    }
    
    
    > cc -Wc,METAL,GENASM,LP64,"ARCH(7)" t.c -S -I/usr/include/metal
    > as t.s
     00008A 0000 0000 0000 00000 56  LGFI 14,-2147483648 000011
    
     ASMA146E Self-defining term too long or value too
     large -2147483648
    

Local fix

  • Edit generated ASM manually to use a hexadecimal constant value
    instead of the generated signed decimal constant.
    
    For example, in the case of:
    
       LGFI  14,-2147483648            000011
    
    Replace the constant:
    
       LGFI  14,X'80000000'            000011
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of metal C programming using           *
    *                 -qarch=10 and -qtune=10 options.             *
    ****************************************************************
    * PROBLEM DESCRIPTION: When using Metal C with -qarch=10 and   *
    *                      -qtune=10 options, the &CCN_ARCHLVL     *
    *                      SETC is set to '9' instead.             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Apply provided service.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM86887

  • Reported component name

    C/C++ FOR MVS

  • Reported component ID

    56551210A

  • Reported release

    780

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-04-12

  • Closed date

    2013-05-27

  • Last modified date

    2013-07-03

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

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

    PM92370

Modules/Macros

  •    CCNETBY
    

Fix information

  • Fixed component name

    C/C++ FOR MVS

  • Fixed component ID

    56551210A

Applicable component levels

  • R780 PSY UK94597

       UP13/06/26 P F306

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.



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

z/OS family

Software version:

7.8

Operating system(s):

z/OS

Reference #:

PM86887

Modified date:

2013-07-03

Translate my page

Machine Translation

Content navigation