HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note

HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note
Known Problems and Workarounds
18
void xerbla (char*name, int*iarg, size_t len_name){
...
}
void xerbla_ (char*name, int*iarg, size_t len_name){
xerbla (name, iarg, len_name);
}
This problem is not confined to the XERBLA subroutine. It occurs on Itanium-based
platforms when the following conditions are met:
Any subprogram with the same name as a user-visible MLIB subprogram is compiled
in your program with +noppu
Another MLIB subprogram used by your program also calls that subprogram
PA-RISC and Itanium-based platforms
Also note that all the workarounds listed for Itanium-based platforms are more generic and
can also be used for PA-RISC. Therefore, if you are coding your own version of a MLIB routine
called "mlib_routine" on PA-RISC or Itanium-based platforms, a Fortran version might be
implemented as:
!$HP$ ALIAS mlib_routine='mlib_routine'
!$HP$ ALIAS mlib_routine_='mlib_routine_'
SUBROUTINE mlib_routine(...)
ENTRY mlib_routine_(...)
...
And a C version might be:
#undef mlib_routine
#undif mlib_routine_
void mlib_routine (...){
...
}
void mlib_routine_(...){
mlib_routine(...);
}