At 04:39 PM 6/24/2002 +0200, Martin Vorlaender wrote:
>Environments:
>
>DEC C V5.7-004 on OpenVMS VAX V6.2
>DEC C V5.7-004 on OpenVMS Alpha V6.2-1H3
>
>On the VAX, $ @configure "-des" bombs out with
>
>First let's make sure your kit is complete. Checking...
>Some of the files not found include:
>[-.os2]diff.configure
As Peter said, that file is present in the tarball so I'd suspect something
went wrong in downloading or unpacking the kit.
>Next on VAX: the call to 'gcc_symbol' isn't framed by SET NOON / SET ON,
>and
>so bombs out. Same on Alpha, I'd suppose.
Peter's suggestion seems reasonable, but it also seems rather odd this has caused
no problems for anyone else.
>Then, configure.com runs right through to the end on VAX and Alpha.
>
>MMS, however, stops on VAX at:
>
>CC/DECC
>/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=MINIPERLMAIN.obj/NoList
>/Define=PERL_CORE MINIPERLMAIN.C
> typedef unsigned off_t;
> .................^
>%CC-E-NOLINKAGE, In this declaration, "off_t" has no linkage and has a
>prior declaration in this scope at line 308 in UNISTD.
> At line number 10 in SYS$COMMON:[SYSLIB]STAT.H;1.
>
> }
Hmm. Another oddity. This doesn't happen with DEC 5.2 on OVMS Alpha 7.1,
nor with any of the 6.x compiler versions on various OS versions we've seen
reported.
>On Alpha, it runs through to building POSIX, and bombs with
>
>CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj
>/float=ieee/ieee=denorm_results/Define=("VERSION=""1.05""","XS_VERSION=""1.05""")/Include=
>([--])/N
>oList POSIX.c
>
> *nv_return = LDBL_MAX;
>....................^
>%CC-W-FLOATOVERFL, In this statement, floating-point overflow occurs in
>evaluating the expression "1.189731495357231765085759326628007016196477e4932l".
>at line number 1925 in file PERLSRC:[000000.EXT.POSIX]CONST-C.INC;1
>
> *nv_return = LDBL_MIN;
>....................^
>%CC-W-UNDERFLOW, In this statement, underflow occurs in evaluating the
>expressio
>n "3.3621031431120935062626778173217526025981e-4932l".
>at line number 1934 in file PERLSRC:[000000.EXT.POSIX]CONST-C.INC;1
These are different in kind from any of the floating point issues we've seen
before. You *are* using IEEE with denormed results, so the exceptions if
they occur should be silent. Moreover, you are assigning values that the
headers have told you are (just) within the limits of what can be
represented. It's as if the compiler is trying to represent values in
G_FLOAT during compile time that it knows can only be represented in X_FLOAT
(long double). This is also something that does not happen with compiler
versions that are older or newer than yours. I'm baffled.
Does anyone else have a 6.2 system that could give us another data point?
Martin, if you have time to start over after getting a new copy of vmstar
from <http://vms.process.com/scripts/fileserv/fileserv.com?VMSTAR> and see
if that clears up any of these problems that would be much appreciated.