This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
For IRIX the official symbol is __sgi, not __irix__.
authorJarkko Hietaniemi <jhi@iki.fi>
Sat, 17 Oct 2015 23:03:01 +0000 (19:03 -0400)
committerJarkko Hietaniemi <jhi@iki.fi>
Sun, 18 Oct 2015 12:51:55 +0000 (08:51 -0400)
The __sgi is defined both by SGI cc and gcc.

The change does not seem to change the set of failures with
uselongdouble build; there are two known ones in general
[perl #125298] (warnings) and [cpan #105030] (Time::Piece %z),
and then for uselongdouble a bunch of infnan and locale failures
that I haven't gotten around to reporting or fixing.

perl.h

diff --git a/perl.h b/perl.h
index a1a50b3..c14ba06 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -2157,7 +2157,7 @@ extern long double Perl_my_frexpl(long double x, int *e);
 /* Solaris and IRIX have fpclass/fpclassl, but they are using
  * an enum typedef, not cpp symbols, and Configure doesn't detect that.
  * Define some symbols also as cpp symbols so we can detect them. */
-#    if defined(__sun) || defined(__irix__) /* XXX Configure test instead */
+#    if defined(__sun) || defined(__sgi) /* XXX Configure test instead */
 #     define FP_PINF FP_PINF
 #     define FP_QNAN FP_QNAN
 #    endif
@@ -2207,7 +2207,7 @@ extern long double Perl_my_frexpl(long double x, int *e);
 #        include <fp_class.h>
 #    endif
 #    if defined(FP_POS_INF) && defined(FP_QNAN)
-#        ifdef __irix__ /* XXX Configure test instead */
+#        ifdef __sgi /* XXX Configure test instead */
 #            ifdef USE_LONG_DOUBLE
 #                define Perl_fp_class(x)       fp_class_l(x)
 #            else