PM81853: PREPROCESSOR ERROR WITH VARIADIC MACRO

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • The C preprocessor is throwing an invalid error when processing
    a variadic macro using the ## concatenate operator.  The
    invalid syntax error that is reported only appears when a
    separate, valid macro error is detected by the compiler.
    
    
         ===== TEST CASE =====
    
    #include <stdio.h>
    
    #define debug2(fmt, p1, ...) printf(fmt, p1, ## __VA_ARGS__)
    int main(int argc, char *argv)
    {
    
     debug2("%s\n", "Test" , "Test2");  // <<==== INVALID ERROR HERE
     debug2("%s\n",);
    
    }
    
    
    > xlc t.c
    ERROR CCN3046 ./t.c:7     Syntax error.
    ERROR CCN3098 ./t.c:8     Missing argument(s).
    CCN0793(I) Compilation failed for file ./t.c.  Object file not
    created.
    >
    

Local fix

  • Correct the valid macro error.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of XL C/C++                            *
    ****************************************************************
    * PROBLEM DESCRIPTION: z/OS console tracker DASDM OBTAIN at    *
    *                      /bin/c89+0x43E84                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Apply provided service.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM81853

  • Reported component name

    C/C++ FOR MVS

  • Reported component ID

    56551210A

  • Reported release

    770

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-01-31

  • Closed date

    2013-03-25

  • Last modified date

    2013-05-28

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

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

    UK92865 PM87234 PM89853

Modules/Macros

  •    CCNECICS CCNECWI  CCNEDSCT CCNEDWRT CCNED1C0
    CCNEFILT CCNEHIFC CCNEMDEP CCNEOPTP CCNEP    CCNEPP   CCNETBY
    CCNMSGE  CCNMSGT
    

Fix information

  • Fixed component name

    C/C++ FOR MVS

  • Fixed component ID

    56551210A

Applicable component levels

  • R770 PSY UK92865

       UP13/04/13 P F304

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.



Rate this page:

(0 users)Average rating

Document information


More support for:

z/OS family

Software version:

7.7

Operating system(s):

z/OS

Reference #:

PM81853

Modified date:

2013-05-28

Translate my page

Machine Translation

Content navigation