HP MLIB for PA-RISC and Itanium2 HP-UX Version 9.5 Release Note
HP MLIB for PA-RISC and Itanium® 2 HP-UX Version 9.5 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® 2-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® 2-based platforms
Also note that all the workarounds listed for Itanium® 2-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® 2-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(...);
}