| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This removes find2perl, s2p and a2p from core. They have all been
released to CPAN as separate distributions.
|
| |
|
|
|
|
|
|
| |
Fix for Coverity perl5 CIDs 29203, 29207, 29211, 29214, 29217, 29218,
29222: Unused pointer value (UNUSED_VALUE) Pointer foo returned by
bar() is overwritten.
|
|
|
|
| |
When cross-compiling we want to run miniperl etc on the compile host, not the test target
|
|
|
|
|
|
|
| |
The str_gets() function, when encountering a newline character, checked to
see if the previous char was a \ escape. For a blank line, the check would
read the char at the position one before the start of the buffer. There
was a test to avoid this, but it was off-by-one.
|
|
|
|
|
|
| |
VOIDUSED was provided by metaconfig to work around pre-ANSI compilers that
didn't support all uses of the void type. We've been mandating a proper ANSI
C89 compiler for at least a decade, so we don't need this any more.
|
|
|
|
| |
fix and un-TODO the test
|
|
|
|
|
|
|
|
| |
a2p's main has had the traditional Unix third parameter (env) forever.
Commit 24801a4b9a14a562 in May 2005 increased the strictness of the Tru64
compiler, and added pramgas where necessary to counter its warnings.
However, a2p's main doesn't actually *use* the env parameter, so a better
solution is to remove it. Which means that the pragma can be removed too.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Eliminate plexe and plc, which relate to tests for the compiler and were
added as part of commit 52cebf5efc9883c7 in May 1988. The compiler was
removed by commit de1254415ffeb03b in Sept 2006.
The files a2p.man and s2p.man were removed with Perl 5.000.
The macros 'public', 'private' and 'util' mirror the structure of the top
level Makefile.SH. However, x2p only ever used 'public', so simplify things
by inlining the value of 'public' in the only place that uses it.
'addedbyconf' now only contains the value of 'plextract', so use the latter
directly in the one place that had used 'addedbyconf'.
|
|
|
|
|
|
| |
These rules to clean up properly on VM/ESA were added in Oct 1998 by
perforce changes 1961, 1962 and 1963 in the confperl branch. VM/ESA support
was removed by commit 043fec90e88a2e23 in Aug 2012.
|
|
|
|
|
| |
This makes the top level Makefile responsible for deleting x2p/Makefile.
With this, we can eliminate the 'sh' and 'shextract' from x2p's Makefile.
|
| |
|
|
|
|
| |
x2p/Makefile is only used on *nix, so this should not present a problem.
|
| |
|
|
|
|
|
|
|
|
| |
4 of the *.SH files have code which links the extracted file into the parent
directory if the current directory ends SH. This code dates from Perl 1.
It seems that the intent was that the *.SH files could live in a SH/
directory, but that feature was neither used or mentioned in the
documentation in Perl 1, and hasn't been used since.
|
|
|
|
|
| |
This was added in the 5.17 series so there's no code relying on its
current name. I think that the abbreviation is clearer.
|
|
|
|
|
| |
These were all uncovered by the new Pod::Checker, not yet in core.
Fixing these will speed up debugging the new Checker.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Perl has had an undocumented macro isALNUMC() for a long time. I want
to document it, but the name is very obscure. Neither Yves nor I are
sure what it is. My best guess is "C's alnum". It corresponds to
/[[:alnum:]]/, and so its best name would be isALNUM(). But that is the
name long given to what matches \w. A new synonym, isWORDCHAR(), has
been in place for several releases for that, but the old isALNUM()
should remain for backwards compatibility.
I don't think that the name isALNUMC() should be published, as it is too
close to isALNUM(). I finally came to the conclusion that
isALPHANUMERIC() is the best name; it describes its purpose clearly; the
disadvantage is its long length. I doubt that it will get much use, but
we need something, I think, that we can publish to accomplish this
functionality.
This commit also converts core uses of isALNUMC to isALPHANUMERIC. (I
intended to that separately, but made a mistake in rebasing, and
combined the two patches; and it seemed like not a big enough problem to
separate them out again.)
|
|
|
|
|
|
|
| |
This finishes the removal of register declarations started by
eb578fdb5569b91c28466a4d1939e381ff6ceaf4. It neglected the ones in
function parameter declarations, and didn't include things in dist, ext,
and lib, which this does include
|
| |
|
|
|
|
|
|
| |
A new regen'd header file has been created that contains the native
values for certain characters. By using those macros, we can eliminate
EBCDIC dependencies.
|
|
|
|
|
| |
VM/ESA was a mainframe OS. IBM ended service on it in June 2003. It was
superseded by Z/VM.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes most register declarations in C code (and accompanying
documentation) in the Perl core. Retained are those in the ext
directory, Configure, and those that are associated with assembly
language.
See:
http://stackoverflow.com/questions/314994/whats-a-good-example-of-register-variable-usage-in-c
which says, in part:
There is no good example of register usage when using modern compilers
(read: last 10+ years) because it almost never does any good and can do
some bad. When you use register, you are telling the compiler "I know
how to optimize my code better than you do" which is almost never the
case. One of three things can happen when you use register:
The compiler ignores it, this is most likely. In this case the only
harm is that you cannot take the address of the variable in the
code.
The compiler honors your request and as a result the code runs slower.
The compiler honors your request and the code runs faster, this is the least likely scenario.
Even if one compiler produces better code when you use register, there
is no reason to believe another will do the same. If you have some
critical code that the compiler is not optimizing well enough your best
bet is probably to use assembler for that part anyway but of course do
the appropriate profiling to verify the generated code is really a
problem first.
|
|
|
|
|
|
| |
UTS was a mainframe version of System V created by Amdahl, subsequently sold
to UTS Global. The port has not been touched since before 5.8.0, and UTS
Global is now defunct.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Compiling str.c with HP C++ for OpenVMS says,
FILE_ptr(fp) = (void*)ptr; /* LHS STDCHAR* cast non-portable */
.....................^
%CXX-E-INCASSOPN, a value of type "void *" cannot be assigned to an
entity of type "char *"
at line number 213 in file D0:[craig.blead.x2p]str.c;1
FILE_ptr(fp) = (void*)ptr; /* LHS STDCHAR* cast non-portable */
.................^
%CXX-E-INCASSOPN, a value of type "void *" cannot be assigned to an
entity of type "char *"
at line number 233 in file D0:[craig.blead.x2p]str.c;1
So remove the void casts to avoid the errors. This is an exact
mirror of d06fc7d4ca98, which also removed the void cast from an
equivalent line in perlio.c. That was almost six years ago, so if
anything especially dire were going to happen without the cast, it
likely would have happened by now.
The casts were added by cc00df79d5 and 5faea5d5, the former of which
refers vaguely to "compiler worries" without specifying what they
were, but signedness warnings are a likely suspect. We'll get those
again now, but warnings are less bad than errors. A more robust
solution would be to add a Configure-time detection of the type of
FILE._ptr and cast everything to that.
An even more robust solution would be to eliminate all the "buffer
snooping" mechanisms and concede that maintaining an stdio
implementation is a job for stdio maintainers and not Perl
maintainers.
|
|
|
|
|
|
|
|
| |
The 80286 was released two years before Perl 1, but the support code was
added with Perl 3. The chip hasn't been produced for more than 15 years -
even the 80386 hasn't been manufactured since 2007. Most of the other
memory model code was removed by commit 5869b1f143426909 in Sep 2000, so
support for 16 bit systems is long dead.
|
|
|
|
|
| |
Replace combinations of macro calls with single ones that mean the same
thing.
|
|
|
|
|
| |
isWORDCHAR() is a single macro (and array lookup) that is the equivalent
of the OR of the three macros previously used.
|
|
|
|
|
|
|
|
|
|
| |
C++ does not define VMS, only __VMS. We define VMS in config.h
for C++, but here we're trying to figure out how to include config.h,
so we don't have it yet.
The only compiler that defined only VMS and not __VMS was VAX C,
which isn't C89-compliant and can't build Perls from the current
century.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
In 1998 commit 30e2e4257067d5f8 stated
temporarily disable perl malloc for a2p until we clean up
conflicting malloc() declarations everywhere
and nothing has changed since. 13 years later, no-one has reported problems,
so it's safe to remove it.
|
| |
|
| |
|
|
|
|
|
| |
Remove support for the Borland C++ compiler on Win32, as agreed here:
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2011-09/msg00034.html
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I have spotted a couple of missing dependencies in the makefiles
utils/Makefile.SH and x2p/Makefile.SH that prevent json_pp, s2p,
psed, and find2perl from being rebuilt after configuration changes.
This could cause trouble if the install prefix has been changed,
so that the shebang line of these scripts from a previous build
no longer matches the target location of the perl binary.
A workaround would be to always "make clean" after changes to
the configuration, which sounds reasonable anyway. That said,
most of the other tools do have config.sh properly listed as a
dependency and I don't see why those four should not.
I have attached a small patch against perl-5.13.11 to fix this.
The bug is also present in the latest stable release as of this
writing, perl-5.12.3, except that json_pp is not included there.
|
|
|
|
|
|
|
|
|
| |
# New Ticket Created by (Peter J. Acklam)
# Please include the string: [perl #81920]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=81920 >
Signed-off-by: Abigail <abigail@abigail.be>
|
|
|
|
|
|
|
|
| |
The x2p and utils .PL extractions use the Cwd module, which is not
available in miniperl in a static build. (For a dynamic build, miniperl
only loads the pure perl portion of Cwd, but building the whole extension
ensures that the pure perl part is correctly built and available. It might
be cleaner just to always require the full perl.)
|
|
|
|
|
|
|
| |
All these files used to be executable in the release tarballs. Apparently things
also work without that in the repository, but I'd rather add this possibly
unecessary change to blead instead of breaking the upcoming release. This should
probably be looked into again afterwards.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When porting/makerel runs, all files copied into the directory for the
tarball have the executable bit stripped and then only a specific set of
files have the executable bit restored.
There are many files in the repo that have the executable bit set in the
repo that will be stripped. So that the state of files in the repo is
as close as possible to the state of files in the release tarball, the
executable bit has been stripped from such files.
In one recent case, a file added from a dual-life module needed the
executable bit set. Because it had the bit in the repo but was
not listed in makerel to get an executable bit, tests using it
passed in the repo and failed in the tarball.
This commit refactors the list into a new file, Porting/exec-bit.txt
and add tests to detect a mismatch between files listed there
and actual executable bits in the repo.
|
|
|
|
|
|
|
| |
While I was doing the $[ thing, I discovered a bug in a2p's handling of
the match() operator. It uses a comma operator, which has unintended
behaviour in list context (e.g., in a print statement). It also returns
empty string for a non-match, rather than the required 0.
|
|
|
|
|
|
|
|
|
|
|
| |
I missed earlier that the a2p documentation mentions $[. Patch attached.
The same doc section has a couple of other paragraphs that look like
they need updating, but I'm not sure what to do with them: one refers
to keys() not applying to arrays, and one is about $#.
-zefram
Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
|
| |
|
| |
|
|
|
|
|
| |
Fixes #68840 reported by Guglielmo Bondioni, where a2p incorrectly
translated sub(/foo/,"bar/baz") into s/foo/bar/baz/.
|
| |
|
| |
|
|
|
|
| |
Remove also redundant ignores for produced files in x2p
|
|
|
|
|
| |
A list submitted by Paul Fenwick was briefly factored into
directory-specific rules.
|