IBM Support

PI25812: KEYWORD __PTR32 QUALIFIER IS NOT ACCEPTED BY THE C++ COMPILER:

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • keyword __ptr32 qualifier is not accepted by the C++ compiler.
    Compiler Parser rules does not consider __ptr32 keyword in
    pointer typedefs. User is getting unexpected text error message.
    
    
    The keyword __ptr32 is a qualifier that can be applied to a
    pointer type to constrain its size to 32 bits. This language
    extension is provided to facilitate porting structures with
    pointer members from 31- to 64-bit mode. The qualifier is
    accepted and ignored in 31-bit mode.
    
    Unfortunately, this qualifier is not accepted by the C++
    compiler:
    
    --- a.C ---
    typedef char* MyCP;
    
    struct S {
       MyCP volatile d; // Works
       MyCP __ptr32 c; // Does not work
    };
    --- end a.C ---
    
    Run:
    xlC a.C
    
    Output:
    "./a.C", line 5.9: CCN5063 (S) The text "__ptr32" is unexpected.
    CCN0793(I) Compilation failed for file ./a.c.  Object file not
    created
    

Local fix

  • Use __ptr32 qualifier on the underlying declaration
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: XLC users with __ptr32 keyword on            *
    *                 typedef pointers.                            *
    ****************************************************************
    * PROBLEM DESCRIPTION: Parser rule does not consider __ptr32   *
    *                      keyword in pointer typedefs. User is    *
    *                      getting unexpected text error           *
    *                      messages.                               *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Apply provided service.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI25812

  • Reported component name

    C/C++ FOR MVS

  • Reported component ID

    56551210A

  • Reported release

    790

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-09-16

  • Closed date

    2014-09-16

  • Last modified date

    2016-05-05

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

    PI24621

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

Modules/Macros

  •    CCNEPP
    

Fix information

  • Fixed component name

    C/C++ FOR MVS

  • Fixed component ID

    56551210A

Applicable component levels

  • R790 PSY UI21384

       UP14/10/23 P F410

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":"SG19M","label":"APARs - z\/OS environment"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
30 April 2020