111
|
1 /* { dg-options "-O3 -fgraphite-identity" } */
|
|
2
|
|
3 typedef unsigned char U8;
|
|
4 extern char test1;
|
|
5
|
|
6 char *Perl_screaminstr (int, int, int);
|
|
7 int Perl_utf8_distance (U8 *, U8 *);
|
|
8
|
|
9 void
|
|
10 Perl_re_intuit_start( int minlen, char *strend, unsigned int flags, int i)
|
|
11 {
|
|
12 register int start_shift = 0;
|
|
13 register int end_shift = 0;
|
|
14 register char *s;
|
|
15 char *strbeg;
|
|
16 char *t;
|
|
17 if(i > 0)
|
|
18 goto success_at_start;
|
|
19 int end = 0;
|
|
20 int eshift = (test1 ? Perl_utf8_distance((U8*)strend,(U8*)s) : (U8*)strend - (U8*)s) - end;
|
|
21 if (end_shift < eshift)
|
|
22 end_shift = eshift;
|
|
23 restart:
|
|
24 s = Perl_screaminstr(start_shift + (s - strbeg), end_shift, 0);
|
|
25 while( t < strend - minlen){
|
|
26 }
|
|
27 success_at_start:
|
|
28 eshift = (test1 ? Perl_utf8_distance((U8*)strend,(U8*)s) : (U8*)strend - (U8*)s) - end;
|
|
29 goto restart;
|
|
30 }
|