On Fri, Feb 20, 2015 at 12:26:21PM +0000, ph10@??? wrote:
> I have put a release candidate for PCRE2 release 10.10 on the FTP site:
>
* No compiler warnings, all tests pass on GNU/Linux with these configurations:
s390, disabled JIT
x86_64, enabled JIT
s390x, disabled JIT
* All tests pass, -fno-strict-aliasing is needed to silent compiler warnings
(dereferencing type-punned pointer will break strict-aliasing rules; no change
since PCRE-8.36):
PowerPC 64 bit, enabled JIT
* All tests pass, compiler emits warnigs on 32-bit plaforms:
PowerPC 32 bit, enabled JIT
i686, enabled JIT
src/pcre2test.c: In function 'to16':
src/pcre2test.c:2555:7: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
pbuffer16_size);
^
src/pcre2test.c: In function 'to32':
src/pcre2test.c:2632:7: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
pbuffer32_size);
^
src/pcre2test.c: In function 'process_command':
src/pcre2test.c:4015:7: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
serial_size);
^
src/pcre2test.c: In function 'copy_and_get':
src/pcre2test.c:4681:9: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
length, length2);
^
src/pcre2test.c:4681:9: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t' [-Wformat=]
src/pcre2test.c:4740:9: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
length, length2);
^
src/pcre2test.c:4740:9: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t' [-Wformat=]
src/pcre2test.c: In function 'process_data':
src/pcre2test.c:5455:9: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
"(max %ld)\n", n, nsize);
^
src/pcre2test.c:5455:9: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t' [-Wformat=]
src/pcre2test.c:5774:11: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'size_t' [-Wformat=]
start, end);
^
src/pcre2test.c:5774:11: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' [-Wformat=]
src/pcre2test.c:6005:9: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
fprintf(outfile, " at offset %ld", startchar);
^
That would be great to fix.
* Compilation fails:
ARMv6 with FPU, enabled JIT
CC src/libpcre2_8_la-pcre2_jit_compile.lo
src/sljit/sljitNativeARM_32.c: In function 'resolve_const_pool_index':
src/sljit/sljitNativeARM_32.c:340:28: error: 'compiler' undeclared (first use in this function)
SLJIT_FREE(curr_patch, compiler->allocator_data);
^
src/pcre2_jit_compile.c:60:61: note: in definition of macro 'SLJIT_FREE'
#define SLJIT_FREE(ptr, allocator_data) pcre2_jit_free(ptr, allocator_data)
^
src/sljit/sljitNativeARM_32.c:340:28: note: each undeclared identifier is reported only once for each function it appears in
SLJIT_FREE(curr_patch, compiler->allocator_data);
^
src/pcre2_jit_compile.c:60:61: note: in definition of macro 'SLJIT_FREE'
#define SLJIT_FREE(ptr, allocator_data) pcre2_jit_free(ptr, allocator_data)
^
Makefile:2041: recipe for target 'src/libpcre2_8_la-pcre2_jit_compile.lo' failed
I think PCRE-8.36 supported JIT on that machine (Raspberry Pi).
Later, I will try MIPS64 n32 and AArch64.
-- Petr