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
+Wv Option (New)
+Wv[d1,d2,...,dn]
The new +Wvoption displays the description for diagnostic message numbers
d1,d2,...,dn.
Specifying this option causes HP Code Advisor to emit the descriptive text for the
specified diagnostics to stderr. This option must not be used with any other compiler
options.
If the description for a diagnostic is not available, HP Code Advisor emits only the
diagnostic with a note that the description is not available.
+wlock Option (New)
+wlock
This option enables compile-time diagnostic messages for potential errors in using
lock/unlock calls in programs that use pthread library based lock/unlock functions.
Warnings are emitted for acquiring an already acquired lock, releasing an already
released lock, and unconditionally releasing a lock that has been conditionally acquired.
This diagnostic checking is based on cross-module analysis performed by the compiler.
Therefore, the +wlockoption implicitly enables a limited form of cross-module analysis,
even if -ipo or+O4options are not specified. This can lead to a significant increase in
the compile time compared to a build without the +wlockoption. Using this option
could result in the compiler invoking optimizations other than those that are part of
the user-specified optimization level. If +wlockis used in addition to -ipoor +O4, the
generated code is not affected, and the compile time does not increase much.
+O[no]autopar Option (New)
+O[no]autopar
This release adds support on the Itanium platform for a new optimization
-auto-parallelization - which is enabled by adding the +Oautoparoption to the
command-line. This optimization allows applications to exploit otherwise idle resources
on multicore or multiprocessor systems by automatically transforming serial loops into
multithreaded parallel code.
When the +Oautoparoption is used at optimization levels +O3and above, the compiler
will automatically parallelize those loops that are deemed safe and profitable by the
loop transformer.
The default is +Onoautopar, which disables automatic parallelization of loops.
Automatic parallelization can be combined with manual parallelization through the
use of OpenMP directives and the +Oopenmp option. When both +Oopenmp and
+Oautopar options are specified, the compiler honors the OpenMP directives first,
and then looks for loops that have not been parallelized manually with OpenMP
30 What’s New in This Version