HP aC++ A.03.85 Release Notes

HP aC++ Release Notes
New Features in Version A.03.33
Chapter 134
445 Cannot recover from earlier errors
instead of
699 Error limit reached: halting compilation
For example, the following increases the maximum to 100 errors:
$export aCC_MAXERR=100
$aCC -c buggy.c
Small Block Allocator for malloc
The aC++ runtime now automatically enables mallocs Small Block Allocator (SBA) after the
aCC runtime patch and libc patch appropriate for your system are installed. (See the
Required Patches section above.) This improves heap performance.
For more information see malloc(3) and mallopt(3) manpages.
The default values are:
M_MXFAST = 512 bytes
M_NLBLKS = 100
M_GRAIN = 8 bytes
If you want to change the defaults, the environment variable _M_SBA_OPTS can be used. The
format is:
export _M_SBA_OPTS=<maxfast>:<numlblks>:<grain>
If your existing application is already calling mallopt, then mallopt will likely return an
error because libCsup will have already called mallopt and allocated a small block by the
time the application calls mallopt.
If the above defaults are acceptable or you are already using _M_SBA_OPTS then the error
should just be ignored. If the defaults degrade performance, then either set _M_SBA_OPTS
with the values used by the application or disable this new feature by using the following:
export _M_SBA_OPTS=0:0:0
Applications with latent memory leaks may fail. If the application allocates a block that is too
small while SBA is disabled, the block may be padded such that a overrun of the end of the
allocated block might not cause a failure. But with SBA enabled, the next contiguous bytes
may have been used for control information and an overrun would corrupt the heap and cause
various aborts.