The current situation is as follows.
AIX:
* I still need f77 for linking.  Using ld with the suggested flags gives
  a binary with `exec format error'.  The problem seems to be with an
  unreferenced __start.
* The floating point (finite|isnan) stuff is strange, but under control,
  I think.  Plain cc works, gcc has a problem and seems to need having
  prototypes turned off for IEEE fp.  (More below.)
* Apart from that, make check goes all the way through at least for me
  under both cc/f77/make and gcc/f77/make.
HPUX:
* make check fails in arith-true.R.  The problem is that
        is.infinite(.Machine$double.base ^ .Machine$double.max.exp)
gives FALSE.
Interestingly
> .Machine$double.base
[1] 2> .Machine$double.max.exp
[1] 1024> 2 ^ 1024
[1] 1.797693e+308> 2 ^ 1025
[1] 1.797693e+308> 2 ^ 2024
[1] 1.797693e+308
****
Here are some observations re IEEE fp.  I have the following small test
program:
#include <math.h>
#include <stdio.h>
main () {
    printf("1/0: %lf 0/0: %lf\n", 1./0., 0./0.);
    printf("finite(1/0): %d\n", finite(1./0.));
    printf("isnan(0/0): %d\n", isnan(0./0.));
    printf("log(0.): %lf\n", log(0.));
    return(0);
}
Under Linux, this gives:
1/0: Inf 0/0: NaN
finite(1/0): 0
isnan(0/0): -1
log(0.): -Inf
Under HPUX:
1/0: ++.000000 0/0: ?.000000
finite(1/0): 0
isnan(0/0): 1
log(0.):
-179769313486231571000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000
This is also why log(0) is broken on HPUX.  See also the above why make
check fails.  However, the finite and isnan test is o.k.
Under AIX with cc:
1/0: INF 0/0: NaNQ
finite(1/0): 0
isnan(0/0): 1
log(0.): -INF
Under AIX with gcc:
1/0: INF 0/0: NaNQ
finite(1/0): 1
isnan(0/0): 1
log(0.): -INF
So there is a problem in the finite() test with gcc.  It somehow is
related to the use of ANSI C prototypes, and disappears if we define
_NO_PROTO.  I am in the process of adding this as a short term fix, but
we should think a bit more about that.
-k
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To:
r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._