]>
git.vpit.fr Git - perl/modules/Lexical-Types.git/log
Vincent Pit [Sat, 26 Feb 2011 19:18:09 +0000 (20:18 +0100)]
Always skip seen ops in our peep replacement
Sometimes, there are loops in the next chain as e.g. with infinite loops
like "for (;;) { ... }". We can't reuse the op_opt member because it's
almost always set after the first pass.
This fixes RT #66146.
Vincent Pit [Mon, 3 Jan 2011 20:32:15 +0000 (21:32 +0100)]
This is 0.10
Vincent Pit [Mon, 3 Jan 2011 20:24:38 +0000 (21:24 +0100)]
Switch to qw<>
Vincent Pit [Mon, 3 Jan 2011 20:20:16 +0000 (21:20 +0100)]
Fix building on Windows
Vincent Pit [Mon, 3 Jan 2011 15:01:34 +0000 (16:01 +0100)]
Require perl 5.8.3
5.8.2 has a buggy peephole optimizer that may cause test failures.
Vincent Pit [Mon, 3 Jan 2011 14:59:22 +0000 (15:59 +0100)]
Skip threads tests unless perl version is 5.13.4 or greater
There was a long standing bug in the handling of GV <-> CV double linkage
that could (and explicitely did with a poisonous perl) cause segfaults at
thread destruction. It got fixed by Dave in commit
803f274 which went in
5.13.3, but the fix was amended for 5.13.4 in commit
09aad8f . Since it's
not really fair for the user to not be able to install the module because
of this, we skip the threads tests unless perl is at least 5.13.4.
Vincent Pit [Mon, 3 Jan 2011 14:46:33 +0000 (15:46 +0100)]
Force linking against the perl dll when using gcc 3.4 on Windows
When a Windows perl links an XS shared object to an import library using
gcc/g++ version 3.4.x, strange breakage happens at load time because the
mutex-related symbols seems not to be reachable. This situation happens
especially for AS perl and the default compiler suite it installs.
We fix this by forcing g++ to link against the dll instead, which should
be in the same directory as the perl executable (at least for AS perl).
This change is the integration of commit
14f8af2 from Variable::Magic's
repository.
Vincent Pit [Mon, 3 Jan 2011 14:25:13 +0000 (15:25 +0100)]
Introduce LT_FORKSAFE
Vincent Pit [Mon, 3 Jan 2011 14:18:36 +0000 (15:18 +0100)]
Only load Carp on error
Vincent Pit [Mon, 3 Jan 2011 11:40:59 +0000 (12:40 +0100)]
Fix test failures with Strawberry Perl 5.12
perl crashes because the SystemRoot environment variable is missing.
Vincent Pit [Mon, 3 Jan 2011 11:20:15 +0000 (12:20 +0100)]
Use TARG in lt_pp_padsv
This is how Perl_pp_padsv gets the SV.
Vincent Pit [Sat, 1 Jan 2011 22:48:08 +0000 (23:48 +0100)]
Bump copyright year
Vincent Pit [Sat, 1 Jan 2011 22:32:43 +0000 (23:32 +0100)]
Remove the #ifdef wrapping the mutex locks/unlocks
Vincent Pit [Sat, 1 Jan 2011 22:28:48 +0000 (23:28 +0100)]
Only declare dMY_CXT when really needed
Vincent Pit [Sat, 1 Jan 2011 22:23:59 +0000 (23:23 +0100)]
Get rid of CALL_FPTR
Vincent Pit [Sat, 1 Jan 2011 22:21:10 +0000 (23:21 +0100)]
Set the ppaddr member of padsv ops at peep time
There was a race in the "PL_ppaddr[OP_PADSV] save/restore dance" in that
perl might be compiling ops inside and outside the scope of the pragma at
the same time. We solve this by setting the op_ppaddr member of padsv ops
to a_pp_deref during the peephole optimization phase.
Vincent Pit [Fri, 31 Dec 2010 16:36:54 +0000 (17:36 +0100)]
Use cop_hints_fetch_pvn() whenever possible
refcounted_he_fetch() never was public, but in recent 5.13.x versions it is
no longer linkable.
Vincent Pit [Fri, 31 Dec 2010 17:12:38 +0000 (18:12 +0100)]
Use the new CLONE_PARAMS API with perl 5.13.2
Vincent Pit [Fri, 31 Dec 2010 16:48:02 +0000 (17:48 +0100)]
Clarify our policy towards C++ compilers
Vincent Pit [Fri, 31 Dec 2010 16:46:28 +0000 (17:46 +0100)]
Update ptable.h
Vincent Pit [Fri, 31 Dec 2010 16:39:15 +0000 (17:39 +0100)]
Ignore MYMETA.yml
Vincent Pit [Fri, 31 Dec 2010 16:34:14 +0000 (17:34 +0100)]
Get rid of ENTERn/LEAVEn
They are no longer needed since
420f91f3c4f8aa318ede84928eb7c671921500ea .
Vincent Pit [Tue, 1 Jun 2010 17:09:15 +0000 (19:09 +0200)]
Identify the require scope by the outmost cv outside of the current one
Vincent Pit [Tue, 1 Jun 2010 16:36:55 +0000 (18:36 +0200)]
Fix the thread destructor trick for 5.13.1
Vincent Pit [Tue, 18 May 2010 22:15:11 +0000 (00:15 +0200)]
Require perl 5.8.1
Vincent Pit [Thu, 15 Apr 2010 23:32:33 +0000 (01:32 +0200)]
{ENTER,LEAVE}_with_name are no longer needed starting perl 5.11.4
Vincent Pit [Sat, 2 Jan 2010 23:59:11 +0000 (00:59 +0100)]
This is 0.09
Vincent Pit [Sat, 2 Jan 2010 23:58:06 +0000 (00:58 +0100)]
Bump copyright year
Vincent Pit [Sat, 2 Jan 2010 23:37:05 +0000 (00:37 +0100)]
Trailing whitespace
Vincent Pit [Sat, 2 Jan 2010 23:35:01 +0000 (00:35 +0100)]
Do not mix declarations and code
Vincent Pit [Sat, 2 Jan 2010 23:33:29 +0000 (00:33 +0100)]
CLONE doesn't need to return anything, so make it use a PPCODE section
Vincent Pit [Sat, 2 Jan 2010 23:30:55 +0000 (00:30 +0100)]
Add the missing return type to lt_setup()
Vincent Pit [Sat, 2 Jan 2010 23:30:09 +0000 (00:30 +0100)]
Rename the pp_padsv member to old_pp_padsv
As pp_padsv is a compatibility macro from the perl core headers.
Vincent Pit [Tue, 29 Dec 2009 17:15:52 +0000 (18:15 +0100)]
Update ptable.h
Vincent Pit [Tue, 29 Dec 2009 17:04:53 +0000 (18:04 +0100)]
Also call FREETMPS/LEAVE when skipping a typed declaration
This fixes unbalanced scopes that were uncovered by the new named scope
feature in blead
Vincent Pit [Tue, 29 Dec 2009 16:30:01 +0000 (17:30 +0100)]
Fix for {ENTER,LEAVE}_with_name
Vincent Pit [Sun, 4 Oct 2009 09:18:03 +0000 (11:18 +0200)]
Re-indent WriteMakefile() arguments
Vincent Pit [Sun, 4 Oct 2009 08:24:28 +0000 (10:24 +0200)]
Build the $name and the main $file from $dist
Vincent Pit [Sun, 4 Oct 2009 08:00:08 +0000 (10:00 +0200)]
Put prerequisites in their own separate hash
Vincent Pit [Sun, 4 Oct 2009 07:28:21 +0000 (09:28 +0200)]
Give an explicit value to dynamic_config
Vincent Pit [Wed, 30 Sep 2009 22:22:50 +0000 (00:22 +0200)]
Only look up to the first require scope for the require propagation workaround
Vincent Pit [Sat, 26 Sep 2009 09:53:10 +0000 (11:53 +0200)]
Kwalitee test overhaul
Vincent Pit [Fri, 11 Sep 2009 22:57:41 +0000 (00:57 +0200)]
Reset the callbacks when the root interpreter is destroyed
This fix segfaults when the pragma is first loaded from inside a thread.
The global state for the root interpreter is also freed, so it won't leak
anymore.
Vincent Pit [Fri, 11 Sep 2009 21:45:35 +0000 (23:45 +0200)]
Only remap the hint through the pointer table for threaded perls
Also use the hint pointer as the unique identifier for the %^H entry, so
that the pragma no longer leaks when you specify the same hook (i.e. a
reference to the same sub) in two different require scopes.
Vincent Pit [Sat, 4 Jul 2009 19:34:57 +0000 (21:34 +0200)]
This is 0.08
Vincent Pit [Sat, 4 Jul 2009 13:00:03 +0000 (15:00 +0200)]
Store the default method name in the thread local storage area
Because we actually write to it in threads (its refcount is incremented).
Vincent Pit [Sat, 4 Jul 2009 12:52:25 +0000 (14:52 +0200)]
Increment the refcount after cloning
Vincent Pit [Sat, 4 Jul 2009 11:52:05 +0000 (13:52 +0200)]
Require Variable::Magic 0.35 in t/23-magic-uvar.t
So that perl 5.9.5 isn't considered as having uvar magic anymore.
Vincent Pit [Sat, 4 Jul 2009 11:46:48 +0000 (13:46 +0200)]
Correct the refcount of the source SVs that aren't actually stored
Vincent Pit [Sat, 4 Jul 2009 10:46:04 +0000 (12:46 +0200)]
Decide to use shared op info according to MULTIPLICITY
And not LT_MULTIPLICITY, since it can be disabled at configure time.
Vincent Pit [Sat, 4 Jul 2009 10:39:19 +0000 (12:39 +0200)]
Stop leaking the op specific info
This needs extra care under multiplicity perls. We can't actually use a SV because there's no way to free it in the context of the interpreter it was allocated from : it may very well not exist anymore at this point.
Vincent Pit [Fri, 3 Jul 2009 20:58:22 +0000 (22:58 +0200)]
Correct failing tests locations
Vincent Pit [Fri, 3 Jul 2009 19:55:25 +0000 (21:55 +0200)]
Factor the cloning logic in a new lt_clone() function
Vincent Pit [Fri, 3 Jul 2009 17:57:17 +0000 (19:57 +0200)]
Store the overriden pp_padsv into thread-local storage
This should fix some threading-related issues where lexical types introduction weren't caught.
Vincent Pit [Wed, 1 Jul 2009 08:43:28 +0000 (10:43 +0200)]
This is 0.07
Vincent Pit [Wed, 1 Jul 2009 08:15:12 +0000 (10:15 +0200)]
POD enhancements
Vincent Pit [Tue, 30 Jun 2009 22:14:56 +0000 (00:14 +0200)]
Work around the hints propagation in requires on perl <= 5.10.0
Vincent Pit [Tue, 30 Jun 2009 20:38:57 +0000 (22:38 +0200)]
Clean up map entries associated to uncatched OPs
Vincent Pit [Sun, 24 May 2009 14:37:00 +0000 (16:37 +0200)]
Rename 'id' to 'hint' for consistency
Vincent Pit [Fri, 15 May 2009 22:41:07 +0000 (00:41 +0200)]
5.9.5 fix
Vincent Pit [Sat, 2 May 2009 15:05:35 +0000 (17:05 +0200)]
Disable thread safety for 5.8.x on Windows
Vincent Pit [Fri, 1 May 2009 23:23:17 +0000 (01:23 +0200)]
Don't let [ap]PTBL_? values propagate outside ptable.h
As they can't be kept anyway if we include the file several times.
Vincent Pit [Fri, 1 May 2009 18:59:49 +0000 (20:59 +0200)]
This is 0.06
Vincent Pit [Fri, 1 May 2009 18:54:03 +0000 (20:54 +0200)]
Enhance thread safety
Vincent Pit [Tue, 28 Apr 2009 21:40:24 +0000 (23:40 +0200)]
This is 0.05
Vincent Pit [Wed, 22 Apr 2009 20:51:43 +0000 (22:51 +0200)]
Slashes are reserved and hence must be encoded in the search part of an URL
Vincent Pit [Thu, 16 Apr 2009 22:43:53 +0000 (00:43 +0200)]
Point the repository to the gitweb instead of the bare repo
Vincent Pit [Fri, 27 Mar 2009 00:31:57 +0000 (01:31 +0100)]
Fix building with PERL_IMPLICIT_SYS
Vincent Pit [Tue, 17 Mar 2009 00:26:38 +0000 (01:26 +0100)]
Test dieing in callbacks
Vincent Pit [Sat, 7 Mar 2009 18:59:38 +0000 (19:59 +0100)]
Remove the type discussion from the CAVEATS. I really thought I did...
Vincent Pit [Sat, 7 Mar 2009 15:44:20 +0000 (16:44 +0100)]
This is 0.04
Vincent Pit [Sat, 7 Mar 2009 15:37:40 +0000 (16:37 +0100)]
Newx is no longer needed
Vincent Pit [Sat, 7 Mar 2009 12:34:13 +0000 (13:34 +0100)]
Add a disclaimer to ptable.h
Vincent Pit [Sat, 7 Mar 2009 12:20:38 +0000 (13:20 +0100)]
Give an example of integration with constants
Vincent Pit [Sat, 7 Mar 2009 12:19:51 +0000 (13:19 +0100)]
Talk about $_[0] in 'as' callbacks for constant types
Vincent Pit [Sat, 7 Mar 2009 12:10:15 +0000 (13:10 +0100)]
Document the initializer method in its own section
Vincent Pit [Sat, 7 Mar 2009 12:04:18 +0000 (13:04 +0100)]
Revamp the description so that the important discussion about what the type can be comes sooner
Vincent Pit [Sat, 7 Mar 2009 11:05:26 +0000 (12:05 +0100)]
Output optional modules versions in tests
Vincent Pit [Sat, 7 Mar 2009 00:58:42 +0000 (01:58 +0100)]
Protect the access to lt_op_map by a mutex
Vincent Pit [Sat, 7 Mar 2009 00:49:24 +0000 (01:49 +0100)]
Use a pointer table allocated on shared memory
Vincent Pit [Fri, 6 Mar 2009 23:53:47 +0000 (00:53 +0100)]
Fix the refcount of orig_pkg when type_pkg defaults to it
Vincent Pit [Fri, 6 Mar 2009 22:32:34 +0000 (23:32 +0100)]
Move __PACKAGE__ to a more proper place
Vincent Pit [Thu, 5 Mar 2009 23:11:53 +0000 (00:11 +0100)]
Test hooking declarations inside the 'as' callback
Vincent Pit [Thu, 5 Mar 2009 21:14:32 +0000 (22:14 +0100)]
This is 0.03
Vincent Pit [Thu, 5 Mar 2009 21:12:10 +0000 (22:12 +0100)]
Test magical tags
Vincent Pit [Thu, 5 Mar 2009 21:03:14 +0000 (22:03 +0100)]
Remove t/90-boilerplate.t
Vincent Pit [Thu, 5 Mar 2009 21:01:46 +0000 (22:01 +0100)]
A new synopsis
Vincent Pit [Mon, 2 Mar 2009 14:16:17 +0000 (15:16 +0100)]
Reverse the logic for the "skipping declaration" example
Vincent Pit [Sun, 1 Mar 2009 15:01:16 +0000 (16:01 +0100)]
Test uvar magic
Vincent Pit [Sun, 1 Mar 2009 14:32:08 +0000 (15:32 +0100)]
Remove the version dependency for Variable::Magic in t/22-magic.t
Vincent Pit [Thu, 26 Feb 2009 20:44:30 +0000 (21:44 +0100)]
s/module/pragma/
Vincent Pit [Thu, 26 Feb 2009 17:43:04 +0000 (18:43 +0100)]
Remove a trailing space
Vincent Pit [Thu, 26 Feb 2009 17:41:27 +0000 (18:41 +0100)]
Move the last tests of t/13-padsv.t to t/10-base.t
Vincent Pit [Thu, 26 Feb 2009 17:38:58 +0000 (18:38 +0100)]
Push the t/1* tests to make room for t/10-base.t
Vincent Pit [Thu, 26 Feb 2009 17:26:37 +0000 (18:26 +0100)]
Test and document constant as types
Vincent Pit [Thu, 26 Feb 2009 16:32:01 +0000 (17:32 +0100)]
Test "my Str ($x, $y)"
Vincent Pit [Thu, 26 Feb 2009 08:55:13 +0000 (09:55 +0100)]
Refine the PL_ppaddr[OP_PADSV] localization logic so that it is kinder to other modules that replace it
Vincent Pit [Wed, 25 Feb 2009 16:08:27 +0000 (17:08 +0100)]
This is 0.02
Vincent Pit [Wed, 25 Feb 2009 15:55:54 +0000 (16:55 +0100)]
Don't decrement the refcount of the default method name when a declaration is skipped
Vincent Pit [Wed, 25 Feb 2009 12:45:16 +0000 (13:45 +0100)]
t/12-padsv.t doesn't need File::Spec