develooper Front page | perl.perl5.porters | Postings from September 2013

[perl #119745] Remove hints/

Thread Next
Nicholas Clark
September 12, 2013 08:34
[perl #119745] Remove hints/
Message ID:
# New Ticket Created by  Nicholas Clark 
# Please include the string:  [perl #119745]
# in the subject line of all future correspondence about this issue. 
# <URL: >

We can safely remove hints/

It seems to refer to the OS for this hardware:

The hints file was added by patch 20 to perl 4, and then updated with perl 5
changes to Configure variables. However, I doubt that perl 5.000 was tested
on titanos, as I doubt that it built then, and definitely won't have built
there since this commit.

commit c90c0ff485be15aaf3ee20121299cb014ee6b1ff
Author: Perl 5 Porters <>
Date:   Fri May 16 10:15:00 1997 +1200

    [inseparable changes from match from perl-5.003_99a to perl5.004]

The titanos hits file is the only hints file that references voidflags:

$ grep voidflags hints/*

More importantly, it sets it to a value which is not 15. 0x08 is missing.
That means that the compiler can't do generic void pointers.

In *theory*, the whole voidused/voidflags is supposed to work around this
by substituting 'int' for 'void' where the compiler's void support is borked,
like this.

#define void int		/* is void to be avoided? */
#define M_VOID			/* Xenix strikes again */

But perl.h has only been declaring VOIDUSED as 1, not 15, since 1.000:

#define VOIDUSED 1

This was true until perl 4.0.36 - only platform specific source code was
using generic void pointers. But 5.000 adds const void * parameters in
pp_sys.c (which the titanos compiler probably chokes on), and 5.004 adds
this in cop.h

--- a/cop.h
+++ b/cop.h
@@ -210,7 +210,7 @@ struct subst {
     char *     sbu_s;
     char *     sbu_m;
     char *     sbu_strend;
-    char *     sbu_subbase;
+    void *     sbu_rxres;
     REGEXP *   sbu_rx;
 #define sb_iters       cx_u.cx_subst.sbu_iters

which it will definitely choke on. So it can't possibly have worked for 16
years. So it should go. Given that it's probably never worked on Perl 5, I
don't think that we need to increase the documentation size mentioning it.

(As should all our references to voidflags/voidused. They've actually been
useless for at least 16 years, if not 19)

Nicholas Clark

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About