Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Systems: HP aC++ Release Notes > Chapter 1 HP aC++ Release Notes

What’s in This Version

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

This section gives an overview of the new features introduced in this version of the HP aC++ compiler.

New Features in the A.03.50 Release

HP aC++ version A.03.50 supports the following new features:

Precompiled Header (PCH) Feature Fully Suported under -AA

Precompiled Header (PCH) is now fully supported with -AA option. That means PCH feature can be used with STL (Standard Template Library).

Debugging Optimized Code (DOC)

Debugging of optimized code (at optimization level +O2) is more robust now. Debugging of template functions is much improved.

+O[no]clone Option

This option provides user control to turn on [off] the cloning feature of the optimizer. This option is primarily for users who may see a lot of cloning adversely affecting the performance of their code, and want more control over cloning.

Cloning is on by default, and is valid at optimization levels +O3 and +O4. When inlining is turned off, cloning is turned off too.

+O[no]memory[=malloc]

This option enables [disables] memory optimizations. Specifying malloc in the list enables[disables] optimizations which consolidate memory allocation procedure calls. This option is disabled by default. This option is incompatible with +Oopenmp and +Oparallel, and is ignored.

Improved Prefetching and Data Locality for PA8800

Taking advantage of the increased cache line length of PA8800 processor (128 bytes), the compiler generates better code with improved data prefetching and data locality. This may help improve the performance of loop intensive applications.

Improved Optimization of Exception Handling Code Sequences at Optimization Level +O2 with +Oexception Option

The compiler now does a much more robust optimization in and around the code regions containing try/catch constructs. This is expected to provide performance boost to C++ applications with a large amount of exception handling. This can be turned on with option +Oexception.

restrict Keyword

This is a C99 feature. This keyword tells the optimizer that variables declared as restrict cannot have aliases (using pointers). Thus optimizer can do better alias analysis.

As of the current release, only the keyword is supported without any accompanying optimizations.

Increased +O3/+O4 Robustness with aCC

Robustness and usability of optimizations levels +O3/+O4 has been improved for C++ applications. This is expected to provide performance benefits to user applications written in C++.

Support for gdb steplast

In order to use the new steplast command of gdb, C++ programs must be built with -g0 option only.

NOTE: Because of the extra debug information emitted to support this feature, it is expected that there will be minor compatibility issues encountered while using DDE. To be more specific, if you receive the following message from within DDE when you have built using -g0,
  ?(dde/ui_line) File “.../test.c” has only NNN lines.  Stopped at: \\test\main\134217746 (00002404)

you can turn off the extra debug information by setting the environment variable aCC_ENABLE_STEPLAST to OFF.

$ export aCC_ENABLE_STEPLAST=OFF

+Olit=[all|none] Option

The +Olit option specifies the type of data items placed in the read-only data section. +Olit can take the values all and none.

+Olit=all places all string variables and all const-qualified variables that do not require load-time or run-time initialization in the read-only data section.

If +Olit=none is specified, no constants are placed in the read-only data section.

Dynamic Unloading of C++ Runtime Shared Library (libCsup)

It is safe to dynamically load and unload C++ shared libraries that directly or indirectly depend on shared library, libCsup. It is no longer necessary to specify -lCsup on the link line while building a non-C++ main executable.

Pragma INIT and Pragma FINI in 32-bit mode

Pragmas INIT and FINI now work in 32-bit mode too. Functionality of both the pragmas are similar to their functionality in the 64-bit mode. See aCC online help (aCC +help) for more information.

Patches Required

The following patches must be installed in order to enable all these new features:

For HP-UX B.11.00:

  • PHSS_28879 (aC++ runtime)

  • PHSS_28945 (linker)

For HP-UX B.11.11:

  • PHSS_28880 (aC++ runtime)

  • PHSS_28946 (linker)

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2003 Hewlett-Packard Development Company, L.P.