IBM Support

IZ57589: OMP.H HEADER FILE ISSUE WITH STDC89

Fixes are available

November 2009 PTF for XL C/C++ for AIX, V10.1
November 2009 Runtime for IBM XL C++ for AIX, V10.1
April 2010 XL C/C++ Enterprise Edition V8.0 for AIX PTF
October 2010 PTF for XL C/C++ for AIX, V10.1
October 2010 PTF for XL Fortran Runtime for AIX, V12.1
June 2011 XL C Enterprise Edition V8.0 for AIX PTF
June 2011 XL C/C++ Enterprise Edition V8.0 for AIX PTF
June 2011 XL Fortran Enterprise Edition V10.1 for AIX RTE
May 2012 PTF for XL C/C++ for AIX, V10.1
September 2012 PTF for XL Fortran for AIX, V12.1
September 2012 PTF for XL Fortran Runtime for AIX, V12.1
January 2013 PTF for XL C/C++ for AIX, V10.1
XL C/C++ for AIX Fix Pack 18 (July 2013 PTF) for 10.1
XL C/C++ for AIX Fix Pack 19 (October 2013 PTF) for 10.1
XL C/C++ for AIX Fix Pack 21 (October 2015 PTF) for 10.1
October 2010 PTF for XL Fortran for AIX, V12.1
February 2011 PTF for XL Fortran Runtime for AIX, V12.1
November 2009 PTF for XL Fortran for AIX, V12.1
November 2009 PTF for XL Fortran Runtime for AIX, V12.1
January 2010 PTF for XL Fortran Enterprise Edition for AIX, V11.1
March 2010 PTF for XL C/C++ for AIX, V10.1
March 2010 PTF for XL Fortran for AIX, V12.1
March 2010 PTF for XL Fortran Runtime for AIX, V12.1
April 2010 XL C Enterprise Edition V8.0 for AIX PTF
April 2010 PTF for XL C/C++ for AIX, V10.1
April 2010 PTF for XL Fortran for AIX, V12.1
April 2010 PTF for XL Fortran Runtime for AIX, V12.1
May 2010 PTF for XL Fortran Enterprise Edition for AIX, V11.1
June 2010 PTF for XL Fortran for AIX, V12.1
June 2010 PTF for XL C/C++ for AIX, V10.1
October 2010 XL Fortran Enterprise Edition V10.1 for AIX PTF
October 2010 XL Fortran Enterprise Edition V10.1 for AIX RTE
November 2010 PTF for XL Fortran Enterprise Edition for AIX, V11.1
February 2011 PTF for XL Fortran for AIX, V12.1
March 2011 PTF for XL Fortran Enterprise Edition for AIX, V11.1
May 2011 PTF for XL Fortran for AIX, V12.1
May 2011 PTF for XL Fortran Runtime for AIX, V12.1
May 2011 PTF for XL C/C++ for AIX, V10.1
June 2011 XL Fortran Enterprise Edition V10.1 for AIX PTF
July 2011 PTF for XL Fortran Enterprise Edition for AIX, V11.1
July 2011 PTF for XL Fortran for AIX, V12.1
July 2011 PTF for XL Fortran Runtime for AIX, V12.1
October 2011 PTF for XL C/C++ for AIX, V10.1
October 2011 PTF for XL Fortran for AIX, V12.1
October 2011 PTF for XL Fortran Runtime for AIX, V12.1
December 2011 PTF for XL Fortran Enterprise Edition for AIX, V11.1
February 2012 PTF for XL C/C++ for AIX, V10.1
February 2012 PTF for XL Fortran for AIX, V12.1
February 2012 PTF for XL Fortran Runtime for AIX, V12.1
September 2012 PTF for XL C/C++ for AIX, V10.1
January 2013 PTF for XL Fortran for AIX, V12.1
January 2013 PTF for XL Fortran Runtime for AIX, V12.1
XL Fortran for AIX Fix Pack 18 (July 2013) for 12.1
XL Fortran Runtime for AIX Fix Pack 18 (July 2013 PTF) for 12.1
XL Fortran for AIX Fix Pack 19 (October 2013) for 12.1
XL Fortran Runtime for AIX Fix Pack 19 (October 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 20 (October 2014 PTF) for 10.1
XL Fortran for AIX Fix Pack 20 (October 2014 PTF) for 12.1
XL Fortran Runtime for AIX Fix Pack 20 (October 2014 PTF) for 12.1

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The header file omp.h in fileset xlsmp.rte contains the
    following enum:
    
    typedef enum omp_sched {
     omp_sched_unknown= 0,/* not a valid type */
    
      /* following 4 schedule kinds are defined in Open 3.0
    Specification */
      omp_sched_static= 1,/* GUIDED scheduling type */
      omp_sched_dynamic= 2,/* DYNAMIC scheduling type */
      omp_sched_guided= 3,/* STATIC scheduling type */
      omp_sched_auto= 4,/* AUTO scheduling type */
    
      ibm_sched_affinity= 1000,/* AFFINITY scheduling type. This is
    an IBM extension. */
    
    } omp_sched_t;
    
    The comma at the end of the ibm_sched_affinity element does not
    conform with the stdc89 language level, and will produce an
    error for users compiling with -qlanglvl=stdc89.
    

Local fix

  • - Manually delete the comma from omp.h
    - Compile with a later language level (i.e. -qlanglvl=stdc99)
    

Problem summary

  • PROBLEM DESCRIPTION:
    The XLSMP runtime V1.8.0.0 introduced new content into the
    omp.h header file contained in /usr/include/.  This new version
    of omp.h contains the following enum:
    
    typedef enum omp_sched {
    omp_sched_unknown= 0,/* not a valid type */
    
    /* following 4 schedule kinds are defined in Open 3.0
    Specification */
    omp_sched_static= 1,/* GUIDED scheduling type */
    omp_sched_dynamic= 2,/* DYNAMIC scheduling type */
    omp_sched_guided= 3,/* STATIC scheduling type */
    omp_sched_auto= 4,/* AUTO scheduling type */
    
    ibm_sched_affinity= 1000,/* AFFINITY scheduling type. This is
    an IBM extension. */
    
    } omp_sched_t;
    
    For some time, AIX headers, such as omp.h, followed the c89
    standard.  Newer versions of AIX no longer completely follow
    the c89 standard, and have introduced commas at the end of the
    lists in enum types.  Users compiling with the c89 standard
    will experience a syntax error caused by this comma:
    
    ''/usr/include/omp.h'', line 50.27: 1506-275 (S) Unexpected
    text ',' encountered.
    

Problem conclusion

  • Removed the last comma in the enum in omp.h .
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ57589

  • Reported component name

    XLC C++ AIX

  • Reported component ID

    5724M1200

  • Reported release

    180

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-08-07

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

    LI75103 LI75143

Fix information

  • Fixed component name

    XL SMP AIX

  • Fixed component ID

    5724U8201

Applicable component levels

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSB259","label":"XL Fortran Advanced Edition for Linux"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.8","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
24 February 2022