The XL C/C++ for Linux Fix Pack 4 (October 2013 Update) for 12.1 is now available at the following links and on Fix Central: XL C/C++ for Linux Fix Pack 4 (October 2013 Update) for 12.1 Fix list for XL C/C++ for Linux Runtime for XL C/C++ for Linux Fix Pack 4 (October 2013 Update) for 12.1 ... [More]
The XL C/C++ for Blue Gene/P Fix Pack 17 (October 2013 Update) for 9.0 is now available at the following links and on Fix Central: XL C/C++ Advanced Edition for Blue Gene/P Fix Pack 17 (October 2013 Update) for 9.0 Fix list for XL C/C++ Advanced Edition for Blue Gene/P Can't find the updates for your compiler? Check out our C/C++ compiler latest update page here.
The usage and advantage of the decltype specifier is introduced in Part I. For details, see https://www.ibm.com/developerworks/community/blogs/5894415f-be62-4bc0-81c5-3956e82276f3/entry/c_11_the_decltype_specifier_part_i?lang=en In this section, I will introduce the deduction rules of decltype. Basically, the type denoted by decltype(e) is defined as follows: If e is an unparenthesized id-expression or an unparenthesized class member access, decltype(e) is the type of the entity named by e. If there is no such entity, or if e names a set... [More]
The IBM XL C/C++ compiler, V12.1 starts to support the OpenMP 3.1 extension to the OMP_NUM_THREADS environment variable. With this extension, you can use OMP_NUM_THREADS to specify the number of threads to use for nested parallel regions. Syntax : >>-OMP_NUM_THREADS=-- num_list ---------------------------------->< num_list A list of one or more positive integer values separated by commas. Example : export... [More]
The IBM XL C and XL C/C++ compilers support the -qalias option. This option indicates whether a program contains certain categories of aliasing or does not conform to C/C++ standard aliasing rules. The -qalias option takes several suboptions, including ansi and typeptr . When ansi is in effect, type-based aliasing is used during optimization; that is, pointers can only point to an object of the same type. The only exception is that a char* dereference can alias any other types. typeptr complies to more restrictive aliasing rules... [More]
I apologize as this report is late due to several back to back conferences through September. At this meeting, the most important thing was to address as many of the National Body (NB) Comments from the draft C++14 CD possible. This will enable us to be in good shape for the release of C++14 in 2014. Please look at my blog series to get an idea of the major content. However, this meeting did have some interesting minor changes which modified that content. This is fairly normal to decouple features which is still controversial. The biggest... [More]
A new enhancement is added to the -qlistfmt option. Now you can use this option to generate XML or HTML reports. This kind of reports contain information about optimizations performed by the compiler and missed optimization opportunities. The default behavior of the -qlistfmt has also changed because of this enhancement. Now, if you do not specify a particular type of content, this option would generate all the available content, instead of generating none. If you want to view the HTML version of an XML report that has been... [More]
The VoiCE Jam gives you the opportunity to share ideas, comments and votes across various products, solutions, and aspects of the Rational portfolio. The Jam is now open for your ideas and comments. Please register via the link and login with your ID and password. Select the theme of interest, post an idea and/or share a comment to an existing idea. https://voicejam.ideajam.net There's a theme for Compilers! Please add in your comments, ideas and votes. Compilers: Boost performance and productivity with latest compilers ideas If you... [More]
The z/OS V1R13 XL C/C++ September 2013 PTFs are now available for download. Here are the details: List of APARs and Phaseid information for z/OS V1R13 XL C/C++ September 2013 PTFs 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 5 (September 2013 PTF) for 12.1 is now available at the following links and on Fix Central: XL C/C++ for AIX Fix Pack 5 (September 2013 PTF) for 12.1 Fix list for XL C/C++ for AIX XL C++ Runtime for AIX Fix Pack 3 (September 2013 PTF) for 12.1 ... [More]
The XL C/C++ for BlueGene/Q Fix Pack 5 (August 2013 Update) for 12.1 is now available at the following links and on Fix Central: XL C/C++ for BlueGene/Q Fix Pack 5 (August 2013 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 .
Have you ever wondered why your child threads in a multi-threaded application on AIX fail to acquire a large amount of memory from the stack (even though your ulimits are set to unlimited) ? The reason is simple. For a 32-bit compiled application on AIX, the default pthread stacksize is 96 KB; and for a 64-bit compiled application on AIX, the default stacksize is 192 KB. Both of these default values are defined in the pthread.h header file. Let's use the following test case as an example. $ cat test.c ... [More]
A new enhancement added to -qprefetch is -qprefetch=assistthread. -qprefetch inserts prefetch instructions automatically where there are opportunities to improve code performance. When you work with applications that generate a high cache-miss rate, you can use -qprefectch=assistthread to exploit assist threads for data prefetching. This suboption guides the compiler to exploit assist threads at optimization level -O3 -qhot or higher. If you do not specify -qprefetch=assistthread, -qprefetch=noassistthread is implied. For... [More]
As C++ templates and generic programming become popular, programmers find it sometimes difficult to express the type for a variable or function. People are in urgent need of a mechanism to automatically deduce types for expressions. This new programming mechanism didn't appear until the appearance of decltype. Decltype solves the problem through getting the type or derived type of an expression and acting as the type specifier of another expression whose type needs to be deduced. Here is an example: int i;... [More]
Introduction IBM XL C/C++ support the static assertion feature starting from V12.1. You can declare assertions to detect and diagnose common usage errors at compile time. To enable this feature, specify the -qlanglvl=extc1x option. A static assertion can be declared using the _Static_assert keyword with the syntax as follows: _Static_assert declaration syntax >>-_Static_assert--(-- constant_expression --,-- string_literal ----> ... [More]