summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/debug/pr37616.c
blob: 3bbaebbdf78a06ffcbd5b083a306ad9d2de940f9 (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
/* PR debug/37616 */
/* Test that one can put breakpoints onto continue, exitlab and break
   and actually see program reaching those breakpoints.
   This version of the test just checks that it can be compiled, linked
   and executed, further testing is done in corresponding gcc.dg/dwarf2/
   test and hopefully in gdb testsuite.  */
/* { dg-do run } */
/* { dg-options "-O0 -g -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;
}