IBM Support

PH50622: QUALITY IMPROVEMENTS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • Quality Improvements
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: 1. Users who need to provide the location of *
    *                 the customization file.                      *
    *                 2. Users of foreign exception.               *
    *                 3. Users with private constants and relying  *
    *                 on rent support.                             *
    *                 4. Users with operator== for an enum         *
    *                 parameter with a bool enum base and no       *
    *                 enumerator list                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: 1. Prior to this fix there was no       *
    *                      mechanism for this.                     *
    *                      2. The current exception handling       *
    *                      mechanism does not handle foreign       *
    *                      exceptions                              *
    *                      3. Private constants are treated as     *
    *                      rent                                    *
    *                      4. The compiler crashes when parsing    *
    *                      operator== for an enum parameter with   *
    *                      a bool enum base and no enumerator      *
    *                      list. For example:                      *
    *                      enum Foo : bool;                        *
    *                      bool bar(Foo a, Foo b) {    return a == *
    *                       b; }                                   *
    ****************************************************************
    * RECOMMENDATION: Install the PTF                              *
    ****************************************************************
    1. The customization file is not needed when the system
    installation uses the default settings. However if that is not
    the case, this fix will provide a way to provide customization
    file .
    2.  The current exception handling mechanism catches a foreign
    exception (e.g., from objects generated by other compilers)
    with the catch (...) clause and then tries to delete the
    foreign exception object which leads to System Completion
    Code=0C4).
    3. Private constants should not be treated as rent
    4.  The operator== for an enum parameter with a bool enum base
    and no enumerator list should be accepted by compiler.
    

Problem conclusion

  • 1. The CLANG_CONFIG_PATH environment variable was created which
    can be set to location of 'clang.cfg' the customization file
    for the compiler to use instead of the default one.
    2. This fix modifies the personality routine so foreign
    exceptions result with no handler and calling the terminate
    function from the foreign runtime.
    3. Private constants are not marked as rent
    4. The compiler accepts operator== in case stated above.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH50622

  • Reported component name

    C/C++ FOR MVS

  • Reported component ID

    56551210A

  • Reported release

    7C2

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-11-02

  • Closed date

    2022-11-04

  • Last modified date

    2022-12-01

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

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

    UI83129

Modules/Macros

  • CNWPHPAX CNWSNPAX
    

Fix information

  • Fixed component name

    C/C++ FOR MVS

  • Fixed component ID

    56551210A

Applicable component levels

  • R7C2 PSY UI83129

       UP22/11/22 P F211

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":"7C2","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
01 December 2022