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
printf, fprintf Optimization (New)
For optimization level+O2or above, printf and fprintf calls are now optimized
into fputc or fputs calls, in trivial cases. This optimization will only occur when both
the following are true
• A return value is not used for printf and fprintf. For example, use
(void)fprintf(...);
• The functions printf, fprintf, fputs, and fputc are declared in <stdio.h>
or <cstdio>.
To disable this feature for +O2and above, use: +Onolibcalls="fprintf" (or
"printf").
To have the compiler list the lines where the optimization was performed, use +Oinfo.
+Wmacro Option (New)
+Wmacro:MACRONAME:d1,d2,...,dn
The +Wmacro option disables warning diagnostics d1,d2,...,dn in the expansion
of macro MACRONAME. If -1 is given as the warning number, then all warnings are
suppressed. This option is not applicable to warning numbers greater than 20000.
+Wmacro gets higher priority than the other diagnostic control command-line options
that are applicable to the whole source. Diagnostic control pragmas take priority based
on where they are placed.
+Wcontext_limit Option (New)
+Wcontext_limit=num
This option limits the number of instantiation contexts output by the compiler for
diagnostics involving template instantiations. At most num outermost contexts and
num innermost contexts are shown. If there are more than 2 * num relevant contexts,
the additional contexts are omitted. Omitted contexts are replaced by a single line
separating the outermost num contexts from the innermost num contexts, and indicating
the number of contexts omitted. The default value for num is 5. A value of 0 removes
the limit.
+wperfadvice Option (New)
+wperfadvice[={1|2|3|4}]
This option enables performance advisory messages. The optional level 1, 2, 3, or 4
controls how verbosely the performance advisory messages are emitted. The higher
the level, the more messages are generated. Level 1 emits only the most important
messages, while level 4 emits all the messages. If the optional level is not specified, it
defaults to 2.
New Features in Version A.06.15 29