summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/debug/pr45849.c
blob: 93279b7081c7b7d70cb8ace2397d24036831aac5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* PR debug/45849 */
/* { dg-do compile } */
/* { dg-options "-g -Wno-uninitialized" } */

extern void bar (void);

void
foo (long repllen, char *rp)
{
  char *matchend;
  char *scan;
  long len;
  char *matchstart;
  char *text;
  char *t;

  repllen--;

  for (;;)
    {
      matchstart = t + rp[0];
      matchend = rp;
      len = matchstart - text + repllen * (matchend - matchstart);
      while (len)
	;
      for (scan = text; scan != rp; scan++)
	bar ();
      if (matchstart)
	text = matchend;
    }
}