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
-Bhidden_def (New)
-Bhidden_def
This option is the same as -Bhidden, but only locally defined (non-tentative) symbols,
without __declspec(dllexport), are assigned the hidden export class.
As with any -B option, -Bhidden_def can be overridden by subsequent -B options
on the command line or any binding pragmas in the source.
-dM (New)
-dM
The -dM option requires that-P or -E also be specified. When -dM is present, instead
of normal preprocessor output the compiler lists the #define directives it encounters
as it preprocesse the file, thus providing a list of all macros that are in effect at the start
of the compilation.
A common use of this option is to determine the compiler's predefined macros. For
example:
touch foo.c ; cc -E -dM foo.c
#pragma OPT_LEVEL INITIAL (New)
#pragma OPT_LEVEL INITIAL
#pragma OPT_LEVEL has been enhanced to accept an additional keyword, INITIAL.
When used with a numeric argument, the OPT_LEVEL pragma sets the optimization
level to 0, 1, 2, 3, or 4.
The INITIAL argument causes the optimization level in effect at the start of the
compilation, whether by default or specified on the command line, to be restored.
#pragma OPTIMIZE (Deprecated)
As of this release of the compiler, #pragma OPTIMIZE is deprecated. Use #pragma
OPT_LEVEL instead.
#pragma [NO]INLINE (New for C++ Mode)
Previously, #pragma [NO]INLINEwas supported only on HP C and aC++ C-mode.
With this release, #pragma [NO]INLINEis now supported in C++ mode as well.
_Asm_ld, _Asm_ldf, _Asm_st, _Asm_stf Intrinsics (New)
The following new assembly intrinsics have been added to the compiler:
_Asm_ld _Asm_st
_Asm_ldf _Asm_stf
New Features in Version A.06.15 35