Subject: [ID
20000414.007] Test suite failures in perl 5.6 on Cray T90
Reply-To: tecmpl1@triton.ca.boeing.com
To: perl5-porters@perl.org
Message-Id: <
200004142021.UAA36232@triton.ca.boeing.com>
p4raw-id: //depot/cfgperl@5940
6.1*) shellflags="-m+65536" ;;
esac
case "$optimize" in
-'') optimize="-O1" ;;
+'') optimize="-O1 -h nofastmd" ;;
+esac
+case `uname -r` in
+10.*) pp_ctl_cflags='ccflags="$ccflags -DUNICOS_BROKEN_VOLATILE' ;;
esac
d_setregid='undef'
d_setreuid='undef'
case "$usemymalloc" in
-'') # The perl malloc.c SHOULD work says Ilya.
- # But for the time being (5.004_68), alas, it doesn't.
+'') # The perl malloc.c SHOULD work in Unicos (ILP64) says Ilya.
+ # But for the time being (5.004_68), alas, it doesn't. --jhi
# usemymalloc='y'
# ccflags="$ccflags -DNO_RCHECK"
usemymalloc='n'
DIE(aTHX_ "Cannot compress negative numbers");
if (
-#ifdef CXUX_BROKEN_CONSTANT_CONVERT
- adouble <= UV_MAX_cxux
+#if UVSIZE > 4 && UVSIZE >= NVSIZE
+ adouble <= 0xffffffff
#else
+# ifdef CXUX_BROKEN_CONSTANT_CONVERT
+ adouble <= UV_MAX_cxux
+# else
adouble <= UV_MAX
+# endif
#endif
)
{
return NULL;
}
+/* In Unicos 10.0.0.6 (T90) the cc seems to botch optimization so that
+ * if cursi is an auto variable inside S_docatch() cursi doesn't get
+ * properly saved/restored across longjmps. &/
+#ifdef UNICOS_BROKEN_VOLATILE
+volatile PERL_SI *cursi;
+#endif
+
STATIC OP *
S_docatch(pTHX_ OP *o)
{
dTHR;
int ret;
OP *oldop = PL_op;
+#ifdef UNICOS_BROKEN_VOLATILE
+ dJMPENV;
+ cursi = PL_curstackinfo;
+#else
volatile PERL_SI *cursi = PL_curstackinfo;
dJMPENV;
+#endif
#ifdef DEBUGGING
assert(CATCH_GET == TRUE);
#./perl
+use integer;
+
BEGIN {
eval { my $q = pack "q", 0 };
if ($@) {