aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/jumptable/jumptable.c
blob: 8415cbf8c3b2af910c2c2031d99deb6a83a8970f (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
#include <stdio.h>

#define CASE(x) case x: return 100+x;

int big_switch(int x) {
  switch (x) {
    CASE(0)
    CASE(1)
    CASE(2)
    CASE(3)
    CASE(4)
    CASE(5)
    CASE(6)
    CASE(7)
    CASE(8)
    CASE(9)
    CASE(10)
    CASE(11)
    CASE(12)
    CASE(13)
    CASE(14)
    CASE(15)
  }
  return 99;
}

int main() {
  for(int i=-1; i<16; i++) {
    if (big_switch(i) != 100+i) {
      printf("error at %d\n", i);
    }
  }
  return 0;
}