PM87234: 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

    PM87234

  • Reported component name

    C/C++ FOR MVS

  • Reported component ID

    56551210A

  • Reported release

    780

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-04-17

  • Closed date

    2013-05-27

  • Last modified date

    2013-07-03

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

    PM81853

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

Modules/Macros

  •    CCNEP
    

Fix information

  • Fixed component name

    C/C++ FOR MVS

  • Fixed component ID

    56551210A

Applicable component levels

  • R780 PSY UK94597

       UP13/06/26 P F306

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.8

Operating system(s):

z/OS

Reference #:

PM87234

Modified date:

2013-07-03

Translate my page

Machine Translation

Content navigation