IBM Support

PI92749: CODE GENERATION ERROR WITH CYGWIN COMPILER HAVING A PROBLEM WITHNESTED CONCATENATION (USING ## OPERATOR)

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Getting compilation error such as :
    1. Share/LangC/mxf/RiCPortMacros.h:41:60: error: pasting ")" and
    "RIC_CONCAT_3" does not give a valid preprocessing token
    2. Share/LangC/mxf/RiCPortMacros.h:32:48: error: pasting ")" and
    "port" does not give a valid preprocessing token.
    
    Remove the IDE settings within the configuration in the attached
    model and you will get the same errors.
    The problem is with Cygwin, not in Visual Studio
    
    The problem disappeared after modifying RIC_CONCAT_3 and
    RIC_CONCAT_6 macros as the following:
    #define RIC_CONCAT_3(A, B ,C) A##B##C
    #define RIC_CONCAT_6(A, B, C, D, E, F) A##B##C##D##E##F
    
    Probably, previous version of VS compiler didn't allow more then
    one ## operator in macro.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Rhapsody                                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Cygwin compiler doesn't accept multiple macro concatenation  *
    * while MISRA rules don't allow more then one ## operator in   *
    * macro definition.                                            *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • RIC_CONCAT_3 and RIC_CONCAT_6 macro definitions are modified if
    CYGWIN is used. User should pay attention these macros are not
    MISRA compliant.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI92749

  • Reported component name

    TLOGIC RHAPSODY

  • Reported component ID

    5724V74RP

  • Reported release

    821

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-01-22

  • Closed date

    2018-06-17

  • Last modified date

    2018-06-17

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

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

Fix information

  • Fixed component name

    TLOGIC RHAPSODY

  • Fixed component ID

    5724V74RP

Applicable component levels

  • R821 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SS7P9W","label":"Rational Rhapsody"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"821","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
17 June 2018