summaryrefslogtreecommitdiffstats
path: root/recipes-extended/dev86/dev86/0003-cpp-update-token1.tok-to-make-new-gperf-happy-regen..patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/dev86/dev86/0003-cpp-update-token1.tok-to-make-new-gperf-happy-regen..patch')
-rw-r--r--recipes-extended/dev86/dev86/0003-cpp-update-token1.tok-to-make-new-gperf-happy-regen..patch256
1 files changed, 256 insertions, 0 deletions
diff --git a/recipes-extended/dev86/dev86/0003-cpp-update-token1.tok-to-make-new-gperf-happy-regen..patch b/recipes-extended/dev86/dev86/0003-cpp-update-token1.tok-to-make-new-gperf-happy-regen..patch
new file mode 100644
index 00000000..38e4d815
--- /dev/null
+++ b/recipes-extended/dev86/dev86/0003-cpp-update-token1.tok-to-make-new-gperf-happy-regen..patch
@@ -0,0 +1,256 @@
1From e908a3ad04bb40e425542b85fbb3a1eb5a38e194 Mon Sep 17 00:00:00 2001
2From: Tee-Kiah Chia <tkchia@users.noreply.github.com>
3Date: Thu, 27 Feb 2020 00:52:05 +0800
4Subject: [PATCH] [cpp] update token1.tok to make new gperf happy; regen.
5 token1.h
6
7Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
8Upstream-Status: Pending [it was submitted in https://github.com/jbruchon/dev86/pull/19
9but then closed by author]
10
11---
12 cpp/token1.h | 170 +++++++++++++++++++++++++++++++++----------------
13 cpp/token1.tok | 2 +-
14 2 files changed, 115 insertions(+), 57 deletions(-)
15
16diff --git a/cpp/token1.h b/cpp/token1.h
17index 2e2b9eb..bb313aa 100644
18--- a/cpp/token1.h
19+++ b/cpp/token1.h
20@@ -1,15 +1,48 @@
21-/* C code produced by gperf version 2.7.1 (19981006 egcs) */
22+/* C code produced by gperf version 3.0.4 */
23 /* Command-line: gperf -aptTc -N is_ctok -H hash1 token1.tok */
24+/* Computed positions: -k'1-2' */
25+
26+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
27+ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
28+ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
29+ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
30+ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
31+ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
32+ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
33+ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
34+ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
35+ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
36+ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
37+ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
38+ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
39+ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
40+ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
41+ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
42+ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
43+ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
44+ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
45+ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
46+ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
47+ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
48+ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
49+/* The character set is not based on ISO-646. */
50+error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
51+#endif
52+
53
54 #define TOTAL_KEYWORDS 23
55 #define MIN_WORD_LENGTH 2
56 #define MAX_WORD_LENGTH 3
57 #define MIN_HASH_VALUE 2
58-#define MAX_HASH_VALUE 63
59-/* maximum key range = 62, duplicates = 0 */
60+#define MAX_HASH_VALUE 62
61+/* maximum key range = 61, duplicates = 0 */
62
63 #ifdef __GNUC__
64 __inline
65+#else
66+#ifdef __cplusplus
67+inline
68+#endif
69 #endif
70 static unsigned int
71 hash1 (str, len)
72@@ -18,38 +51,41 @@ hash1 (str, len)
73 {
74 static unsigned char asso_values[] =
75 {
76- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
77- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
78- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
79- 64, 64, 64, 1, 64, 64, 64, 3, 25, 64,
80- 64, 64, 13, 18, 64, 8, 30, 15, 64, 64,
81- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
82- 5, 0, 20, 64, 64, 64, 64, 64, 64, 64,
83- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
84- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
85- 64, 64, 64, 64, 30, 64, 64, 64, 64, 64,
86- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
87- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
88- 64, 64, 64, 64, 23, 64, 64, 64, 64, 64,
89- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
90- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
91- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
92- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
93- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
94- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
95- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
96- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
97- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
98- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
99- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
100- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
101- 64, 64, 64, 64, 64, 64
102+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
103+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
104+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
105+ 63, 63, 63, 6, 63, 63, 63, 28, 8, 63,
106+ 63, 63, 23, 3, 63, 25, 20, 18, 63, 63,
107+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
108+ 10, 5, 0, 63, 63, 63, 63, 63, 63, 63,
109+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
110+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
111+ 63, 63, 63, 63, 13, 63, 63, 63, 63, 63,
112+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
113+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
114+ 63, 63, 63, 63, 30, 63, 63, 63, 63, 63,
115+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
116+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
117+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
118+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
119+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
120+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
121+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
122+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
123+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
124+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
125+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
126+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
127+ 63, 63, 63, 63, 63, 63
128 };
129- return len + asso_values[(unsigned char)str[len - 1]] + asso_values[(unsigned char)str[0]];
130+ return len + asso_values[(unsigned char)str[1]] + asso_values[(unsigned char)str[0]];
131 }
132
133 #ifdef __GNUC__
134 __inline
135+#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
136+__attribute__ ((__gnu_inline__))
137+#endif
138 #endif
139 struct token_trans *
140 is_ctok (str, len)
141@@ -59,46 +95,68 @@ is_ctok (str, len)
142 static struct token_trans wordlist[] =
143 {
144 {""}, {""},
145+#line 14 "token1.tok"
146+ {">>", TK_RIGHT_OP},
147+#line 4 "token1.tok"
148+ {">>=", TK_RIGHT_ASSIGN},
149+ {""}, {""}, {""},
150+#line 22 "token1.tok"
151+ {">=", TK_GE_OP},
152+#line 16 "token1.tok"
153+ {"++", TK_INC_OP},
154+ {""},
155+#line 6 "token1.tok"
156+ {"+=", TK_ADD_ASSIGN},
157+ {""},
158+#line 23 "token1.tok"
159 {"==", TK_EQ_OP},
160+#line 24 "token1.tok"
161 {"!=", TK_NE_OP},
162 {""},
163- {"%=", TK_MOD_ASSIGN},
164+#line 11 "token1.tok"
165+ {"&=", TK_AND_ASSIGN},
166 {""},
167+#line 21 "token1.tok"
168 {"<=", TK_LE_OP},
169- {"<<=", TK_LEFT_ASSIGN},
170+#line 19 "token1.tok"
171+ {"&&", TK_AND_OP},
172 {""},
173- {"-=", TK_SUB_ASSIGN},
174+#line 12 "token1.tok"
175+ {"^=", TK_XOR_ASSIGN},
176 {""},
177+#line 15 "token1.tok"
178 {"<<", TK_LEFT_OP},
179- {""}, {""},
180- {"*=", TK_MUL_ASSIGN},
181+#line 5 "token1.tok"
182+ {"<<=", TK_LEFT_ASSIGN},
183 {""},
184+#line 9 "token1.tok"
185 {"/=", TK_DIV_ASSIGN},
186- {"--", TK_DEC_OP},
187 {""},
188- {"+=", TK_ADD_ASSIGN},
189- {""},
190- {">=", TK_GE_OP},
191- {">>=", TK_RIGHT_ASSIGN},
192- {""},
193- {"|=", TK_OR_ASSIGN},
194+#line 18 "token1.tok"
195+ {"->", TK_PTR_OP},
196+ {""}, {""},
197+#line 8 "token1.tok"
198+ {"*=", TK_MUL_ASSIGN},
199 {""},
200- {"&=", TK_AND_ASSIGN},
201+#line 7 "token1.tok"
202+ {"-=", TK_SUB_ASSIGN},
203 {""}, {""},
204- {"->", TK_PTR_OP},
205+#line 10 "token1.tok"
206+ {"%=", TK_MOD_ASSIGN},
207 {""},
208- {"^=", TK_XOR_ASSIGN},
209- {""}, {""}, {""}, {""}, {""},
210- {"++", TK_INC_OP},
211- {""}, {""}, {""},
212- {">>", TK_RIGHT_OP},
213- {""}, {""}, {""}, {""}, {""},
214- {"||", TK_OR_OP},
215- {""}, {""}, {""},
216- {"&&", TK_AND_OP},
217- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
218+#line 13 "token1.tok"
219+ {"|=", TK_OR_ASSIGN},
220+ {""}, {""}, {""}, {""},
221+#line 25 "token1.tok"
222 {"..", TK_WORD},
223- {"...", TK_ELLIPSIS}
224+#line 3 "token1.tok"
225+ {"...", TK_ELLIPSIS},
226+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
227+#line 17 "token1.tok"
228+ {"--", TK_DEC_OP},
229+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
230+#line 20 "token1.tok"
231+ {"||", TK_OR_OP}
232 };
233
234 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
235@@ -109,7 +167,7 @@ is_ctok (str, len)
236 {
237 register const char *s = wordlist[key].name;
238
239- if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
240+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
241 return &wordlist[key];
242 }
243 }
244diff --git a/cpp/token1.tok b/cpp/token1.tok
245index cd668ce..a98926f 100644
246--- a/cpp/token1.tok
247+++ b/cpp/token1.tok
248@@ -7,7 +7,7 @@ struct token_trans { char * name; int token; };
249 -=, TK_SUB_ASSIGN
250 *=, TK_MUL_ASSIGN
251 /=, TK_DIV_ASSIGN
252-%=, TK_MOD_ASSIGN
253+"%=", TK_MOD_ASSIGN
254 &=, TK_AND_ASSIGN
255 ^=, TK_XOR_ASSIGN
256 |=, TK_OR_ASSIGN