Skip to main content

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-06

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

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

    UK92865 PM87234

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

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

z/OS family


Software version:
7.7


Operating system(s):
z/OS


Reference #:
PM81853


Modified date:
2013-05-06

Translate my page

Content navigation