John E. Malmberg wrote:
Abe Timmerman wrote:
Hi all,
Blead on VMS is still not building. This is on the hp-testdrive
machine SPE180:
CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/
NoList/float=ieee/ieee=denorm/Define=PERL_CORE DOIO.C
if (UNLINK(s))
....................^
%CC-W-NOTCONSTQUAL, In this statement, the referenced type of the
pointer value "(s)" is const, but the referenced type of the target of
this assignment is not.
at line number 1838 in file USER1:[ABELTJE.PERL-CURRENT]DOIO.C;1
This requires fixing in multiple places.
perl.h, util.c, and embed.fnc, and this seems to require a running perl
to rebuild proto.h
There is also an ext/Devel.PPPort/parts/embed.fnc that has a reference.
A look at this file shows that it appears to be a few generations
behind embed.fnc.
This will get the build to the next compiler warning which is the VMS
specific code in mg.c.
The VMS specific code is modifying what the compiler has been told is a
pointer to a constant, instead of making a copy and then modifying it.
It is quite possible that the Perl_my_getenv() could actually return a
pointer to non-writable memory, so if this compiler warning is
suppressed here, it could lead to an access violation at run time.
-John
[EMAIL PROTECTED]
Personal Opinion Only
3472c3472
< I32 unlnk (char*);
---
> I32 unlnk (const char*);
835c835
< Ap |I32 |unlnk |NN char* f
---
> Ap |I32 |unlnk |NN const char* f
1566c1566
< Perl_unlnk(pTHX_ char *f) /* unlink all versions of a file */
---
> Perl_unlnk(pTHX_ const char *f) /* unlink all versions of a file */