IBM Support

IZ56260: OPERATOR NAMES NOT RECOGNIZED AS KEYWORDS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The compiler is not recognizing logic operators (and, bitand,
    bitor, compl, not, or, xor) as formal keywords, thus causing
    warnings when trying to disable them via the -qnokeyword option.
    If a variable has the same name as an operator, an error is
    generated.
    
    This is affecting the -fno-operator-names option when invoking
    the compiler with gxlc++, as this option is translated into:  -q
    nokeyword=and -qnokeyword=bitand -qnokeyword=bitor
    -qnokeyword=compl -qnokeyword=not -qnokeyword=or -qnokeyword=xor
    
    
      ===== TEST CASE =====
    
    $ cat b.cpp
    int and;
    $ xlC -c -qnokeyword=and b.cpp
    "b.cpp", line 1.5: 1540-0063 (S) The text "&&" is unexpected.
    1540-2124 (W) The string "and" in "-qnokeyword=and" is not a
    valid keyword. The option is ignored.
    $
    

Local fix

  • Avoid usage of logic operators as names.
    

Problem summary

  • USERS AFFECTED:
    Using compiler option
    -qnokeyword=and:or:xor:bitand:bitor:compl:not or gxlC with
    -fno-operator-names, which maps to these options.
    
    PROBLEM DESCRIPTION:
    The digraph names cannot be disabled by -qnokeyword as of XL
    C/C++ V10.1.
    

Problem conclusion

  • The keyword processing has been corrected to support the
    digraph names.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ56260

  • Reported component name

    XL C++ AIX

  • Reported component ID

    5724U8100

  • Reported release

    A10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-07-29

  • Closed date

    2009-11-16

  • Last modified date

    2009-11-16

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

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

    LI75080 LI75122

Fix information

  • Fixed component name

    XL C++ AIX

  • Fixed component ID

    5724U8100

Applicable component levels

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSJT9L","label":"XL C\/C++"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"A.1","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
16 November 2009