HP aC++ A.03.85 Release Notes

HP aC++ Release Notes
New Features in Version A.03.65
Chapter 1 15
~A() { printf("~A()\n"); }
};
void foo() {
A a2;
pthread_exit((void *) 77);
}
void* bar(void *inThread) {
A a1;
foo();
return 0;
}
int main() {
pthread_t tid;
if (pthread_create(&tid, 0, &bar, NULL)) {
perror("pthread create failed\n");
}
pthread_join(tid, NULL);
return 0;
}
With this feature enabled, for this example, both the constructors and destructors will be
called for local variables a1 and a2 in functions foo and bar.
This feature requires exception handling info and if functions are compiled with +noeh, no
destructors will be called with no indication of a problem. This is similar to mixing and
matching +eh code with +noeh code and doing a throw across the mixture.
This feature is available only in the shared version of C++ runtime library and on HP-UX 11.x
PA-RISC versions.
Accessing Members of Enclosing Class from a Nested Class
Prior to this release, the aCC compiler disallowed accessing of members of enclosing class
from a nested class. Friend access was required for such cases. However, the C++ Standards
Committee is planning to relax this restriction and this feature is implemented in many
compilers.