Note: This article was originally written in Chinese by Xiao Feng Guan/China/IBM. I translated this article into English. If you have any comments, please feel free to contact the original author or me. In C++11, with the introduction of rvalue reference, the performance of the std::string class has been improved greatly. Besides, the std::string class has included many new APIs, including the stoi / stol / sto member functions ,as well as the std::to_string global function. These two kinds of functions are very useful in formatted... [More]
In IBM XL C/C++ for Linux, V13.1, we support a vector built-in function vec_gbb that can perform a gather-bits-by-bytes operation on the input. NOTE: This built-in function is valid only when -qarch is set to target POWER8™ processors. Syntax d=vec_gbb(a) The following table describes the types of the function returned value " d" and the argument " a". d a The same type as the argument a vector unsigned long long vector signed long long Result value: For example, let x(i) (0 <= i < 8) denote the byte... [More]
Authors: Garfee Guan, Sumi Chen Standard C++14 makes C++11 more complete as C++11 has a lot of imperfections. C++14 not only amends C++11 but also proposes many new features, among which the most eye-catching one is the supplements to lambda-expressions. Lambda-expression is the most interesting feature in C++11 that challenges the long-used way of defining functions. C++14 proposes two major supplements to this famous feature. The first supplement is called “generalized lambda-capture” that comes from proposals N3610 and... [More]
For releases prior to C/C++ for AIX/Linux, V13.1, you can install only one product version to the default location. In this version of C/C++ for AIX/Linux compiler, multiple versions of compilers can coexist in the default installation location. When you install the C/C++ V13.1 compiler, your existing V12.1 compiler will not get uninstalled. This was achieved by differentiating the installation fileset names form those of the previous version, including the version, release and modification level (V.R.M) in the name, and installing to new... [More]
The XL C/C++ for BlueGene/Q Fix Pack 9 (August 2014 Update) for 12.1 is now available at the following links and on Fix Central: XL C/C++ for BlueGene/Q Fix Pack 9 (August 2014 Update) for 1 2 .1 Fix list for XL C/C++ for BlueGene/Q Can't find the updates for your compiler? Check out our C/C++ compiler latest update page here .
The XL C/C++ for AIX Fix Pack 9 (July 2014 PTF) for 12.1 is now available at the following links and on Fix Central: X L C f o r A I X F i x P a c k 9 (July 2 0 1 4 P T F ) f o r 1 2 . 1 F i x l i s t f o r X L C f o r A I X X L C / C + + f o r A I X F i x P a c k 9 (July 2 0 1 4 P T F ) f o... [More]
Tired of maintaining symbol export lists for your shared libraries? The XL C/C++ V13.1 compiler introduces a new feature to control symbol visibility via in-source #pragma statements, or compile option. Instead of manually creating and editing an export symbol list with the -qexpfile option or CreateExportList tool, simply add an __attribute__((visibility(" <value> "))) pragma to your function declaration to control the symbol visibility. On AIX, the symbol visibility setting is now kept in an internal XCOFF... [More]
We're happy to announce the release of the XL C/C++ for AIX, V13.1 and XL C/C++ for Linux, V13.1 compilers! The V13.1 release delivers POWER8 exploitation and new compiler and language features. IBM XL C/C++ for AIX 13.1 IBM XL C/C++ for AIX, V13.1 Announcement Letter IBM XL C/C++ for Linux 13.1 IBM XL C/C++ for Linux 13.1 Announcement Letter Questions/comments about the new releases? Contact... [More]
The XL C/C++ for AIX Fix Pack 18 (May 2014 PTFs) for 11.1 are now available at the following links and on Fix Central: XL C /C++ for AIX Fix Pac k 18 (May 2 014 PTF) for 11. 1 Fix list for XL C/C+ + fo r AI X XL C for AIX Fix Pac k 18 (May 2 014 PTF) for 11. 1 Fix list for XL C fo r AI X Can't find the updates for your compiler?... [More]
The XL C/C++ for Linux Fix Pack 7 (February 2014 Update) for 12.1 is now available at the following links and on Fix Central: XL C /C++ for Lin ux F ix P ack 7 (May 2014 Upd ate) for 12. 1 Fix list for XL C/C+ + fo r Li nu x Run time for XL C/C+ + fo r Li nux Fix Pack 7 (May 2014 Up date ) fo r 12 . 1 Fix ... [More]
The XL C/C++ for BlueGene/Q Fix Pack 8 (May 2014 Update) for 12.1 is now available at the following links and on Fix Central: XL C/C++ for BlueGene/Q Fix Pack 8 (May 2014 Update) for 1 2 .1 Fix list for XL C/C++ for BlueGene/Q Can't find the updates for your compiler? Check out our C/C++ compiler latest update page here .
“This is it”, whispered all the online blogs, the upcoming talks, and the updated versions of C++11 books. C++14 has arrived! This meeting is historic not just because we completed the practical work on C++14 but because C++ Standard is now consistently shipping a product almost at every meeting. This is the result of the bus-train model where various groups and subgroups always have either a Technical Specification or a Standard to deliver. Expect this from now on from the C++ Standard Committee. The benefit is that a predictable... [More]
The XL C/C++ for AIX Fix Pack 8 (March 2014 PTF) for 12.1 is now available at the following links and on Fix Central: XL C f o r A I X F i x P a c k 8 (March 2 01 4 PT F ) f o r 1 2 . 1 F i x l i s t f o r X L C f or A I X XL C /C + + f o r A I X F i x P a c k 8 (March 2 01 4 PT F ) f o r 1 2 . 1... [More]
Compared with C++98, C++11 supports two integer types long long and unsigned long long, which were introduced in the C99 standard before. The C++11 standard supports these two integer types to be compatible with the C99 standard. The long long and unsigned long long types can have different lengths on difference platforms, but the C++11 standard requires that their length should be at least 64 bits. When we define an integer literal, we can use suffix LL (ll) to indicate the type of the literal is long long, and use suffix ULL (ull, Ull, uLL)... [More]
The IBM XL C/C++ compiler, V12.1 starts to support the declaration of anonymous structures. An anonymous structure is a structure that does not have a tag or a name and that is a member of another structure or union. All the members of the anonymous structure behave as if they were members of the parent structure. An anonymous structure must meet the following conditions: The structure is nested inside another structure or union. The structure has no tag. The structure has no name. You can enable this feature under the extc1x language level.... [More]