HP aC++/HP ANSI C A.06.28 Release (769149-001, March 2014)
3 Product changes in earlier versions
New features in version A.06.27
Preliminary support for the following C++11 core language features has been introduced in this
release:
• “Improved support for C++11 languages” (page 16)
“New char types char16_t and char32_t” (page 16)◦
◦ “Alias and alias template declarations” (page 17)
◦ “Variadic templates” (page 17)
◦ “nullptr keyword” (page 17)
◦ “Explicit conversion functions and boolean-conversion” (page 17)
◦ “Trailing return types (with "auto")” (page 18)
◦ “Standard attributes” (page 18)
◦ “Attributes for checking, hiding and overriding” (page 18)
◦ “Use of "this" in trailing-return-types” (page 18)
• “Improved support for GNU extensions” (page 19)
“Binary literals” (page 19)◦
◦ “Better support for type trait pseudo functions” (page 19)
◦ “Better support for attributes” (page 19)
◦ “Better support for templates” (page 19)
◦ “Better support for built-ins” (page 20)
• “Support for default template arguments for function templates” (page 20)
• “New options in this release” (page 20)
◦ “Option to perform less aggressive optimizations to thread local variables” (page 20)
• “Experimental features in this release” (page 20)
◦ “IELF file-splitting to improve the compilation time at +O4” (page 20)
• “Diagnostic Changes” (page 20)
Improved support for C++11 languages
New char types char16_t and char32_t
This release of the compiler supports the char16_t and char32_t char types under the C++11
compilation mode, enabled by the compiler option -Ax. U-literals are also enabled in the C++11
compilation mode.
int main(int argc, char** argv)
{
char16_t *str = u"A 16-bit character string";
char32_t ch = U'\U00012345'; // A 32-bit character literal
16 Product changes in earlier versions