develooper Front page | perl.perl5.porters | Postings from July 2016

[perl #8910] Subroutine doesn't create elements.

Thread Previous | Thread Next
From:
Dan Collins via RT
Date:
July 5, 2016 01:02
Subject:
[perl #8910] Subroutine doesn't create elements.
Message ID:
rt-4.0.18-10736-1467680546-1491.8910-15-0@perl.org
In blead, it throws an error now.

	Porting/bisect.pl --start v5.10.0 --end v5.22.0 --target miniperl -Dcc='ccache gcc-6' -- ./miniperl ../8910.pl

	ce0d59fdd1c7d145efdf6bf8da56a259fed483e4 is the first bad commit
	commit ce0d59fdd1c7d145efdf6bf8da56a259fed483e4
	Author: Father Chrysostomos <sprout@cpan.org>
	Date:   Tue Jul 2 13:07:45 2013 -0700

		[perl #7508] Use NULL for nonexistent array elems

		This commit fixes bug #7508 and provides the groundwork for fixing
		several other bugs.

		Elements of @_ are aliased to the arguments, so that \$_[0] within
		sub foo will reference the same scalar as \$x if the sub is called
		as foo($x).

		&PL_sv_undef (the global read-only undef scalar returned by the
		‘undef’ operator itself) was being used to represent nonexistent
		array elements.  So the pattern would be broken for foo(undef), where
		\$_[0] would vivify a new $_[0] element, treating it as having been
		nonexistent.

		This also causes other problems with constants under ithreads
		(#105906) and causes a pending fix for another bug (#118691) to trig-
		ger this bug.

		This commit changes the internals to use a null pointer to represent a
		nonexistent element.

		This requires that Storable be changed to account for it.  Also,
		IPC::Open3 was relying on the bug.  So this commit patches
		both modules.

	:100644 100644 b15f6ff7b60ea28323b7bba85b7bdaae7132782f aae70bf8acfcce9fe5f71143d6039efeb8c8e2a9 M      av.c
	:040000 040000 fa838b22ec5547df4feb63110c10681d950bb500 384bbf0307eb46120bb7a1dee84c27f3ce5e2a4d M      dist
	:040000 040000 b2024904fd1708fbd395a2f5778f892a7955668c dc1480bd633862776023c8a1bee98c1238d5722a M      ext
	:100644 100644 d8d9322c6055073b532f540ef5466980c93181c2 92765f0f792591f1ba8e9275f80747a1651c6e3f M      pad.c
	:100644 100644 fd404536577cfe67f40e3effb2283e0f33e428a2 17e0f3bb5142db10ec4bb965c01e785ccbad84ce M      pp.c
	:100644 100644 b08643fcc14028c8f319ff9a9a3da8e064b3d144 58a30831d803eeb02cf0928c5a8b73cbda3b393f M      pp_hot.c
	:100644 100644 5f142a0332404b6689c4322a58207337044ec607 d207d0d951de3dddc27b0ebc61b1e0fe7b48c4b6 M      regexec.c
	bisect run success
	That took 1492 seconds.


---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=8910

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About