summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/debug/dwarf2/pr37616.c
blob: badff447a8bc52e1bec0eac117f335fda97abc18 (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
32
33
34
35
36
37
38
39
40
41
/* PR debug/37616 */
/* Test that one can put breakpoints onto continue, exitlab and break
   and actually see program reaching those breakpoints.  */
/* { dg-do compile } */
/* { dg-options "-O0 -gdwarf-2 -dA" } */

extern void abort (void);

int
foo (int parm)
{
  int varj, varm;

  for (varj = 0; varj < 10; varj++)
    {
      if (varj == 5)
	continue;
      if (varj == 7 && !parm)
	goto exitlab;
      if (varj == 9)
	break;
      varm = varj;
    }

exitlab:
  return varm;
}

int
main (void)
{
  if (foo (0) != 6)
    abort ();
  if (foo (1) != 8)
    abort ();
  return 0;
}

/* { dg-final { scan-assembler "pr37616.c:17" } } */
/* { dg-final { scan-assembler "pr37616.c:19" } } */
/* { dg-final { scan-assembler "pr37616.c:21" } } */