xref: /aosp_15_r20/external/pcre/testdata/testoutput17 (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimi# This test is run only when JIT support is available. It checks JIT complete
2*22dc650dSSadaf Ebrahimi# and partial modes, and things that are different with JIT.
3*22dc650dSSadaf Ebrahimi
4*22dc650dSSadaf Ebrahimi#pattern jitverify
5*22dc650dSSadaf Ebrahimi
6*22dc650dSSadaf Ebrahimi# JIT does not support this pattern (callout at start of condition).
7*22dc650dSSadaf Ebrahimi
8*22dc650dSSadaf Ebrahimi/(?(?C1)(?=a)a)/I
9*22dc650dSSadaf EbrahimiJIT compilation was not successful (no more memory)
10*22dc650dSSadaf EbrahimiCapture group count = 0
11*22dc650dSSadaf EbrahimiMay match empty string
12*22dc650dSSadaf EbrahimiSubject length lower bound = 0
13*22dc650dSSadaf EbrahimiJIT compilation was not successful (no more memory)
14*22dc650dSSadaf Ebrahimi
15*22dc650dSSadaf Ebrahimi# The following pattern cannot be compiled by JIT.
16*22dc650dSSadaf Ebrahimi
17*22dc650dSSadaf Ebrahimi/b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*b*/I
18*22dc650dSSadaf EbrahimiJIT compilation was not successful (no more memory)
19*22dc650dSSadaf EbrahimiCapture group count = 0
20*22dc650dSSadaf EbrahimiMay match empty string
21*22dc650dSSadaf EbrahimiSubject length lower bound = 0
22*22dc650dSSadaf EbrahimiJIT compilation was not successful (no more memory)
23*22dc650dSSadaf Ebrahimi
24*22dc650dSSadaf Ebrahimi# Check that an infinite recursion loop is caught.
25*22dc650dSSadaf Ebrahimi
26*22dc650dSSadaf Ebrahimi/(?(R)a*(?1)|((?R))b)/
27*22dc650dSSadaf Ebrahimi    aaaabcde
28*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
29*22dc650dSSadaf Ebrahimi
30*22dc650dSSadaf Ebrahimi/abcd/I
31*22dc650dSSadaf EbrahimiCapture group count = 0
32*22dc650dSSadaf EbrahimiFirst code unit = 'a'
33*22dc650dSSadaf EbrahimiLast code unit = 'd'
34*22dc650dSSadaf EbrahimiSubject length lower bound = 4
35*22dc650dSSadaf EbrahimiJIT compilation was successful
36*22dc650dSSadaf Ebrahimi    abcd
37*22dc650dSSadaf Ebrahimi 0: abcd (JIT)
38*22dc650dSSadaf Ebrahimi\= Expect no match
39*22dc650dSSadaf Ebrahimi    xyz
40*22dc650dSSadaf EbrahimiNo match (JIT)
41*22dc650dSSadaf Ebrahimi
42*22dc650dSSadaf Ebrahimi/(*NO_JIT)abcd/I
43*22dc650dSSadaf EbrahimiCapture group count = 0
44*22dc650dSSadaf EbrahimiFirst code unit = 'a'
45*22dc650dSSadaf EbrahimiLast code unit = 'd'
46*22dc650dSSadaf EbrahimiSubject length lower bound = 4
47*22dc650dSSadaf EbrahimiJIT compilation was not successful
48*22dc650dSSadaf Ebrahimi    abcd
49*22dc650dSSadaf Ebrahimi 0: abcd
50*22dc650dSSadaf Ebrahimi\= Expect no match
51*22dc650dSSadaf Ebrahimi    xyz
52*22dc650dSSadaf EbrahimiNo match
53*22dc650dSSadaf Ebrahimi
54*22dc650dSSadaf Ebrahimi/abcd/
55*22dc650dSSadaf Ebrahimi    abcd
56*22dc650dSSadaf Ebrahimi 0: abcd (JIT)
57*22dc650dSSadaf Ebrahimi    ab\=ps
58*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
59*22dc650dSSadaf Ebrahimi    ab\=ph
60*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
61*22dc650dSSadaf Ebrahimi\= Expect no match
62*22dc650dSSadaf Ebrahimi    xyz
63*22dc650dSSadaf EbrahimiNo match (JIT)
64*22dc650dSSadaf Ebrahimi
65*22dc650dSSadaf Ebrahimi/abcd/jitfast
66*22dc650dSSadaf Ebrahimi    abcd
67*22dc650dSSadaf Ebrahimi 0: abcd (JIT)
68*22dc650dSSadaf Ebrahimi    ab\=ps
69*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
70*22dc650dSSadaf Ebrahimi    ab\=ph
71*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
72*22dc650dSSadaf Ebrahimi\= Expect no match
73*22dc650dSSadaf Ebrahimi    xyz
74*22dc650dSSadaf EbrahimiNo match (JIT)
75*22dc650dSSadaf Ebrahimi
76*22dc650dSSadaf Ebrahimi/abcd/jit=1
77*22dc650dSSadaf Ebrahimi    abcd
78*22dc650dSSadaf Ebrahimi 0: abcd (JIT)
79*22dc650dSSadaf Ebrahimi    ab\=ps
80*22dc650dSSadaf EbrahimiPartial match: ab
81*22dc650dSSadaf Ebrahimi    ab\=ph
82*22dc650dSSadaf EbrahimiPartial match: ab
83*22dc650dSSadaf Ebrahimi\= Expect no match
84*22dc650dSSadaf Ebrahimi    xyz
85*22dc650dSSadaf EbrahimiNo match (JIT)
86*22dc650dSSadaf Ebrahimi    xyz\=ps
87*22dc650dSSadaf EbrahimiNo match
88*22dc650dSSadaf Ebrahimi
89*22dc650dSSadaf Ebrahimi/abcd/jit=1,jitfast
90*22dc650dSSadaf Ebrahimi    abcd
91*22dc650dSSadaf Ebrahimi 0: abcd (JIT)
92*22dc650dSSadaf Ebrahimi    ab\=ps
93*22dc650dSSadaf EbrahimiFailed: error -45: bad JIT option
94*22dc650dSSadaf Ebrahimi    ab\=ph
95*22dc650dSSadaf EbrahimiFailed: error -45: bad JIT option
96*22dc650dSSadaf Ebrahimi    xyz\=ps
97*22dc650dSSadaf EbrahimiFailed: error -45: bad JIT option
98*22dc650dSSadaf Ebrahimi\= Expect no match
99*22dc650dSSadaf Ebrahimi    xyz
100*22dc650dSSadaf EbrahimiNo match (JIT)
101*22dc650dSSadaf Ebrahimi
102*22dc650dSSadaf Ebrahimi/abcd/jit=2
103*22dc650dSSadaf Ebrahimi    abcd
104*22dc650dSSadaf Ebrahimi 0: abcd
105*22dc650dSSadaf Ebrahimi    ab\=ps
106*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
107*22dc650dSSadaf Ebrahimi    ab\=ph
108*22dc650dSSadaf EbrahimiPartial match: ab
109*22dc650dSSadaf Ebrahimi\= Expect no match
110*22dc650dSSadaf Ebrahimi    xyz
111*22dc650dSSadaf EbrahimiNo match
112*22dc650dSSadaf Ebrahimi
113*22dc650dSSadaf Ebrahimi/abcd/jit=2,jitfast
114*22dc650dSSadaf Ebrahimi    abcd
115*22dc650dSSadaf EbrahimiFailed: error -45: bad JIT option
116*22dc650dSSadaf Ebrahimi    ab\=ps
117*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
118*22dc650dSSadaf Ebrahimi    ab\=ph
119*22dc650dSSadaf EbrahimiFailed: error -45: bad JIT option
120*22dc650dSSadaf Ebrahimi    xyz
121*22dc650dSSadaf EbrahimiFailed: error -45: bad JIT option
122*22dc650dSSadaf Ebrahimi
123*22dc650dSSadaf Ebrahimi/abcd/jit=3
124*22dc650dSSadaf Ebrahimi    abcd
125*22dc650dSSadaf Ebrahimi 0: abcd (JIT)
126*22dc650dSSadaf Ebrahimi    ab\=ps
127*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
128*22dc650dSSadaf Ebrahimi    ab\=ph
129*22dc650dSSadaf EbrahimiPartial match: ab
130*22dc650dSSadaf Ebrahimi\= Expect no match
131*22dc650dSSadaf Ebrahimi    xyz
132*22dc650dSSadaf EbrahimiNo match (JIT)
133*22dc650dSSadaf Ebrahimi
134*22dc650dSSadaf Ebrahimi/abcd/jit=4
135*22dc650dSSadaf Ebrahimi    abcd
136*22dc650dSSadaf Ebrahimi 0: abcd
137*22dc650dSSadaf Ebrahimi    ab\=ps
138*22dc650dSSadaf EbrahimiPartial match: ab
139*22dc650dSSadaf Ebrahimi    ab\=ph
140*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
141*22dc650dSSadaf Ebrahimi\= Expect no match
142*22dc650dSSadaf Ebrahimi    xyz
143*22dc650dSSadaf EbrahimiNo match
144*22dc650dSSadaf Ebrahimi
145*22dc650dSSadaf Ebrahimi/abcd/jit=5
146*22dc650dSSadaf Ebrahimi    abcd
147*22dc650dSSadaf Ebrahimi 0: abcd (JIT)
148*22dc650dSSadaf Ebrahimi    ab\=ps
149*22dc650dSSadaf EbrahimiPartial match: ab
150*22dc650dSSadaf Ebrahimi    ab\=ph
151*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
152*22dc650dSSadaf Ebrahimi\= Expect no match
153*22dc650dSSadaf Ebrahimi    xyz
154*22dc650dSSadaf EbrahimiNo match (JIT)
155*22dc650dSSadaf Ebrahimi
156*22dc650dSSadaf Ebrahimi/abcd/jit=6
157*22dc650dSSadaf Ebrahimi    abcd
158*22dc650dSSadaf Ebrahimi 0: abcd
159*22dc650dSSadaf Ebrahimi    ab\=ps
160*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
161*22dc650dSSadaf Ebrahimi    ab\=ph
162*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
163*22dc650dSSadaf Ebrahimi\= Expect no match
164*22dc650dSSadaf Ebrahimi    xyz
165*22dc650dSSadaf EbrahimiNo match
166*22dc650dSSadaf Ebrahimi
167*22dc650dSSadaf Ebrahimi/abcd/jit=7
168*22dc650dSSadaf Ebrahimi    abcd
169*22dc650dSSadaf Ebrahimi 0: abcd (JIT)
170*22dc650dSSadaf Ebrahimi    ab\=ps
171*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
172*22dc650dSSadaf Ebrahimi    ab\=ph
173*22dc650dSSadaf EbrahimiPartial match: ab (JIT)
174*22dc650dSSadaf Ebrahimi\= Expect no match
175*22dc650dSSadaf Ebrahimi    xyz
176*22dc650dSSadaf EbrahimiNo match (JIT)
177*22dc650dSSadaf Ebrahimi
178*22dc650dSSadaf Ebrahimi/abcd/I,jit=2
179*22dc650dSSadaf EbrahimiCapture group count = 0
180*22dc650dSSadaf EbrahimiFirst code unit = 'a'
181*22dc650dSSadaf EbrahimiLast code unit = 'd'
182*22dc650dSSadaf EbrahimiSubject length lower bound = 4
183*22dc650dSSadaf EbrahimiJIT compilation was successful
184*22dc650dSSadaf Ebrahimi
185*22dc650dSSadaf Ebrahimi/(*NO_START_OPT)a(*:m)b/mark
186*22dc650dSSadaf Ebrahimi\= Expect no match
187*22dc650dSSadaf Ebrahimi    a
188*22dc650dSSadaf EbrahimiNo match, mark = m (JIT)
189*22dc650dSSadaf Ebrahimi
190*22dc650dSSadaf Ebrahimi/^12345678abcd/m
191*22dc650dSSadaf Ebrahimi    12345678abcd
192*22dc650dSSadaf Ebrahimi 0: 12345678abcd (JIT)
193*22dc650dSSadaf Ebrahimi
194*22dc650dSSadaf Ebrahimi# Limits tests that give different output with JIT.
195*22dc650dSSadaf Ebrahimi
196*22dc650dSSadaf Ebrahimi/(a+)*zz/I
197*22dc650dSSadaf EbrahimiCapture group count = 1
198*22dc650dSSadaf EbrahimiStarting code units: a z
199*22dc650dSSadaf EbrahimiLast code unit = 'z'
200*22dc650dSSadaf EbrahimiSubject length lower bound = 2
201*22dc650dSSadaf EbrahimiJIT compilation was successful
202*22dc650dSSadaf Ebrahimi  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\=find_limits
203*22dc650dSSadaf EbrahimiMinimum match limit = 2
204*22dc650dSSadaf Ebrahimi 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz (JIT)
205*22dc650dSSadaf Ebrahimi 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
206*22dc650dSSadaf Ebrahimi\= Expect no match
207*22dc650dSSadaf Ebrahimi  aaaaaaaaaaaaaz\=find_limits
208*22dc650dSSadaf EbrahimiMinimum match limit = 16383
209*22dc650dSSadaf EbrahimiNo match (JIT)
210*22dc650dSSadaf Ebrahimi
211*22dc650dSSadaf Ebrahimi!((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)!I
212*22dc650dSSadaf EbrahimiCapture group count = 1
213*22dc650dSSadaf EbrahimiMay match empty string
214*22dc650dSSadaf EbrahimiSubject length lower bound = 0
215*22dc650dSSadaf EbrahimiJIT compilation was successful
216*22dc650dSSadaf Ebrahimi   /* this is a C style comment */\=find_limits
217*22dc650dSSadaf EbrahimiMinimum match limit = 29
218*22dc650dSSadaf Ebrahimi 0: /* this is a C style comment */ (JIT)
219*22dc650dSSadaf Ebrahimi 1: /* this is a C style comment */
220*22dc650dSSadaf Ebrahimi
221*22dc650dSSadaf Ebrahimi/^(?>a)++/
222*22dc650dSSadaf Ebrahimi    aa\=find_limits
223*22dc650dSSadaf EbrahimiMinimum match limit = 1
224*22dc650dSSadaf Ebrahimi 0: aa (JIT)
225*22dc650dSSadaf Ebrahimi    aaaaaaaaa\=find_limits
226*22dc650dSSadaf EbrahimiMinimum match limit = 1
227*22dc650dSSadaf Ebrahimi 0: aaaaaaaaa (JIT)
228*22dc650dSSadaf Ebrahimi
229*22dc650dSSadaf Ebrahimi/(a)(?1)++/
230*22dc650dSSadaf Ebrahimi    aa\=find_limits
231*22dc650dSSadaf EbrahimiMinimum match limit = 1
232*22dc650dSSadaf Ebrahimi 0: aa (JIT)
233*22dc650dSSadaf Ebrahimi 1: a
234*22dc650dSSadaf Ebrahimi    aaaaaaaaa\=find_limits
235*22dc650dSSadaf EbrahimiMinimum match limit = 1
236*22dc650dSSadaf Ebrahimi 0: aaaaaaaaa (JIT)
237*22dc650dSSadaf Ebrahimi 1: a
238*22dc650dSSadaf Ebrahimi
239*22dc650dSSadaf Ebrahimi/a(?:.)*?a/ims
240*22dc650dSSadaf Ebrahimi    abbbbbbbbbbbbbbbbbbbbba\=find_limits
241*22dc650dSSadaf EbrahimiMinimum match limit = 22
242*22dc650dSSadaf Ebrahimi 0: abbbbbbbbbbbbbbbbbbbbba (JIT)
243*22dc650dSSadaf Ebrahimi
244*22dc650dSSadaf Ebrahimi/a(?:.(*THEN))*?a/ims
245*22dc650dSSadaf Ebrahimi    abbbbbbbbbbbbbbbbbbbbba\=find_limits
246*22dc650dSSadaf EbrahimiMinimum match limit = 22
247*22dc650dSSadaf Ebrahimi 0: abbbbbbbbbbbbbbbbbbbbba (JIT)
248*22dc650dSSadaf Ebrahimi
249*22dc650dSSadaf Ebrahimi/a(?:.(*THEN:ABC))*?a/ims
250*22dc650dSSadaf Ebrahimi    abbbbbbbbbbbbbbbbbbbbba\=find_limits
251*22dc650dSSadaf EbrahimiMinimum match limit = 22
252*22dc650dSSadaf Ebrahimi 0: abbbbbbbbbbbbbbbbbbbbba (JIT)
253*22dc650dSSadaf Ebrahimi
254*22dc650dSSadaf Ebrahimi/^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
255*22dc650dSSadaf Ebrahimi     aabbccddee\=find_limits
256*22dc650dSSadaf EbrahimiMinimum match limit = 5
257*22dc650dSSadaf Ebrahimi 0: aabbccddee (JIT)
258*22dc650dSSadaf Ebrahimi
259*22dc650dSSadaf Ebrahimi/^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
260*22dc650dSSadaf Ebrahimi     aabbccddee\=find_limits
261*22dc650dSSadaf EbrahimiMinimum match limit = 5
262*22dc650dSSadaf Ebrahimi 0: aabbccddee (JIT)
263*22dc650dSSadaf Ebrahimi 1: aa
264*22dc650dSSadaf Ebrahimi 2: bb
265*22dc650dSSadaf Ebrahimi 3: cc
266*22dc650dSSadaf Ebrahimi 4: dd
267*22dc650dSSadaf Ebrahimi 5: ee
268*22dc650dSSadaf Ebrahimi
269*22dc650dSSadaf Ebrahimi/^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
270*22dc650dSSadaf Ebrahimi     aabbccddee\=find_limits
271*22dc650dSSadaf EbrahimiMinimum match limit = 5
272*22dc650dSSadaf Ebrahimi 0: aabbccddee (JIT)
273*22dc650dSSadaf Ebrahimi 1: aa
274*22dc650dSSadaf Ebrahimi 2: cc
275*22dc650dSSadaf Ebrahimi 3: ee
276*22dc650dSSadaf Ebrahimi
277*22dc650dSSadaf Ebrahimi/^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/jitfast
278*22dc650dSSadaf Ebrahimi     aabbccddee\=find_limits
279*22dc650dSSadaf EbrahimiMinimum match limit = 5
280*22dc650dSSadaf Ebrahimi 0: aabbccddee (JIT)
281*22dc650dSSadaf Ebrahimi 1: aa
282*22dc650dSSadaf Ebrahimi 2: cc
283*22dc650dSSadaf Ebrahimi 3: ee
284*22dc650dSSadaf Ebrahimi     aabbccddee\=jitstack=1
285*22dc650dSSadaf Ebrahimi 0: aabbccddee (JIT)
286*22dc650dSSadaf Ebrahimi 1: aa
287*22dc650dSSadaf Ebrahimi 2: cc
288*22dc650dSSadaf Ebrahimi 3: ee
289*22dc650dSSadaf Ebrahimi
290*22dc650dSSadaf Ebrahimi/(a+)*zz/
291*22dc650dSSadaf Ebrahimi\= Expect no match
292*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaz
293*22dc650dSSadaf EbrahimiNo match (JIT)
294*22dc650dSSadaf Ebrahimi\= Expect limit exceeded
295*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaz\=match_limit=3000
296*22dc650dSSadaf EbrahimiFailed: error -47: match limit exceeded
297*22dc650dSSadaf Ebrahimi
298*22dc650dSSadaf Ebrahimi/(*LIMIT_MATCH=3000)(a+)*zz/I
299*22dc650dSSadaf EbrahimiCapture group count = 1
300*22dc650dSSadaf EbrahimiMatch limit = 3000
301*22dc650dSSadaf EbrahimiStarting code units: a z
302*22dc650dSSadaf EbrahimiLast code unit = 'z'
303*22dc650dSSadaf EbrahimiSubject length lower bound = 2
304*22dc650dSSadaf EbrahimiJIT compilation was successful
305*22dc650dSSadaf Ebrahimi\= Expect limit exceeded
306*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaz
307*22dc650dSSadaf EbrahimiFailed: error -47: match limit exceeded
308*22dc650dSSadaf Ebrahimi\= Expect limit exceeded
309*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaz\=match_limit=60000
310*22dc650dSSadaf EbrahimiFailed: error -47: match limit exceeded
311*22dc650dSSadaf Ebrahimi
312*22dc650dSSadaf Ebrahimi/(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
313*22dc650dSSadaf EbrahimiCapture group count = 1
314*22dc650dSSadaf EbrahimiMatch limit = 3000
315*22dc650dSSadaf EbrahimiStarting code units: a z
316*22dc650dSSadaf EbrahimiLast code unit = 'z'
317*22dc650dSSadaf EbrahimiSubject length lower bound = 2
318*22dc650dSSadaf EbrahimiJIT compilation was successful
319*22dc650dSSadaf Ebrahimi\= Expect limit exceeded
320*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaz
321*22dc650dSSadaf EbrahimiFailed: error -47: match limit exceeded
322*22dc650dSSadaf Ebrahimi
323*22dc650dSSadaf Ebrahimi/(*LIMIT_MATCH=60000)(a+)*zz/I
324*22dc650dSSadaf EbrahimiCapture group count = 1
325*22dc650dSSadaf EbrahimiMatch limit = 60000
326*22dc650dSSadaf EbrahimiStarting code units: a z
327*22dc650dSSadaf EbrahimiLast code unit = 'z'
328*22dc650dSSadaf EbrahimiSubject length lower bound = 2
329*22dc650dSSadaf EbrahimiJIT compilation was successful
330*22dc650dSSadaf Ebrahimi\= Expect no match
331*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaz
332*22dc650dSSadaf EbrahimiNo match (JIT)
333*22dc650dSSadaf Ebrahimi\= Expect limit exceeded
334*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaz\=match_limit=3000
335*22dc650dSSadaf EbrahimiFailed: error -47: match limit exceeded
336*22dc650dSSadaf Ebrahimi
337*22dc650dSSadaf Ebrahimi# These three have infinitely nested recursions.
338*22dc650dSSadaf Ebrahimi
339*22dc650dSSadaf Ebrahimi/((?2))((?1))/
340*22dc650dSSadaf Ebrahimi\= Expect JIT stack limit reached
341*22dc650dSSadaf Ebrahimi    abc
342*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
343*22dc650dSSadaf Ebrahimi
344*22dc650dSSadaf Ebrahimi/((?(R2)a+|(?1)b))()/
345*22dc650dSSadaf Ebrahimi\= Expect JIT stack limit reached
346*22dc650dSSadaf Ebrahimi    aaaabcde
347*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
348*22dc650dSSadaf Ebrahimi
349*22dc650dSSadaf Ebrahimi/(?(R)a*(?1)|((?R))b)/
350*22dc650dSSadaf Ebrahimi\= Expect JIT stack limit reached
351*22dc650dSSadaf Ebrahimi    aaaabcde
352*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
353*22dc650dSSadaf Ebrahimi
354*22dc650dSSadaf Ebrahimi# Invalid options disable JIT when called via pcre2_match(), causing the
355*22dc650dSSadaf Ebrahimi# match to happen via the interpreter, but for fast JIT invalid options are
356*22dc650dSSadaf Ebrahimi# ignored, so an unanchored match happens.
357*22dc650dSSadaf Ebrahimi
358*22dc650dSSadaf Ebrahimi/abcd/
359*22dc650dSSadaf Ebrahimi    abcd\=anchored
360*22dc650dSSadaf Ebrahimi 0: abcd
361*22dc650dSSadaf Ebrahimi\= Expect no match
362*22dc650dSSadaf Ebrahimi    fail abcd\=anchored
363*22dc650dSSadaf EbrahimiNo match
364*22dc650dSSadaf Ebrahimi
365*22dc650dSSadaf Ebrahimi/abcd/jitfast
366*22dc650dSSadaf Ebrahimi    abcd\=anchored
367*22dc650dSSadaf Ebrahimi 0: abcd (JIT)
368*22dc650dSSadaf Ebrahimi    succeed abcd\=anchored
369*22dc650dSSadaf Ebrahimi 0: abcd (JIT)
370*22dc650dSSadaf Ebrahimi
371*22dc650dSSadaf Ebrahimi# Push/pop does not lose the JIT information, though jitverify applies only to
372*22dc650dSSadaf Ebrahimi# compilation, but serializing (save/load) discards JIT data completely.
373*22dc650dSSadaf Ebrahimi
374*22dc650dSSadaf Ebrahimi/^abc\Kdef/info,push
375*22dc650dSSadaf Ebrahimi** Applies only to compile when pattern is stacked with 'push': jitverify
376*22dc650dSSadaf EbrahimiCapture group count = 0
377*22dc650dSSadaf EbrahimiCompile options: <none>
378*22dc650dSSadaf EbrahimiOverall options: anchored
379*22dc650dSSadaf EbrahimiFirst code unit = 'a'
380*22dc650dSSadaf EbrahimiSubject length lower bound = 6
381*22dc650dSSadaf EbrahimiJIT compilation was successful
382*22dc650dSSadaf Ebrahimi#pop jitverify
383*22dc650dSSadaf Ebrahimi    abcdef
384*22dc650dSSadaf Ebrahimi 0: def (JIT)
385*22dc650dSSadaf Ebrahimi
386*22dc650dSSadaf Ebrahimi/^abc\Kdef/info,push
387*22dc650dSSadaf Ebrahimi** Applies only to compile when pattern is stacked with 'push': jitverify
388*22dc650dSSadaf EbrahimiCapture group count = 0
389*22dc650dSSadaf EbrahimiCompile options: <none>
390*22dc650dSSadaf EbrahimiOverall options: anchored
391*22dc650dSSadaf EbrahimiFirst code unit = 'a'
392*22dc650dSSadaf EbrahimiSubject length lower bound = 6
393*22dc650dSSadaf EbrahimiJIT compilation was successful
394*22dc650dSSadaf Ebrahimi#save testsaved1
395*22dc650dSSadaf Ebrahimi#load testsaved1
396*22dc650dSSadaf Ebrahimi#pop jitverify
397*22dc650dSSadaf Ebrahimi    abcdef
398*22dc650dSSadaf Ebrahimi 0: def
399*22dc650dSSadaf Ebrahimi
400*22dc650dSSadaf Ebrahimi#load testsaved1
401*22dc650dSSadaf Ebrahimi#pop jit,jitverify
402*22dc650dSSadaf Ebrahimi    abcdef
403*22dc650dSSadaf Ebrahimi 0: def (JIT)
404*22dc650dSSadaf Ebrahimi
405*22dc650dSSadaf Ebrahimi/abcd/pushcopy,jitverify
406*22dc650dSSadaf Ebrahimi** Applies only to compile when pattern is stacked with 'push': jitverify
407*22dc650dSSadaf Ebrahimi    abcd
408*22dc650dSSadaf Ebrahimi 0: abcd (JIT)
409*22dc650dSSadaf Ebrahimi
410*22dc650dSSadaf Ebrahimi#pop jitverify
411*22dc650dSSadaf Ebrahimi    abcd
412*22dc650dSSadaf Ebrahimi 0: abcd
413*22dc650dSSadaf Ebrahimi
414*22dc650dSSadaf Ebrahimi# Test pattern compilation
415*22dc650dSSadaf Ebrahimi
416*22dc650dSSadaf Ebrahimi/(?:a|b|c|d|e)(?R)/jit=1
417*22dc650dSSadaf Ebrahimi
418*22dc650dSSadaf Ebrahimi/(?:a|b|c|d|e)(?R)(?R)/jit=1
419*22dc650dSSadaf Ebrahimi
420*22dc650dSSadaf Ebrahimi/(a(?:a|b|c|d|e)b){8,16}/jit=1
421*22dc650dSSadaf Ebrahimi
422*22dc650dSSadaf Ebrahimi/(?:|a|){100}x/jit=1
423*22dc650dSSadaf Ebrahimi
424*22dc650dSSadaf Ebrahimi# These tests provoke recursion loops, which give a different error message
425*22dc650dSSadaf Ebrahimi# when JIT is used.
426*22dc650dSSadaf Ebrahimi
427*22dc650dSSadaf Ebrahimi/(?R)/I
428*22dc650dSSadaf EbrahimiCapture group count = 0
429*22dc650dSSadaf EbrahimiMay match empty string
430*22dc650dSSadaf EbrahimiSubject length lower bound = 0
431*22dc650dSSadaf EbrahimiJIT compilation was successful
432*22dc650dSSadaf Ebrahimi    abcd
433*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
434*22dc650dSSadaf Ebrahimi
435*22dc650dSSadaf Ebrahimi/(a|(?R))/I
436*22dc650dSSadaf EbrahimiCapture group count = 1
437*22dc650dSSadaf EbrahimiMay match empty string
438*22dc650dSSadaf EbrahimiSubject length lower bound = 0
439*22dc650dSSadaf EbrahimiJIT compilation was successful
440*22dc650dSSadaf Ebrahimi    abcd
441*22dc650dSSadaf Ebrahimi 0: a (JIT)
442*22dc650dSSadaf Ebrahimi 1: a
443*22dc650dSSadaf Ebrahimi    defg
444*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
445*22dc650dSSadaf Ebrahimi
446*22dc650dSSadaf Ebrahimi/(ab|(bc|(de|(?R))))/I
447*22dc650dSSadaf EbrahimiCapture group count = 3
448*22dc650dSSadaf EbrahimiMay match empty string
449*22dc650dSSadaf EbrahimiSubject length lower bound = 0
450*22dc650dSSadaf EbrahimiJIT compilation was successful
451*22dc650dSSadaf Ebrahimi    abcd
452*22dc650dSSadaf Ebrahimi 0: ab (JIT)
453*22dc650dSSadaf Ebrahimi 1: ab
454*22dc650dSSadaf Ebrahimi    fghi
455*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
456*22dc650dSSadaf Ebrahimi
457*22dc650dSSadaf Ebrahimi/(ab|(bc|(de|(?1))))/I
458*22dc650dSSadaf EbrahimiCapture group count = 3
459*22dc650dSSadaf EbrahimiMay match empty string
460*22dc650dSSadaf EbrahimiSubject length lower bound = 0
461*22dc650dSSadaf EbrahimiJIT compilation was successful
462*22dc650dSSadaf Ebrahimi    abcd
463*22dc650dSSadaf Ebrahimi 0: ab (JIT)
464*22dc650dSSadaf Ebrahimi 1: ab
465*22dc650dSSadaf Ebrahimi    fghi
466*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
467*22dc650dSSadaf Ebrahimi
468*22dc650dSSadaf Ebrahimi/x(ab|(bc|(de|(?1)x)x)x)/I
469*22dc650dSSadaf EbrahimiCapture group count = 3
470*22dc650dSSadaf EbrahimiFirst code unit = 'x'
471*22dc650dSSadaf EbrahimiSubject length lower bound = 3
472*22dc650dSSadaf EbrahimiJIT compilation was successful
473*22dc650dSSadaf Ebrahimi    xab123
474*22dc650dSSadaf Ebrahimi 0: xab (JIT)
475*22dc650dSSadaf Ebrahimi 1: ab
476*22dc650dSSadaf Ebrahimi    xfghi
477*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
478*22dc650dSSadaf Ebrahimi
479*22dc650dSSadaf Ebrahimi/(?!\w)(?R)/
480*22dc650dSSadaf Ebrahimi    abcd
481*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
482*22dc650dSSadaf Ebrahimi    =abc
483*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
484*22dc650dSSadaf Ebrahimi
485*22dc650dSSadaf Ebrahimi/(?=\w)(?R)/
486*22dc650dSSadaf Ebrahimi    =abc
487*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
488*22dc650dSSadaf Ebrahimi    abcd
489*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
490*22dc650dSSadaf Ebrahimi
491*22dc650dSSadaf Ebrahimi/(?<!\w)(?R)/
492*22dc650dSSadaf Ebrahimi    abcd
493*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
494*22dc650dSSadaf Ebrahimi
495*22dc650dSSadaf Ebrahimi/(?<=\w)(?R)/
496*22dc650dSSadaf Ebrahimi    abcd
497*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
498*22dc650dSSadaf Ebrahimi
499*22dc650dSSadaf Ebrahimi/(a+|(?R)b)/
500*22dc650dSSadaf Ebrahimi    aaa
501*22dc650dSSadaf Ebrahimi 0: aaa (JIT)
502*22dc650dSSadaf Ebrahimi 1: aaa
503*22dc650dSSadaf Ebrahimi    bbb
504*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
505*22dc650dSSadaf Ebrahimi
506*22dc650dSSadaf Ebrahimi/[^\xff]((?1))/BI
507*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
508*22dc650dSSadaf Ebrahimi        Bra
509*22dc650dSSadaf Ebrahimi        [^\x{ff}]
510*22dc650dSSadaf Ebrahimi        CBra 1
511*22dc650dSSadaf Ebrahimi        Recurse
512*22dc650dSSadaf Ebrahimi        Ket
513*22dc650dSSadaf Ebrahimi        Ket
514*22dc650dSSadaf Ebrahimi        End
515*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
516*22dc650dSSadaf EbrahimiCapture group count = 1
517*22dc650dSSadaf EbrahimiSubject length lower bound = 1
518*22dc650dSSadaf EbrahimiJIT compilation was successful
519*22dc650dSSadaf Ebrahimi    abcd
520*22dc650dSSadaf EbrahimiFailed: error -46: JIT stack limit reached
521*22dc650dSSadaf Ebrahimi
522*22dc650dSSadaf Ebrahimi/(x(?1)){4}/
523*22dc650dSSadaf Ebrahimi
524*22dc650dSSadaf Ebrahimi/[axm]{7}/
525*22dc650dSSadaf Ebrahimi
526*22dc650dSSadaf Ebrahimi/(.|.)*?bx/
527*22dc650dSSadaf Ebrahimi\= Expect limit exceeded
528*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax\=match_limit=10000000
529*22dc650dSSadaf EbrahimiFailed: error -47: match limit exceeded
530*22dc650dSSadaf Ebrahimi
531*22dc650dSSadaf Ebrahimi# Test JIT disable
532*22dc650dSSadaf Ebrahimi
533*22dc650dSSadaf Ebrahimi/abc/
534*22dc650dSSadaf Ebrahimi    abc
535*22dc650dSSadaf Ebrahimi 0: abc (JIT)
536*22dc650dSSadaf Ebrahimi    abc\=no_jit
537*22dc650dSSadaf Ebrahimi 0: abc
538*22dc650dSSadaf Ebrahimi
539*22dc650dSSadaf Ebrahimi/abc/jitfast
540*22dc650dSSadaf Ebrahimi    abc
541*22dc650dSSadaf Ebrahimi 0: abc (JIT)
542*22dc650dSSadaf Ebrahimi    abc\=no_jit
543*22dc650dSSadaf Ebrahimi 0: abc (JIT)
544*22dc650dSSadaf Ebrahimi
545*22dc650dSSadaf Ebrahimi# ----
546*22dc650dSSadaf Ebrahimi
547*22dc650dSSadaf Ebrahimi/[aC]/mg,firstline,newline=lf
548*22dc650dSSadaf Ebrahimi    match\nmatch
549*22dc650dSSadaf Ebrahimi 0: a (JIT)
550*22dc650dSSadaf Ebrahimi
551*22dc650dSSadaf Ebrahimi/[aCz]/mg,firstline,newline=lf
552*22dc650dSSadaf Ebrahimi    match\nmatch
553*22dc650dSSadaf Ebrahimi 0: a (JIT)
554*22dc650dSSadaf Ebrahimi
555*22dc650dSSadaf Ebrahimi//jit
556*22dc650dSSadaf Ebrahimi    \=null_subject
557*22dc650dSSadaf Ebrahimi 0:  (JIT)
558*22dc650dSSadaf Ebrahimi
559*22dc650dSSadaf Ebrahimi/(.)(.)/jitfast,replace=$2+$1
560*22dc650dSSadaf Ebrahimi    ABCD
561*22dc650dSSadaf Ebrahimi 1: B+ACD
562*22dc650dSSadaf Ebrahimi
563*22dc650dSSadaf Ebrahimi/(...)-(...)/jitfast
564*22dc650dSSadaf Ebrahimi    abc-xyz\=get=2
565*22dc650dSSadaf Ebrahimi 0: abc-xyz (JIT)
566*22dc650dSSadaf Ebrahimi 1: abc
567*22dc650dSSadaf Ebrahimi 2: xyz
568*22dc650dSSadaf Ebrahimi 2G xyz (3)
569*22dc650dSSadaf Ebrahimi
570*22dc650dSSadaf Ebrahimi# End of testinput17
571