IBM Support

IJ02394: BAD INTERMEDIATE PREPROCESSOR MACRO EXPANSION FOR FUNCTION-LIKE MACRO INVOCATION

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

APAR status

  • Closed as program error.

Error description

  • In cases of complex function-like macro usage, the preprocessor
    is not expanding certain intermediate macro invocations,
    resulting in incorrect preprocessor output.  Also, whitespace is
    not maintained after certain expansions and substitutions.
    
    
    
       === EXAMPLE ===
    
    #define mymac1(...) __VA_ARGS__
    #define mymac3(a) mac5(mymac1 mymac2(a))
    
    - Generated function-like macro 'mymac1 mymac2(a)' may not be
    expanded after mymac2(a) substitution
    - Whitespace ' ' between 'mymac1' and 'mymac2(a)' may not be
    preserved
    

Local fix

Problem summary

  • PROBLEM DESCRIPTION:
    Fail to expand function-like macro which was composed during
    another macro expansion.
    
    USERS AFFECTED:
    Users who are using complex C macros.
    

Problem conclusion

  • This fix handles the function-like macro correctly when the
    macro is composed from another macro expansion.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ02394

  • Reported component name

    XL C FOR AIX

  • Reported component ID

    5725C7100

  • Reported release

    D10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-12-08

  • Closed date

    2018-03-02

  • Last modified date

    2018-03-02

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

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

    IJ08168

Fix information

  • Fixed component name

    XL C FOR AIX

  • Fixed component ID

    5725C7100

Applicable component levels



Document information

More support for: XL C for AIX
Compiler

Software version: 13.1

Reference #: IJ02394

Modified date: 02 March 2018