summaryrefslogtreecommitdiffstats
path: root/case_N.h
diff options
context:
space:
mode:
Diffstat (limited to 'case_N.h')
-rw-r--r--case_N.h92
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