Vincent Pit [Tue, 24 Mar 2015 19:54:30 +0000 (16:54 -0300)]
Update the ActivePerl/gcc-3.4 hack for EUMM 7.04
Starting from this version, PERL_ARCHIVE is quoted so we can no longer set
it to the empty string. Instead, we remove all occurrences of PERL_ARCHIVE
in the linking step section of the Makefile, which is OK since we specify
the perl DLL in other variables. This new technique is still valid for
older versions of EUMM.
Vincent Pit [Thu, 5 Sep 2013 11:02:10 +0000 (13:02 +0200)]
Handle __PACKAGE__ as object name correctly
__PACKAGE__ cannot appear as the object name for indirect calls, but it
can for direct ones. This could cause wrong reports of indirect calls
when the actual package name appeared later in the source, for instance
in a comment. This is fixed by looking for '__PACKAGE__' in the source
buffer when we already have a hit for the current package name, and by
keeping the first one of those two.
Vincent Pit [Tue, 6 Aug 2013 03:28:58 +0000 (00:28 -0300)]
Get rid of t/99-kwalitee.t
New versions started to throw warnings if specific environment variables
are not set. This may be appropriate for dist manager users, but not really
for the rest of the world.
Since kwalitee metrics are either obvious or useless, there's no big loss
in removing this test anyway.
Vincent Pit [Tue, 5 Mar 2013 00:12:52 +0000 (21:12 -0300)]
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).
Vincent Pit [Sat, 2 Oct 2010 23:35:11 +0000 (01:35 +0200)]
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, 23 Aug 2010 09:19:23 +0000 (11:19 +0200)]
Always get the hint directly from %^H
Since we explicitely ensure that we only fetch the hint at compile time, we
should always be able to get it from %^H. However, the require propagation
bug was fixed for %^H only in 5.12, while it was fixed in 5.10.1 for the
internal hint chain. So we also have to enable the require propagation
workaround on 5.10.1.
Vincent Pit [Thu, 19 Aug 2010 15:19:38 +0000 (17:19 +0200)]
Remove some dead code in indirect_ck_method
We already check that the first kid of the method op is a const op. Thus
it must have been checked before. Otherwise, someone has returned a const
op from a custom check function and haven't recalled in the old check
chain, which is bad and ultimately their fault.
Vincent Pit [Thu, 19 Aug 2010 15:05:48 +0000 (17:05 +0200)]
Store the offset from the source buffer beginning in the op info object
This fixes potential errors where some indirect constructs are wrongly
reported (or failed to be) when the source buffer is grown between the
method and the object name.
Also, from now on, an op info object is never stored when the correct
position could not have been found in the source buffer. This is really
how it should have behaved from the beginning.