libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / m2 / mc-boot / GmcPrintf.cc
blobe91e55acc14c73501b25126b86c113da004dec81
1 /* do not edit automatically generated by mc from mcPrintf. */
2 /* This file is part of GNU Modula-2.
4 GNU Modula-2 is free software; you can redistribute it and/or modify it under
5 the terms of the GNU General Public License as published by the Free
6 Software Foundation; either version 3, or (at your option) any later
7 version.
9 GNU Modula-2 is distributed in the hope that it will be useful, but WITHOUT ANY
10 WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 for more details.
14 You should have received a copy of the GNU General Public License
15 along with GCC; see the file COPYING3. If not see
16 <http://www.gnu.org/licenses/>. */
18 #include "config.h"
19 #include "system.h"
20 #include <stdbool.h>
21 # if !defined (PROC_D)
22 # define PROC_D
23 typedef void (*PROC_t) (void);
24 typedef struct { PROC_t proc; } PROC;
25 # endif
27 # if !defined (TRUE)
28 # define TRUE (1==1)
29 # endif
31 # if !defined (FALSE)
32 # define FALSE (1==0)
33 # endif
35 #if defined(__cplusplus)
36 # undef NULL
37 # define NULL 0
38 #endif
39 #define _mcPrintf_C
41 #include "GmcPrintf.h"
42 # include "GSFIO.h"
43 # include "GFIO.h"
44 # include "GDynamicStrings.h"
45 # include "GStrLib.h"
46 # include "GFormatStrings.h"
47 # include "GnameKey.h"
48 # include "GM2RTS.h"
52 printf0 - writes out an array to, StdOut, after the escape
53 sequences have been translated.
56 extern "C" void mcPrintf_printf0 (const char *a_, unsigned int _a_high);
59 printf0 - writes out an array to, StdOut, after the escape
60 sequences have been translated.
63 extern "C" void mcPrintf_printf1 (const char *a_, unsigned int _a_high, const unsigned char *w_, unsigned int _w_high);
66 printf0 - writes out an array to, StdOut, after the escape
67 sequences have been translated.
70 extern "C" void mcPrintf_printf2 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high);
73 printf0 - writes out an array to, StdOut, after the escape
74 sequences have been translated.
77 extern "C" void mcPrintf_printf3 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high);
80 printf0 - writes out an array to, StdOut, after the escape
81 sequences have been translated.
84 extern "C" void mcPrintf_printf4 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high, const unsigned char *w4_, unsigned int _w4_high);
87 fprintf0 - writes out an array to, file, after the escape sequences
88 have been translated.
91 extern "C" void mcPrintf_fprintf0 (FIO_File file, const char *a_, unsigned int _a_high);
94 fprintf0 - writes out an array to, file, after the escape sequences
95 have been translated.
98 extern "C" void mcPrintf_fprintf1 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w_, unsigned int _w_high);
101 fprintf0 - writes out an array to, file, after the escape sequences
102 have been translated.
105 extern "C" void mcPrintf_fprintf2 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high);
108 fprintf0 - writes out an array to, file, after the escape sequences
109 have been translated.
112 extern "C" void mcPrintf_fprintf3 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high);
115 fprintf0 - writes out an array to, file, after the escape sequences
116 have been translated.
119 extern "C" void mcPrintf_fprintf4 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high, const unsigned char *w4_, unsigned int _w4_high);
122 isDigit - returns TRUE if, ch, is a character 0..9
125 static bool isDigit (char ch);
128 cast - casts a := b
131 static void cast (unsigned char *a, unsigned int _a_high, const unsigned char *b_, unsigned int _b_high);
134 TranslateNameToCharStar - takes a format specification string, a, and
135 if they consist of of %a then this is translated
136 into a String and %a is replaced by %s.
139 static bool TranslateNameToCharStar (char *a, unsigned int _a_high, unsigned int n);
143 isDigit - returns TRUE if, ch, is a character 0..9
146 static bool isDigit (char ch)
148 return (ch >= '0') && (ch <= '9');
149 /* static analysis guarentees a RETURN statement will be used before here. */
150 __builtin_unreachable ();
155 cast - casts a := b
158 static void cast (unsigned char *a, unsigned int _a_high, const unsigned char *b_, unsigned int _b_high)
160 unsigned int i;
161 unsigned char b[_b_high+1];
163 /* make a local copy of each unbounded array. */
164 memcpy (b, b_, _b_high+1);
166 if (_a_high == _b_high)
168 for (i=0; i<=_a_high; i++)
170 const_cast<unsigned char *>(a)[i] = b[i];
173 else
175 M2RTS_HALT (-1);
176 __builtin_unreachable ();
182 TranslateNameToCharStar - takes a format specification string, a, and
183 if they consist of of %a then this is translated
184 into a String and %a is replaced by %s.
187 static bool TranslateNameToCharStar (char *a, unsigned int _a_high, unsigned int n)
189 unsigned int argno;
190 unsigned int i;
191 unsigned int h;
193 argno = 1;
194 i = 0;
195 h = StrLib_StrLen ((const char *) a, _a_high);
196 while (i < h)
198 if ((a[i] == '%') && ((i+1) < h))
200 if ((a[i+1] == 'a') && (argno == n))
202 const_cast<char *>(a)[i+1] = 's';
203 return true;
205 argno += 1;
206 if (argno > n)
208 /* all done */
209 return false;
212 i += 1;
214 return false;
215 /* static analysis guarentees a RETURN statement will be used before here. */
216 __builtin_unreachable ();
221 printf0 - writes out an array to, StdOut, after the escape
222 sequences have been translated.
225 extern "C" void mcPrintf_printf0 (const char *a_, unsigned int _a_high)
227 char a[_a_high+1];
229 /* make a local copy of each unbounded array. */
230 memcpy (a, a_, _a_high+1);
232 mcPrintf_fprintf0 (FIO_StdOut, (const char *) a, _a_high);
237 printf0 - writes out an array to, StdOut, after the escape
238 sequences have been translated.
241 extern "C" void mcPrintf_printf1 (const char *a_, unsigned int _a_high, const unsigned char *w_, unsigned int _w_high)
243 char a[_a_high+1];
244 unsigned char w[_w_high+1];
246 /* make a local copy of each unbounded array. */
247 memcpy (a, a_, _a_high+1);
248 memcpy (w, w_, _w_high+1);
250 mcPrintf_fprintf1 (FIO_StdOut, (const char *) a, _a_high, (const unsigned char *) w, _w_high);
255 printf0 - writes out an array to, StdOut, after the escape
256 sequences have been translated.
259 extern "C" void mcPrintf_printf2 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high)
261 char a[_a_high+1];
262 unsigned char w1[_w1_high+1];
263 unsigned char w2[_w2_high+1];
265 /* make a local copy of each unbounded array. */
266 memcpy (a, a_, _a_high+1);
267 memcpy (w1, w1_, _w1_high+1);
268 memcpy (w2, w2_, _w2_high+1);
270 mcPrintf_fprintf2 (FIO_StdOut, (const char *) a, _a_high, (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high);
275 printf0 - writes out an array to, StdOut, after the escape
276 sequences have been translated.
279 extern "C" void mcPrintf_printf3 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high)
281 char a[_a_high+1];
282 unsigned char w1[_w1_high+1];
283 unsigned char w2[_w2_high+1];
284 unsigned char w3[_w3_high+1];
286 /* make a local copy of each unbounded array. */
287 memcpy (a, a_, _a_high+1);
288 memcpy (w1, w1_, _w1_high+1);
289 memcpy (w2, w2_, _w2_high+1);
290 memcpy (w3, w3_, _w3_high+1);
292 mcPrintf_fprintf3 (FIO_StdOut, (const char *) a, _a_high, (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high, (const unsigned char *) w3, _w3_high);
297 printf0 - writes out an array to, StdOut, after the escape
298 sequences have been translated.
301 extern "C" void mcPrintf_printf4 (const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high, const unsigned char *w4_, unsigned int _w4_high)
303 char a[_a_high+1];
304 unsigned char w1[_w1_high+1];
305 unsigned char w2[_w2_high+1];
306 unsigned char w3[_w3_high+1];
307 unsigned char w4[_w4_high+1];
309 /* make a local copy of each unbounded array. */
310 memcpy (a, a_, _a_high+1);
311 memcpy (w1, w1_, _w1_high+1);
312 memcpy (w2, w2_, _w2_high+1);
313 memcpy (w3, w3_, _w3_high+1);
314 memcpy (w4, w4_, _w4_high+1);
316 mcPrintf_fprintf4 (FIO_StdOut, (const char *) a, _a_high, (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high, (const unsigned char *) w3, _w3_high, (const unsigned char *) w4, _w4_high);
321 fprintf0 - writes out an array to, file, after the escape sequences
322 have been translated.
325 extern "C" void mcPrintf_fprintf0 (FIO_File file, const char *a_, unsigned int _a_high)
327 char a[_a_high+1];
329 /* make a local copy of each unbounded array. */
330 memcpy (a, a_, _a_high+1);
332 if ((DynamicStrings_KillString (SFIO_WriteS (file, FormatStrings_Sprintf0 (DynamicStrings_InitString ((const char *) a, _a_high))))) == NULL)
333 {} /* empty. */
338 fprintf0 - writes out an array to, file, after the escape sequences
339 have been translated.
342 extern "C" void mcPrintf_fprintf1 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w_, unsigned int _w_high)
344 DynamicStrings_String s;
345 DynamicStrings_String t;
346 nameKey_Name n;
347 char a[_a_high+1];
348 unsigned char w[_w_high+1];
350 /* make a local copy of each unbounded array. */
351 memcpy (a, a_, _a_high+1);
352 memcpy (w, w_, _w_high+1);
354 if (TranslateNameToCharStar ((char *) a, _a_high, 1))
356 cast ((unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) w, _w_high);
357 s = DynamicStrings_Mark (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)));
358 t = DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high));
359 s = FormatStrings_Sprintf1 (t, (const unsigned char *) &s, (sizeof (s)-1));
361 else
363 t = DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high));
364 s = FormatStrings_Sprintf1 (t, (const unsigned char *) w, _w_high);
366 if ((DynamicStrings_KillString (SFIO_WriteS (file, s))) == NULL)
367 {} /* empty. */
372 fprintf0 - writes out an array to, file, after the escape sequences
373 have been translated.
376 extern "C" void mcPrintf_fprintf2 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high)
378 nameKey_Name n;
379 DynamicStrings_String s;
380 DynamicStrings_String s1;
381 DynamicStrings_String s2;
382 unsigned int b;
383 char a[_a_high+1];
384 unsigned char w1[_w1_high+1];
385 unsigned char w2[_w2_high+1];
387 /* make a local copy of each unbounded array. */
388 memcpy (a, a_, _a_high+1);
389 memcpy (w1, w1_, _w1_high+1);
390 memcpy (w2, w2_, _w2_high+1);
392 b = (unsigned int) 0;
393 if (TranslateNameToCharStar ((char *) a, _a_high, 1))
395 cast ((unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) w1, _w1_high);
396 s1 = DynamicStrings_Mark (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)));
397 b |= (1 << (1 ));
399 if (TranslateNameToCharStar ((char *) a, _a_high, 2))
401 cast ((unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) w2, _w2_high);
402 s2 = DynamicStrings_Mark (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)));
403 b |= (1 << (2 ));
405 switch (b)
407 case (unsigned int) 0:
408 s = FormatStrings_Sprintf2 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high);
409 break;
411 case (unsigned int) ((1 << (1))):
412 s = FormatStrings_Sprintf2 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) w2, _w2_high);
413 break;
415 case (unsigned int) ((1 << (2))):
416 s = FormatStrings_Sprintf2 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) &s2, (sizeof (s2)-1));
417 break;
419 case (unsigned int) ((1 << (1)) | (1 << (2))):
420 s = FormatStrings_Sprintf2 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) &s2, (sizeof (s2)-1));
421 break;
424 default:
425 M2RTS_HALT (-1);
426 __builtin_unreachable ();
427 break;
429 if ((DynamicStrings_KillString (SFIO_WriteS (file, s))) == NULL)
430 {} /* empty. */
435 fprintf0 - writes out an array to, file, after the escape sequences
436 have been translated.
439 extern "C" void mcPrintf_fprintf3 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high)
441 nameKey_Name n;
442 DynamicStrings_String s;
443 DynamicStrings_String s1;
444 DynamicStrings_String s2;
445 DynamicStrings_String s3;
446 unsigned int b;
447 char a[_a_high+1];
448 unsigned char w1[_w1_high+1];
449 unsigned char w2[_w2_high+1];
450 unsigned char w3[_w3_high+1];
452 /* make a local copy of each unbounded array. */
453 memcpy (a, a_, _a_high+1);
454 memcpy (w1, w1_, _w1_high+1);
455 memcpy (w2, w2_, _w2_high+1);
456 memcpy (w3, w3_, _w3_high+1);
458 b = (unsigned int) 0;
459 if (TranslateNameToCharStar ((char *) a, _a_high, 1))
461 cast ((unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) w1, _w1_high);
462 s1 = DynamicStrings_Mark (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)));
463 b |= (1 << (1 ));
465 if (TranslateNameToCharStar ((char *) a, _a_high, 2))
467 cast ((unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) w2, _w2_high);
468 s2 = DynamicStrings_Mark (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)));
469 b |= (1 << (2 ));
471 if (TranslateNameToCharStar ((char *) a, _a_high, 3))
473 cast ((unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) w3, _w3_high);
474 s3 = DynamicStrings_Mark (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)));
475 b |= (1 << (3 ));
477 switch (b)
479 case (unsigned int) 0:
480 s = FormatStrings_Sprintf3 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high, (const unsigned char *) w3, _w3_high);
481 break;
483 case (unsigned int) ((1 << (1))):
484 s = FormatStrings_Sprintf3 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) w2, _w2_high, (const unsigned char *) w3, _w3_high);
485 break;
487 case (unsigned int) ((1 << (2))):
488 s = FormatStrings_Sprintf3 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) w3, _w3_high);
489 break;
491 case (unsigned int) ((1 << (1)) | (1 << (2))):
492 s = FormatStrings_Sprintf3 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) w3, _w3_high);
493 break;
495 case (unsigned int) ((1 << (3))):
496 s = FormatStrings_Sprintf3 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high, (const unsigned char *) &s3, (sizeof (s3)-1));
497 break;
499 case (unsigned int) ((1 << (1)) | (1 << (3))):
500 s = FormatStrings_Sprintf3 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) w2, _w2_high, (const unsigned char *) &s3, (sizeof (s3)-1));
501 break;
503 case (unsigned int) ((1 << (2)) | (1 << (3))):
504 s = FormatStrings_Sprintf3 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) &s3, (sizeof (s3)-1));
505 break;
507 case (unsigned int) ((1 << (1)) | (1 << (2)) | (1 << (3))):
508 s = FormatStrings_Sprintf3 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) &s3, (sizeof (s3)-1));
509 break;
512 default:
513 M2RTS_HALT (-1);
514 __builtin_unreachable ();
515 break;
517 if ((DynamicStrings_KillString (SFIO_WriteS (file, s))) == NULL)
518 {} /* empty. */
523 fprintf0 - writes out an array to, file, after the escape sequences
524 have been translated.
527 extern "C" void mcPrintf_fprintf4 (FIO_File file, const char *a_, unsigned int _a_high, const unsigned char *w1_, unsigned int _w1_high, const unsigned char *w2_, unsigned int _w2_high, const unsigned char *w3_, unsigned int _w3_high, const unsigned char *w4_, unsigned int _w4_high)
529 nameKey_Name n;
530 DynamicStrings_String s;
531 DynamicStrings_String s1;
532 DynamicStrings_String s2;
533 DynamicStrings_String s3;
534 DynamicStrings_String s4;
535 unsigned int b;
536 char a[_a_high+1];
537 unsigned char w1[_w1_high+1];
538 unsigned char w2[_w2_high+1];
539 unsigned char w3[_w3_high+1];
540 unsigned char w4[_w4_high+1];
542 /* make a local copy of each unbounded array. */
543 memcpy (a, a_, _a_high+1);
544 memcpy (w1, w1_, _w1_high+1);
545 memcpy (w2, w2_, _w2_high+1);
546 memcpy (w3, w3_, _w3_high+1);
547 memcpy (w4, w4_, _w4_high+1);
549 b = (unsigned int) 0;
550 if (TranslateNameToCharStar ((char *) a, _a_high, 1))
552 cast ((unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) w1, _w1_high);
553 s1 = DynamicStrings_Mark (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)));
554 b |= (1 << (1 ));
556 if (TranslateNameToCharStar ((char *) a, _a_high, 2))
558 cast ((unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) w2, _w2_high);
559 s2 = DynamicStrings_Mark (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)));
560 b |= (1 << (2 ));
562 if (TranslateNameToCharStar ((char *) a, _a_high, 3))
564 cast ((unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) w3, _w3_high);
565 s3 = DynamicStrings_Mark (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)));
566 b |= (1 << (3 ));
568 if (TranslateNameToCharStar ((char *) a, _a_high, 4))
570 cast ((unsigned char *) &n, (sizeof (n)-1), (const unsigned char *) w4, _w4_high);
571 s4 = DynamicStrings_Mark (DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)));
572 b |= (1 << (4 ));
574 switch (b)
576 case (unsigned int) 0:
577 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high, (const unsigned char *) w3, _w3_high, (const unsigned char *) w4, _w4_high);
578 break;
580 case (unsigned int) ((1 << (1))):
581 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) w2, _w2_high, (const unsigned char *) w3, _w3_high, (const unsigned char *) w4, _w4_high);
582 break;
584 case (unsigned int) ((1 << (2))):
585 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) w3, _w3_high, (const unsigned char *) w4, _w4_high);
586 break;
588 case (unsigned int) ((1 << (1)) | (1 << (2))):
589 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) w3, _w3_high, (const unsigned char *) w4, _w4_high);
590 break;
592 case (unsigned int) ((1 << (3))):
593 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high, (const unsigned char *) &s3, (sizeof (s3)-1), (const unsigned char *) w4, _w4_high);
594 break;
596 case (unsigned int) ((1 << (1)) | (1 << (3))):
597 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) w2, _w2_high, (const unsigned char *) &s3, (sizeof (s3)-1), (const unsigned char *) w4, _w4_high);
598 break;
600 case (unsigned int) ((1 << (2)) | (1 << (3))):
601 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) &s3, (sizeof (s3)-1), (const unsigned char *) w4, _w4_high);
602 break;
604 case (unsigned int) ((1 << (1)) | (1 << (2)) | (1 << (3))):
605 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) &s3, (sizeof (s3)-1), (const unsigned char *) w4, _w4_high);
606 break;
608 case (unsigned int) ((1 << (4))):
609 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high, (const unsigned char *) w3, _w3_high, (const unsigned char *) &s4, (sizeof (s4)-1));
610 break;
612 case (unsigned int) ((1 << (1)) | (1 << (4))):
613 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) w2, _w2_high, (const unsigned char *) w3, _w3_high, (const unsigned char *) &s4, (sizeof (s4)-1));
614 break;
616 case (unsigned int) ((1 << (2)) | (1 << (4))):
617 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) w3, _w3_high, (const unsigned char *) &s4, (sizeof (s4)-1));
618 break;
620 case (unsigned int) ((1 << (1)) | (1 << (2)) | (1 << (4))):
621 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) w3, _w3_high, (const unsigned char *) &s4, (sizeof (s4)-1));
622 break;
624 case (unsigned int) ((1 << (3)) | (1 << (4))):
625 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) w2, _w2_high, (const unsigned char *) &s3, (sizeof (s3)-1), (const unsigned char *) &s4, (sizeof (s4)-1));
626 break;
628 case (unsigned int) ((1 << (1)) | (1 << (3)) | (1 << (4))):
629 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) w2, _w2_high, (const unsigned char *) &s3, (sizeof (s3)-1), (const unsigned char *) &s4, (sizeof (s4)-1));
630 break;
632 case (unsigned int) ((1 << (2)) | (1 << (3)) | (1 << (4))):
633 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) w1, _w1_high, (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) &s3, (sizeof (s3)-1), (const unsigned char *) &s4, (sizeof (s4)-1));
634 break;
636 case (unsigned int) ((1 << (1)) | (1 << (2)) | (1 << (3)) | (1 << (4))):
637 s = FormatStrings_Sprintf4 (DynamicStrings_Mark (DynamicStrings_InitString ((const char *) a, _a_high)), (const unsigned char *) &s1, (sizeof (s1)-1), (const unsigned char *) &s2, (sizeof (s2)-1), (const unsigned char *) &s3, (sizeof (s3)-1), (const unsigned char *) &s4, (sizeof (s4)-1));
638 break;
641 default:
642 M2RTS_HALT (-1);
643 __builtin_unreachable ();
644 break;
646 if ((DynamicStrings_KillString (SFIO_WriteS (file, s))) == NULL)
647 {} /* empty. */
650 extern "C" void _M2_mcPrintf_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[])
654 extern "C" void _M2_mcPrintf_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[])