aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/analyzer/many-unused-locals.c
blob: 6b5c85557c991c1cc130035598513948abf916c9 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
struct st
{
  const char *m_filename;
  int m_line;
  const char *m_function;
};

extern void debug (struct st *);

#define TEST_x_1(NAME)							\
  do									\
    {									\
      static struct st NAME = { __FILE__, __LINE__, __func__ };		\
      debug (&NAME);							\
    }									\
  while (0)

#define TEST_x_10(PREFIX)						\
  do									\
    {									\
      TEST_x_1(PREFIX ## _1);						\
      TEST_x_1(PREFIX ## _2);						\
      TEST_x_1(PREFIX ## _3);						\
      TEST_x_1(PREFIX ## _4);						\
      TEST_x_1(PREFIX ## _5);						\
      TEST_x_1(PREFIX ## _6);						\
      TEST_x_1(PREFIX ## _7);						\
      TEST_x_1(PREFIX ## _8);						\
      TEST_x_1(PREFIX ## _9);						\
      TEST_x_1(PREFIX ## _10);						\
    }									\
  while(0)

#define TEST_x_100(PREFIX)						\
  do									\
    {									\
      TEST_x_10(PREFIX ## _1);						\
      TEST_x_10(PREFIX ## _2);						\
      TEST_x_10(PREFIX ## _3);						\
      TEST_x_10(PREFIX ## _4);						\
      TEST_x_10(PREFIX ## _5);						\
      TEST_x_10(PREFIX ## _6);						\
      TEST_x_10(PREFIX ## _7);						\
      TEST_x_10(PREFIX ## _8);						\
      TEST_x_10(PREFIX ## _9);						\
      TEST_x_10(PREFIX ## _10);						\
    }									\
  while(0)

#define TEST_x_1000(PREFIX)						\
  do									\
    {									\
      TEST_x_100(PREFIX ## _1);						\
      TEST_x_100(PREFIX ## _2);						\
      TEST_x_100(PREFIX ## _3);						\
      TEST_x_100(PREFIX ## _4);						\
      TEST_x_100(PREFIX ## _5);						\
      TEST_x_100(PREFIX ## _6);						\
      TEST_x_100(PREFIX ## _7);						\
      TEST_x_100(PREFIX ## _8);						\
      TEST_x_100(PREFIX ## _9);						\
      TEST_x_100(PREFIX ## _10);						\
    }									\
  while(0)

void test_many (void)
{
  TEST_x_1000(s);
}