IBM Support

IJ04580: UNREPLACED STRINGIZED VALUE WITH __VA_ARGS__ USAGE WHEN MACRO AND MACRO-PARAMETER MATCH

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

  • A C preprocessor issue occurs when a macro value is not
    replaced.  The issue occurs when __VA_ARGS__ is used, and the
    macro in question has the same name as the parameter being
    passed to the macro, i.e.:
    
       test1(test1);
    
    The same macro will work if the parameter is different than the
    macro name:
    
       test1(test2);
    

Local fix

  • Replace the __VA_ARGS__ usage with explicit macro parameters
    

Problem summary

  • PROBLEM DESCRIPTION:
    When expanding the recursive macro, internal attributes of the
    token are copied to the newly expanded macro by mistake,
    causing the new macro to be incorrectly treated as recursive as
    well, causing incorrect macro expansion.
    
    USERS AFFECTED:
    Users of macros with parameters using the same name.
    

Problem conclusion

  • The macro expansion issue has been corrected.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ04580

  • 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

    2018-03-06

  • Closed date

    2018-12-21

  • Last modified date

    2018-12-21

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

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

    IJ08175

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 #: IJ04580

Modified date: 21 December 2018