Programming Languages on Power

Power Programming Languages

IBM Power, including the AIX, IBM i, and Linux operating systems, support a wide range of programming languages, catering to both traditional enterprise applications and modern development needs.


#Power


#Servers
#Programminglanguages
 View Only
  • 1.  Error when compiling boost::lockfree with IBM XLC++ 13.1.2

    Posted 10/07/15 04:35 AM

    Originally posted by: Sunanda_Gamage


    Hi all,

     

    I'm trying to compile a program that uses boost::lockfree::queue with IBM XLC++ 13.1.2 and I get a number of errors similar to

    "boost/parameter/parameters.hpp:718:22: error: pasting formed 'BOOST_PP_SEQ_ELEM_0(', an invalid preprocessing token"

     

    This seems to come from the "##" preprocessing operator in boost/preprocessor/list/adt.hpp

    define BOOST_PP_LIST_IS_CONS_D(list) BOOST_PP_LIST_IS_CONS_ ## list

     

    I'm on a POWER8 (Little Endian) machine with SUSE Linux Enterprise Server 12. I have tried boost 1.55 (with the patch for XLC++ 13.1) and 1.58 and get similar results.

    The following compiler flags are used.

    /usr/bin/xlc++  -+  -qlanglvl=extended0x -qthreaded -ferror-limit=500 -O4 -q64

     

    Full compile report and my system information are attached.

     

    Anyone has any idea why this is happening?

     

    Thanks in advance!

    Sunanda

     


    #C/C++-compilers-for-AIX
    #C/C++andFortran


  • 2.  Re: Error when compiling boost::lockfree with IBM XLC++ 13.1.2

    Posted 10/09/15 05:19 PM

    Originally posted by: hstong


    Hello Sunanda,

    This issue may be avoided by compiling with the option -qnoxlcompatmacros. An update to the patch file is pending to address this issue.
    I hope this helps.

    Sincerely,



    Hubert Tong


    #C/C++-compilers-for-AIX
    #C/C++andFortran


  • 3.  Re: Error when compiling boost::lockfree with IBM XLC++ 13.1.2

    Posted 10/19/15 12:14 AM

    Originally posted by: Sunanda_Gamage


    Hi Hubert,

     

    Thanks for the answer!

     

     I haven't been able to try this on our Power8 machine yet. I will post the results as soon as I do.

     

    Sunanda


    #C/C++andFortran
    #C/C++-compilers-for-AIX


  • 4.  Re: Error when compiling boost::lockfree with IBM XLC++ 13.1.2

    Posted 11/23/15 05:29 AM

    Originally posted by: Sunanda_Gamage


    Hi Hubert,

    The -qnoxlcompatmacros option fixed the compilation issue. Thanks for the answer!

    But as DaveyC has pointed out, atomic support is not implemented in xlc and this is a major barrier to the project we're doing. Any idea when this might get implemented?

     


    #C/C++andFortran
    #C/C++-compilers-for-AIX


  • 5.  Re: Error when compiling boost::lockfree with IBM XLC++ 13.1.2

    Posted 12/02/15 10:51 AM

    Originally posted by: hstong


    Hi Sunanda,

    Support for C++11 atomics is under consideration for a future release. For more information, feel free to contact me directly via e-mail at [my username]<at>ca.ibm.com.

    Sincerely,



    Hubert Tong


    #C/C++andFortran
    #C/C++-compilers-for-AIX


  • 6.  Re: Error when compiling boost::lockfree with IBM XLC++ 13.1.2

    Posted 12/09/15 02:02 PM

    Originally posted by: hstong


    Hi Sunanda,

    As announced yesterday, C++11 atomics is now available for XL C/C++ for Linux™, V13.1.3 on little endian distributions:

    http://www.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS215-517

    You may need to link with -latomic for boost::lockfree. Please let us know if we could be of further assistance.

    Sincerely,



    Hubert Tong


    #C/C++-compilers-for-AIX
    #C/C++andFortran


  • 7.  Re: Error when compiling boost::lockfree with IBM XLC++ 13.1.2

    Posted 10/23/15 06:52 AM

    Originally posted by: DaveyC


    On the z/OS platform IBM have not implemented atomics yet (or threads). It's about time they did IMO!


    #C/C++-compilers-for-AIX
    #C/C++andFortran