IBM Support

PH46868: INCORRECT EVALUATION OF SETB EXPRESSIONS CONTAINING EQ FOLLOWED BY NOT

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A SETB expression with a relational operator followed by NOT
    triggers a forced evaluation of the expression in the wrong
    order causing incorrect results.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of HLASM for z/OS, z/VM, z/VSE and     *
    *                 Linux                                        *
    ****************************************************************
    * PROBLEM DESCRIPTION: Incorrect evaluation of SETB            *
    *                      expressions containing EQ followed      *
    *                      by NOT.                                 *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    1. In a conditional assembly logical (SETB) expression or
       arithmetic (SETA) expression, NOT may be processed
       incorrectly.  If NOT is immediately preceded by another
       operator of higher or equal priority (including a relation
       such as EQ, or an arithmetic operator, or NOT itself) then
       incorrect results may be produced because the preceding part
       of the expression including that operator at that level is
       ignored.
    2. Operation code attribute O' is allowed as a first-level macro
       operand, but fails with error ASMA088E when used as a list
       item in parentheses. When operation code attribute O' is used
       as an operand in a macro call with left and right
       parenthesis, it is being parsed without taking the O'
       attribute into account, so the single quote looks like the
       start of a quoted string, and the parenthesis is taken to be
       within the string causing incorrect results. Also, the
       documentation incorrectly said in some places that this
       notation was not allowed in open code, but it has always been
       allowed in open code since the opereration code attribute was
       introduced (in HLASM 1.2 in 1994).
    

Problem conclusion

  • 1. The code is fixed to evaluate the SETB expression in the
       correct order.
    
    2. The Operation code attribute O' is now parsed as a attribute
       reference in a macro operand call.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH46868

  • Reported component name

    HLASM MVS, VM &

  • Reported component ID

    569623400

  • Reported release

    160

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-05-31

  • Closed date

    2022-06-23

  • Last modified date

    2022-09-08

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

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

    UI81148 UI81147 UI81149

Modules/Macros

  •    ASMAINFO ASMA1Q   ASMA1U   ASMA9Z
    

Publications Referenced
SC26494009    

Fix information

  • Fixed component name

    HLASM MVS, VM &

  • Fixed component ID

    569623400

Applicable component levels

  • R160 PSY UI81148

       UP22/06/25 P F206

  • R360 PSY UI81147

       UP22/06/24 P 2206

  • R689 PSY UI81149

       UP22/06/24 I 1000

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":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSENW6","label":"High Level Assembler and Toolkit Feature"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"160"}]

Document Information

Modified date:
08 September 2022