HP aC++ Release Notes Version A.03.95 (5900-1789; September 2011)

HP aC++ Release Notes
New Features in Version A.03.33
Chapter 146
void BaseClass::foo() { }
void BaseClass::goo() { }
// end of dll.C
//caller.C
#include “dll.h”
class DerivedClass : public BaseClass
{
public:
void foo() { }
};
BaseClass *p;
int main()
{
p = new DerivedClass;
p->foo();
}
// end of caller.C
$ aCC -Bhidden_def -o dll.sl dll.C +z -b
$ aCC caller.C dll.sl
/usr/ccs/bin/ld: Unsatisfied symbols:
BaseClass::goo() (first referenced in caller.o) (code)
The solution is to export member function goo() from the shared library using
__declspec(dllexport).
+Oprofile Option for Profile-Based Optimization
This release enhances the usability of PBO by providing the flexibility of choosing to generate the PA-RISC
machine code (SOMs) directly instead of the compilers intermediate code (ISOMs) during the compilation
phase itself. Behavior of the earlier versions of the compiler has been to generate intermediate code during
compilation phase when PBO options are used (+I,+P), and generate final PA-RISC machine code during
link-phase. As a result of this behavior, when a large number of files are compiled with PBO options, code
generation for all the files would happen during link phase.