diff options
Diffstat (limited to 'case_N.h')
-rw-r--r-- | case_N.h | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/case_N.h b/case_N.h new file mode 100644 index 0000000..f6e0fda --- /dev/null +++ b/case_N.h @@ -0,0 +1,92 @@ +/* + * Allow an arbitrary sequence of case labels. + * + * Copyright (C) 2006-2020 Wayne Davison + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, visit the http://fsf.org website. + */ + +/* This is included multiple times, once for every segment in a switch statement. + * This produces the next "case N:" statement in sequence. */ + +#if !defined CASE_N_STATE_0 +#define CASE_N_STATE_0 + case 0: +#elif !defined CASE_N_STATE_1 +#define CASE_N_STATE_1 + /* FALLTHROUGH */ + case 1: +#elif !defined CASE_N_STATE_2 +#define CASE_N_STATE_2 + /* FALLTHROUGH */ + case 2: +#elif !defined CASE_N_STATE_3 +#define CASE_N_STATE_3 + /* FALLTHROUGH */ + case 3: +#elif !defined CASE_N_STATE_4 +#define CASE_N_STATE_4 + /* FALLTHROUGH */ + case 4: +#elif !defined CASE_N_STATE_5 +#define CASE_N_STATE_5 + /* FALLTHROUGH */ + case 5: +#elif !defined CASE_N_STATE_6 +#define CASE_N_STATE_6 + /* FALLTHROUGH */ + case 6: +#elif !defined CASE_N_STATE_7 +#define CASE_N_STATE_7 + /* FALLTHROUGH */ + case 7: +#elif !defined CASE_N_STATE_8 +#define CASE_N_STATE_8 + /* FALLTHROUGH */ + case 8: +#elif !defined CASE_N_STATE_9 +#define CASE_N_STATE_9 + /* FALLTHROUGH */ + case 9: +#elif !defined CASE_N_STATE_10 +#define CASE_N_STATE_10 + /* FALLTHROUGH */ + case 10: +#elif !defined CASE_N_STATE_11 +#define CASE_N_STATE_11 + /* FALLTHROUGH */ + case 11: +#elif !defined CASE_N_STATE_12 +#define CASE_N_STATE_12 + /* FALLTHROUGH */ + case 12: +#elif !defined CASE_N_STATE_13 +#define CASE_N_STATE_13 + /* FALLTHROUGH */ + case 13: +#elif !defined CASE_N_STATE_14 +#define CASE_N_STATE_14 + /* FALLTHROUGH */ + case 14: +#elif !defined CASE_N_STATE_15 +#define CASE_N_STATE_15 + /* FALLTHROUGH */ + case 15: +#elif !defined CASE_N_STATE_16 +#define CASE_N_STATE_16 + /* FALLTHROUGH */ + case 16: +#else +#error Need to add more case statements! +#endif |