HP aC++/HP C A.06.20 Release Notes
• +O[no]loop_unroll_jam (Default Changed)
• +Olit=all is the new default for HP C (Change)
• +macro_debug= Option (New)
• +pathtrace Option (New)
• +check Suboptions (New)
• -Bhidden_def Option (New)
• -dM Option (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 added (New)
• Debugging code compiled with opt levels above +O1 now supported (New)
• __attribute__ ((visibility("default"|"protected"|"hidden")))
(New)
• __attribute__ ((warn_unused_result)) (New)
• Change in treatment of cv-qualified assignment operators
printf, fprintf Optimization (New)
For optimization level+O2or above, printf and fprintf calls are now optimized
into fputc or fputs calls, in trivial cases.Restrictions for the optimization to occur:
• A return value cannot be used for printf and fprintf. For example, use
(void)fprintf(...);
• The functions printf, fprintf, fputs, and fputc must be 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 +Wmacrooption 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
18 What’s New in This Version