annotate gcc/testsuite/gcc.dg/graphite/pr38500.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-options "-O3 -fgraphite-identity" } */
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 typedef unsigned char U8;
kono
parents:
diff changeset
4 extern char test1;
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 char *Perl_screaminstr (int, int, int);
kono
parents:
diff changeset
7 int Perl_utf8_distance (U8 *, U8 *);
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 void
kono
parents:
diff changeset
10 Perl_re_intuit_start( int minlen, char *strend, unsigned int flags, int i)
kono
parents:
diff changeset
11 {
kono
parents:
diff changeset
12 register int start_shift = 0;
kono
parents:
diff changeset
13 register int end_shift = 0;
kono
parents:
diff changeset
14 register char *s;
kono
parents:
diff changeset
15 char *strbeg;
kono
parents:
diff changeset
16 char *t;
kono
parents:
diff changeset
17 if(i > 0)
kono
parents:
diff changeset
18 goto success_at_start;
kono
parents:
diff changeset
19 int end = 0;
kono
parents:
diff changeset
20 int eshift = (test1 ? Perl_utf8_distance((U8*)strend,(U8*)s) : (U8*)strend - (U8*)s) - end;
kono
parents:
diff changeset
21 if (end_shift < eshift)
kono
parents:
diff changeset
22 end_shift = eshift;
kono
parents:
diff changeset
23 restart:
kono
parents:
diff changeset
24 s = Perl_screaminstr(start_shift + (s - strbeg), end_shift, 0);
kono
parents:
diff changeset
25 while( t < strend - minlen){
kono
parents:
diff changeset
26 }
kono
parents:
diff changeset
27 success_at_start:
kono
parents:
diff changeset
28 eshift = (test1 ? Perl_utf8_distance((U8*)strend,(U8*)s) : (U8*)strend - (U8*)s) - end;
kono
parents:
diff changeset
29 goto restart;
kono
parents:
diff changeset
30 }