HP aC++/HP C A.06.25 Release Notes
Table Of Contents
- HP aC++/HP ANSI C Release Notes
- Table of Contents
- 1 HP aC++/HP ANSI C Release Notes
- 2 What’s New in This Version
- New Features in Version A.06.25
- C99 default C compilation mode (Changed)
- Full -AA default C++ compilation mode (Changed)
- -Ax option enables support for several C++0x extensions (New)
- C99 features added to C++0x (New)
- extern template
- Decimal Floating Point supported in C++ mode (New)
- #pragma STDC FLOAT_CONST_DECIMAL64 (New)
- #pragma omp task (New)
- #pragma omp taskwait (New)
- Performance enhancements for +O1 (Changed)
- Non-template static data members initialized outside the class no longer treated as constants in strict mode (Changed)
- Enhancements to allow code to run well on current platforms and future multi-core processors (New)
- New diagnostic messages (New)
- Improved diagnostic messages (Changed)
- Enhanced +wendian warnings (New/Changed)
- New runtime abort messages (New)
- New Features in Version A.06.20
- Decimal floating-point arithmetic (HP-UX 11.31 only) (New)
- +annotate=structs (New)
- +check=lock (New)
- +check=thread (New)
- +O[no]autopar now supported in C++ Mode (New)
- +O[no]dynopt (HP-UX 11.31 only) (New)
- +inline_level num (Enhanced)
- -dumpversion (New)
- #include_next (New)
- #pragma diag_push (New)
- #pragma diag_pop (New)
- +Oinlinebudget is deprecated (Change)
- In next release, default C compilation mode will change from C89 to C99
- In next release, default C++ compilation mode will change to full -AA
- New Features in Version A.06.15
- printf, fprintf Optimization (New)
- +Wmacro Option (New)
- +Wcontext_limit Option (New)
- +wperfadvice Option (New)
- +Wv Option (New)
- +wlock Option (New)
- +O[no]autopar Option (New)
- +O[no]loop_block Option (New)
- +O[no]loop_unroll_jam (Default Change)
- +Olit=all (Default Change for HP C)
- +macro_debug= (New)
- +pathtrace (New)
- +check Suboptions (New)
- -Bhidden_def (New)
- -dM (New)
- #pragma OPT_LEVEL INITIAL (New)
- #pragma OPTIMIZE (Deprecated)
- #pragma [NO]INLINE (New for C++ Mode)
- _Asm_ld, _Asm_ldf, _Asm_st, _Asm_stf Intrinsics (New)
- Debugging Code Compiled with Opt Levels above +O1 Is Supported
- __attribute__ ((visibility("default"|"protected"|"hidden"))) Added (New)
- __attribute__ ((warn_unused_result)) Added (New)
- Change in treatment of cv-qualified assignment operators
- New Features in Version A.06.12
- New Features in Version A.06.10
- HP Code Advisor
- +cond_rodata Option (Obsoleted)
- +[no]dep_name Option (New)
- +expand_types_in_diag Option (New)
- +FPmode Option (Enhanced)
- +Ointeger_overflow (Default Changed)
- +Onolibcalls= Option (New)
- +wendian Option (New)
- +wlint Option (Enhanced)
- +wsecurity= Option (Enhanced)
- System-wide Option Configuration
- [NO]PTRS_TO_GLOBALS Pragma
- -AA -D_HP_NONSTD_FAST_IOSTREAM Performance Improvement Macro
- New Function Attributes
- Improved Diagnostics
- C++ Standard Library Change
- Earlier Versions
- New Features in Version A.06.25
- 3 Installation Information
- 4 Compatibility Information
- 5 Known Problems and Workarounds
- Obsolete LANG-STARTUP Files
- codecvt_byname Facet Needed for C Locale Conversions
- Using +check= Options and Running on Test and Deployment Systems
- GPREL22 Relocation Error
- Object Files Generated at +O4 or -ipo
- Incompatibilities Between the Standard C++ Library Ver. 1.2.1 and the Draft Standard
- Conflict Between macros.h and numeric_limits Class (min and max)
- Known Limitations
- 6 Related Documentation

5 Known Problems and Workarounds
This section describes known problems and workarounds. Customers on support can
use the product number to assist them in finding SSB and SRB reports for HP aC++ or
HPC. The product number you can search for is B3910BA.
To verify the product number and version for your HP aC++ or HP C compiler, execute
the following HP-UX commands:
what /opt/aCC/bin/aCC
what /opt/aCC/lbin/ecom
Obsolete LANG-STARTUP Files
As of HP aC++ version A.06.15, the LANG-STARTUP fileset is obsoleted because its
only two files are no longer being delivered:
/opt/langtools/lib/hpux32/fastmem.o
/opt/langtools/lib/hpux32/effmem.o
codecvt_byname Facet Needed for C Locale Conversions
You must use the codecvt_byname facet to use C locale conversions.
To do locale-specific conversions, the codecvt_byname facet must be installed in the
locale:
locale::global(locale("ja_JP.eucJP"));
typedef std::codecvt_byname<wchar_t, char, std::mbstate_t> ucs2utf;
std::wcout.imbue(std::locale(std::locale(),new ucs2utf("ja_JP.eucJP")));
The call to imbue is required because otherwise the default behavior of std:wcout
is not defined with respect to which codevt to use.
Using +check= Options and Running on Test and Deployment Systems
Using various +check= options requires a fairly recent version of wdb
(+check=malloc and +check=bounds:pointer) and
/opt/langtools/lib/hpux##/librtc.so.1 where the application is run. The
debugger and library is automatically updated on the machine only where the compiler
is installed. This may not be true where the application is executed.
Older versions of wdb may cause hangs. Older versions oflibrtc.so.1may produce
runtime unsats.
GPREL22 Relocation Error
If a variable is declared as extern non-array in one module and then defined as an array
in another, a linker error may occur:
Obsolete LANG-STARTUP Files 47