On Sat, Dec 31, 2011 at 03:27:46PM +0000, Philip Hazel wrote:
> I have built tarballs from the current trunk files, and placed them here
> (PT=Preliminary Test):
>
> ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/pcre-8.30-PT1.tar.gz
> ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/pcre-8.30-PT1.tar.bz2
> ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/pcre-8.30-PT1.zip
>
I configured as --enable-pcretest-libreadline --enable-utf
--enable-unicode-properties --enable-pcre8 (i.e. no UTF-16) and compiled with
following results on glibc-linux:
PPC with JIT: compiles, all tests pass
s390 without JIT: compiles, all tests pass
x86_64 with JIT: compiles, all tests pass
PPC64 with JIT: compiles, pcre_jit_test passes, C library tests fail on:
Test 2: API, errors, internals, and non-Perl stuff (not UTF-8)
--- ./testdata/testoutput2 2011-12-28 11:57:53.000000000 -0500
+++ testtry 2012-01-04 10:21:33.373310423 -0500
@@ -34,7 +34,7 @@
/^abc/I
Capturing subpattern count = 0
-Options: anchored
+No options
No first char
No need char
abc
i686 with JIT: compiles, all tests pass
s390x without JIT: compiles, C library tests fail on:
Test 2: API, errors, internals, and non-Perl stuff (not UTF-8)
--- ./testdata/testoutput2 2011-12-28 11:57:53.000000000 -0500
+++ testtry 2012-01-04 10:50:30.000000000 -0500
@@ -34,7 +34,7 @@
/^abc/I
Capturing subpattern count = 0
-Options: anchored
+No options
No first char
No need char
abc
Because PPC64 and s390x are similar, I guess this is PPC64 platform related
issue. Comparing compiler outputs, I can see some warnings about dereferencing
type-punned pointer on PPC64:
pcre_dfa_exec.c:3026:19: warning: variable 'lcc' set but not used [-Wunused-but-set-variable]
pcre_jit_compile.c:3581:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
pcre_jit_compile.c:4482:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
pcre_jit_compile.c:4532:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
pcre_jit_compile.c:6624:1: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
pcrecpp.cc:387:7: warning: variable 'lastend' set but not used [-Wunused-but-set-variable]
pcretest.c:2161:14: warning: variable 'gn16ptr' set but not used [-Wunused-but-set-variable]
pcretest.c:2160:14: warning: variable 'cn16ptr' set but not used [-Wunused-but-set-variable]
pcregrep.c:1576:5: warning: variable 'pathlen' set but not used [-Wunused-but-set-variable]
Other platforms (inluding intel architecures with JIT) show `unused variable'
messages only.
What can I do help you to solve this regression?
Other question: You said there are no UTF-16 variants of pcretest etc. Does it
mean bundled test suite does not test UTF-16 library, it checks UTF-8 version
only?
I will check UTF-16 and MIPS64 builds later.
-- Petr