libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / m2 / mc-boot / GmcMetaError.cc
blobaf64604534e2f189df03a43405ba166b9862c42b
1 /* do not edit automatically generated by mc from mcMetaError. */
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 _mcMetaError_C
41 #include "GmcMetaError.h"
42 # include "GnameKey.h"
43 # include "GStrLib.h"
44 # include "GmcLexBuf.h"
45 # include "GmcError.h"
46 # include "GFIO.h"
47 # include "GSFIO.h"
48 # include "GStringConvert.h"
49 # include "Gvarargs.h"
50 # include "GDynamicStrings.h"
51 # include "Gdecl.h"
53 typedef enum {mcMetaError_newerror, mcMetaError_newwarning, mcMetaError_chained} mcMetaError_errorType;
57 doFormat -
60 extern "C" void mcMetaError_metaError1 (const char *m_, unsigned int _m_high, const unsigned char *s_, unsigned int _s_high);
63 doFormat -
66 extern "C" void mcMetaError_metaError2 (const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high);
69 doFormat -
72 extern "C" void mcMetaError_metaError3 (const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high);
75 doFormat -
78 extern "C" void mcMetaError_metaError4 (const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high);
81 wrapErrors -
84 extern "C" void mcMetaError_metaErrors1 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s_, unsigned int _s_high);
87 wrapErrors -
90 extern "C" void mcMetaError_metaErrors2 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high);
93 wrapErrors -
96 extern "C" void mcMetaError_metaErrors3 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high);
99 wrapErrors -
102 extern "C" void mcMetaError_metaErrors4 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high);
105 doFormat -
108 extern "C" void mcMetaError_metaErrorT1 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s_, unsigned int _s_high);
111 doFormat -
114 extern "C" void mcMetaError_metaErrorT2 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high);
117 doFormat -
120 extern "C" void mcMetaError_metaErrorT3 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high);
123 doFormat -
126 extern "C" void mcMetaError_metaErrorT4 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high);
129 wrapErrors -
132 extern "C" void mcMetaError_metaErrorsT1 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s_, unsigned int _s_high);
135 wrapErrors -
138 extern "C" void mcMetaError_metaErrorsT2 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high);
141 wrapErrors -
144 extern "C" void mcMetaError_metaErrorsT3 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high);
147 wrapErrors -
150 extern "C" void mcMetaError_metaErrorsT4 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high);
153 wrapErrors -
156 extern "C" void mcMetaError_metaErrorString1 (DynamicStrings_String m, const unsigned char *s_, unsigned int _s_high);
159 wrapErrors -
162 extern "C" void mcMetaError_metaErrorString2 (DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high);
165 wrapErrors -
168 extern "C" void mcMetaError_metaErrorString3 (DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high);
171 wrapErrors -
174 extern "C" void mcMetaError_metaErrorString4 (DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high);
177 doFormat -
180 extern "C" void mcMetaError_metaErrorStringT1 (unsigned int tok, DynamicStrings_String m, const unsigned char *s_, unsigned int _s_high);
183 doFormat -
186 extern "C" void mcMetaError_metaErrorStringT2 (unsigned int tok, DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high);
189 doFormat -
192 extern "C" void mcMetaError_metaErrorStringT3 (unsigned int tok, DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high);
195 doFormat -
198 extern "C" void mcMetaError_metaErrorStringT4 (unsigned int tok, DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high);
201 internalFormat - produces an informative internal error.
204 static void internalFormat (DynamicStrings_String s, int i, const char *m_, unsigned int _m_high);
207 x - checks to see that a=b.
210 static DynamicStrings_String x (DynamicStrings_String a, DynamicStrings_String b);
213 isWhite - returns TRUE if, ch, is a space.
216 static bool isWhite (char ch);
219 then := [ ':' ebnf ] =:
222 static void then (mcError_error *e, mcMetaError_errorType *t, DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l, DynamicStrings_String o, bool positive);
225 doNumber -
228 static DynamicStrings_String doNumber (unsigned int bol, varargs_vararg sym, DynamicStrings_String o, bool *quotes);
231 doCount -
234 static DynamicStrings_String doCount (unsigned int bol, varargs_vararg sym, DynamicStrings_String o, bool *quotes);
237 doCount -
240 static DynamicStrings_String doAscii (unsigned int bol, varargs_vararg sym, DynamicStrings_String o);
243 doCount -
246 static DynamicStrings_String doName (unsigned int bol, varargs_vararg sym, DynamicStrings_String o, bool *quotes);
249 doCount -
252 static DynamicStrings_String doQualified (unsigned int bol, varargs_vararg sym, DynamicStrings_String o);
255 doType - returns a string containing the type name of
256 sym. It will skip pseudonym types. It also
257 returns the type symbol found.
260 static DynamicStrings_String doType (unsigned int bol, varargs_vararg *sym, DynamicStrings_String o);
263 doSkipType - will skip all pseudonym types. It also
264 returns the type symbol found and name.
267 static DynamicStrings_String doSkipType (unsigned int bol, varargs_vararg *sym, DynamicStrings_String o);
270 doSkipType - will skip all pseudonym types. It also
271 returns the type symbol found and name.
274 static DynamicStrings_String doKey (unsigned int bol, varargs_vararg sym, DynamicStrings_String o);
277 doError - creates and returns an error note.
280 static mcError_error doError (mcError_error e, mcMetaError_errorType t, unsigned int tok);
283 doDeclaredDef - creates an error note where sym[bol] was declared.
286 static mcError_error doDeclaredDef (mcError_error e, mcMetaError_errorType t, unsigned int bol, varargs_vararg sym);
289 doDeclaredMod - creates an error note where sym[bol] was declared.
292 static mcError_error doDeclaredMod (mcError_error e, mcMetaError_errorType t, unsigned int bol, varargs_vararg sym);
295 doUsed - creates an error note where sym[bol] was first used.
298 static mcError_error doUsed (mcError_error e, mcMetaError_errorType t, unsigned int bol, varargs_vararg sym);
301 ConCatWord - joins sentances, a, b, together.
304 static DynamicStrings_String ConCatWord (DynamicStrings_String a, DynamicStrings_String b);
307 symDesc -
310 static DynamicStrings_String symDesc (decl_node n, DynamicStrings_String o);
313 doDesc -
316 static DynamicStrings_String doDesc (unsigned int bol, varargs_vararg sym, DynamicStrings_String o, bool *quotes);
319 addQuoted - if, o, is not empty then add it to, r.
322 static DynamicStrings_String addQuoted (DynamicStrings_String r, DynamicStrings_String o, bool quotes);
325 op := {'a'|'q'|'t'|'d'|'k'|'n'|'s'|'D'|'I'|'U'|'E'|'W'} then =:
328 static void op (mcError_error *e, mcMetaError_errorType *t, DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l, unsigned int bol, bool positive);
331 percenttoken := '%' (
332 '1' % doOperand(1) %
334 | '2' % doOperand(2) %
336 | '3' % doOperand(3) %
338 | '4' % doOperand(4) %
341 } =:
344 static void percenttoken (mcError_error *e, mcMetaError_errorType t, DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l, bool positive);
347 percent := '%' anych % copy anych %
351 static void percent (DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l);
354 lbra := '{' [ '!' ] percenttoken '}' =:
357 static void lbra (mcError_error *e, mcMetaError_errorType *t, DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l);
360 lbra := '{' [ '!' ] percenttoken '}' =:
363 static void stop (void);
366 ebnf := { percent
367 | lbra
368 | any % copy ch %
373 static void ebnf (mcError_error *e, mcMetaError_errorType *t, DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l);
376 doFormat -
379 static DynamicStrings_String doFormat (mcError_error *e, mcMetaError_errorType *t, DynamicStrings_String s, varargs_vararg sym);
382 wrapErrors -
385 static void wrapErrors (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, varargs_vararg sym);
389 internalFormat - produces an informative internal error.
392 static void internalFormat (DynamicStrings_String s, int i, const char *m_, unsigned int _m_high)
394 mcError_error e;
395 char m[_m_high+1];
397 /* make a local copy of each unbounded array. */
398 memcpy (m, m_, _m_high+1);
400 e = mcError_newError (mcLexBuf_getTokenNo ());
401 s = SFIO_WriteS (FIO_StdOut, s);
402 FIO_WriteLine (FIO_StdOut);
403 s = DynamicStrings_KillString (s);
404 if (i > 0)
406 i -= 1;
408 s = DynamicStrings_Mult (DynamicStrings_InitString ((const char *) " ", 1), static_cast<unsigned int> (i));
409 s = DynamicStrings_ConCatChar (s, '^');
410 s = SFIO_WriteS (FIO_StdOut, s);
411 FIO_WriteLine (FIO_StdOut);
412 mcError_internalError ((const char *) m, _m_high, (const char *) "../../gcc/m2/mc/mcMetaError.mod", 31, 97);
417 x - checks to see that a=b.
420 static DynamicStrings_String x (DynamicStrings_String a, DynamicStrings_String b)
422 if (a != b)
424 mcError_internalError ((const char *) "different string returned", 25, (const char *) "../../gcc/m2/mc/mcMetaError.mod", 31, 109);
426 return a;
427 /* static analysis guarentees a RETURN statement will be used before here. */
428 __builtin_unreachable ();
433 isWhite - returns TRUE if, ch, is a space.
436 static bool isWhite (char ch)
438 return ch == ' ';
439 /* static analysis guarentees a RETURN statement will be used before here. */
440 __builtin_unreachable ();
445 then := [ ':' ebnf ] =:
448 static void then (mcError_error *e, mcMetaError_errorType *t, DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l, DynamicStrings_String o, bool positive)
450 if ((DynamicStrings_char (s, (*i))) == ':')
452 (*i) += 1;
453 ebnf (e, t, r, s, sym, i, l);
454 if (((*i) < l) && ((DynamicStrings_char (s, (*i))) != '}'))
456 internalFormat (s, (*i), (const char *) "expecting to see }", 18);
463 doNumber -
466 static DynamicStrings_String doNumber (unsigned int bol, varargs_vararg sym, DynamicStrings_String o, bool *quotes)
468 unsigned int c;
470 if ((DynamicStrings_Length (o)) > 0)
472 return o;
474 else
476 (*quotes) = false;
477 varargs_next (sym, bol);
478 varargs_arg (sym, (unsigned char *) &c, (sizeof (c)-1));
479 return DynamicStrings_ConCat (o, StringConvert_ctos (c, 0, ' '));
481 /* static analysis guarentees a RETURN statement will be used before here. */
482 __builtin_unreachable ();
487 doCount -
490 static DynamicStrings_String doCount (unsigned int bol, varargs_vararg sym, DynamicStrings_String o, bool *quotes)
492 unsigned int c;
494 if ((DynamicStrings_Length (o)) > 0)
496 return o;
498 else
500 (*quotes) = false;
501 varargs_next (sym, bol);
502 varargs_arg (sym, (unsigned char *) &c, (sizeof (c)-1));
503 o = DynamicStrings_ConCat (o, StringConvert_ctos (c, 0, ' '));
504 if (((c % 100) >= 11) && ((c % 100) <= 13))
506 o = DynamicStrings_ConCat (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "th", 2)));
509 else {
510 switch (c % 10)
512 case 1:
513 o = DynamicStrings_ConCat (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "st", 2)));
514 break;
516 case 2:
517 o = DynamicStrings_ConCat (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "nd", 2)));
518 break;
520 case 3:
521 o = DynamicStrings_ConCat (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "rd", 2)));
522 break;
525 default:
526 o = DynamicStrings_ConCat (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "th", 2)));
527 break;
530 return o;
532 /* static analysis guarentees a RETURN statement will be used before here. */
533 __builtin_unreachable ();
538 doCount -
541 static DynamicStrings_String doAscii (unsigned int bol, varargs_vararg sym, DynamicStrings_String o)
543 decl_node n;
545 varargs_next (sym, bol);
546 varargs_arg (sym, (unsigned char *) &n, (sizeof (n)-1));
547 if (((DynamicStrings_Length (o)) > 0) || (decl_isTemporary (n)))
549 return o;
551 else
553 return DynamicStrings_ConCat (o, DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))));
555 /* static analysis guarentees a RETURN statement will be used before here. */
556 __builtin_unreachable ();
561 doCount -
564 static DynamicStrings_String doName (unsigned int bol, varargs_vararg sym, DynamicStrings_String o, bool *quotes)
566 decl_node n;
568 varargs_next (sym, bol);
569 varargs_arg (sym, (unsigned char *) &n, (sizeof (n)-1));
570 if (((DynamicStrings_Length (o)) > 0) || (decl_isTemporary (n)))
572 return o;
574 else
576 if (decl_isZtype (n))
578 (*quotes) = false;
579 return DynamicStrings_ConCat (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "the ZType", 9)));
581 else if (decl_isRtype (n))
583 /* avoid dangling else. */
584 (*quotes) = false;
585 return DynamicStrings_ConCat (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "the RType", 9)));
587 else if ((decl_getSymName (n)) != nameKey_NulName)
589 /* avoid dangling else. */
590 return DynamicStrings_ConCat (o, DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n))));
592 else
594 /* avoid dangling else. */
595 return o;
598 /* static analysis guarentees a RETURN statement will be used before here. */
599 __builtin_unreachable ();
604 doCount -
607 static DynamicStrings_String doQualified (unsigned int bol, varargs_vararg sym, DynamicStrings_String o)
609 decl_node s;
610 decl_node n;
611 varargs_vararg mod;
613 varargs_next (sym, bol);
614 varargs_arg (sym, (unsigned char *) &n, (sizeof (n)-1));
615 if (((DynamicStrings_Length (o)) > 0) || (decl_isTemporary (n)))
617 return o;
619 else
621 s = decl_getScope (n);
622 mod = varargs_start1 ((const unsigned char *) &s, (sizeof (s)-1));
623 if ((decl_isDef (s)) && (decl_isExported (n)))
625 o = x (o, doAscii (0, mod, o));
626 o = x (o, DynamicStrings_ConCatChar (o, '.'));
627 o = x (o, DynamicStrings_ConCat (o, DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (decl_getSymName (n)))));
629 else
631 o = x (o, doAscii (bol, sym, o));
633 varargs_end (&mod);
634 return o;
636 /* static analysis guarentees a RETURN statement will be used before here. */
637 __builtin_unreachable ();
642 doType - returns a string containing the type name of
643 sym. It will skip pseudonym types. It also
644 returns the type symbol found.
647 static DynamicStrings_String doType (unsigned int bol, varargs_vararg *sym, DynamicStrings_String o)
649 decl_node n;
651 varargs_next ((*sym), bol);
652 varargs_arg ((*sym), (unsigned char *) &n, (sizeof (n)-1));
653 if (((DynamicStrings_Length (o)) > 0) || ((decl_getType (n)) == NULL))
655 return o;
657 else
659 n = decl_skipType (decl_getType (n));
660 varargs_next ((*sym), bol);
661 varargs_replace ((*sym), (unsigned char *) &n, (sizeof (n)-1));
662 return x (o, doAscii (bol, (*sym), o));
664 /* static analysis guarentees a RETURN statement will be used before here. */
665 __builtin_unreachable ();
670 doSkipType - will skip all pseudonym types. It also
671 returns the type symbol found and name.
674 static DynamicStrings_String doSkipType (unsigned int bol, varargs_vararg *sym, DynamicStrings_String o)
676 decl_node n;
678 varargs_next ((*sym), bol);
679 varargs_arg ((*sym), (unsigned char *) &n, (sizeof (n)-1));
680 if ((DynamicStrings_Length (o)) > 0)
682 return o;
684 else
686 n = decl_skipType (decl_getType (n));
687 varargs_next ((*sym), bol);
688 varargs_replace ((*sym), (unsigned char *) &n, (sizeof (n)-1));
689 if ((decl_getSymName (n)) == nameKey_NulName)
691 return o;
693 else
695 return x (o, doAscii (bol, (*sym), o));
698 /* static analysis guarentees a RETURN statement will be used before here. */
699 __builtin_unreachable ();
704 doSkipType - will skip all pseudonym types. It also
705 returns the type symbol found and name.
708 static DynamicStrings_String doKey (unsigned int bol, varargs_vararg sym, DynamicStrings_String o)
710 nameKey_Name n;
712 if ((DynamicStrings_Length (o)) > 0)
714 return o;
716 else
718 varargs_next (sym, bol);
719 varargs_arg (sym, (unsigned char *) &n, (sizeof (n)-1));
720 return DynamicStrings_ConCat (o, DynamicStrings_InitStringCharStar (nameKey_keyToCharStar (n)));
722 /* static analysis guarentees a RETURN statement will be used before here. */
723 __builtin_unreachable ();
728 doError - creates and returns an error note.
731 static mcError_error doError (mcError_error e, mcMetaError_errorType t, unsigned int tok)
733 switch (t)
735 case mcMetaError_chained:
736 if (e == NULL)
738 mcError_internalError ((const char *) "should not be chaining an error onto an empty error note", 56, (const char *) "../../gcc/m2/mc/mcMetaError.mod", 31, 355);
740 else
742 e = mcError_chainError (tok, e);
744 break;
746 case mcMetaError_newerror:
747 if (e == NULL)
749 e = mcError_newError (tok);
751 break;
753 case mcMetaError_newwarning:
754 if (e == NULL)
756 e = mcError_newWarning (tok);
758 break;
761 default:
762 mcError_internalError ((const char *) "unexpected enumeration value", 28, (const char *) "../../gcc/m2/mc/mcMetaError.mod", 31, 369);
763 break;
765 return e;
766 /* static analysis guarentees a RETURN statement will be used before here. */
767 __builtin_unreachable ();
772 doDeclaredDef - creates an error note where sym[bol] was declared.
775 static mcError_error doDeclaredDef (mcError_error e, mcMetaError_errorType t, unsigned int bol, varargs_vararg sym)
777 decl_node n;
779 if (bol <= (varargs_nargs (sym)))
781 varargs_next (sym, bol);
782 varargs_arg (sym, (unsigned char *) &n, (sizeof (n)-1));
783 e = doError (e, t, decl_getDeclaredDef (n));
785 return e;
786 /* static analysis guarentees a RETURN statement will be used before here. */
787 __builtin_unreachable ();
792 doDeclaredMod - creates an error note where sym[bol] was declared.
795 static mcError_error doDeclaredMod (mcError_error e, mcMetaError_errorType t, unsigned int bol, varargs_vararg sym)
797 decl_node n;
799 if (bol <= (varargs_nargs (sym)))
801 varargs_next (sym, bol);
802 varargs_arg (sym, (unsigned char *) &n, (sizeof (n)-1));
803 e = doError (e, t, decl_getDeclaredMod (n));
805 return e;
806 /* static analysis guarentees a RETURN statement will be used before here. */
807 __builtin_unreachable ();
812 doUsed - creates an error note where sym[bol] was first used.
815 static mcError_error doUsed (mcError_error e, mcMetaError_errorType t, unsigned int bol, varargs_vararg sym)
817 decl_node n;
819 if (bol <= (varargs_nargs (sym)))
821 varargs_next (sym, bol);
822 varargs_arg (sym, (unsigned char *) &n, (sizeof (n)-1));
823 e = doError (e, t, decl_getFirstUsed (n));
825 return e;
826 /* static analysis guarentees a RETURN statement will be used before here. */
827 __builtin_unreachable ();
832 ConCatWord - joins sentances, a, b, together.
835 static DynamicStrings_String ConCatWord (DynamicStrings_String a, DynamicStrings_String b)
837 if (((DynamicStrings_Length (a)) == 1) && ((DynamicStrings_char (a, 0)) == 'a'))
839 a = x (a, DynamicStrings_ConCatChar (a, 'n'));
841 else if ((((DynamicStrings_Length (a)) > 1) && ((DynamicStrings_char (a, -1)) == 'a')) && (isWhite (DynamicStrings_char (a, -2))))
843 /* avoid dangling else. */
844 a = x (a, DynamicStrings_ConCatChar (a, 'n'));
846 if (((DynamicStrings_Length (a)) > 0) && (! (isWhite (DynamicStrings_char (a, -1)))))
848 a = x (a, DynamicStrings_ConCatChar (a, ' '));
850 return x (a, DynamicStrings_ConCat (a, b));
851 /* static analysis guarentees a RETURN statement will be used before here. */
852 __builtin_unreachable ();
857 symDesc -
860 static DynamicStrings_String symDesc (decl_node n, DynamicStrings_String o)
862 if (decl_isLiteral (n))
864 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "literal", 7)));
866 else if (decl_isConstSet (n))
868 /* avoid dangling else. */
870 ELSIF IsConstructor(n)
871 THEN
872 RETURN( ConCatWord (o, Mark (InitString ('constructor'))) )
874 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "constant set", 12)));
876 else if (decl_isConst (n))
878 /* avoid dangling else. */
879 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "constant", 8)));
881 else if (decl_isArray (n))
883 /* avoid dangling else. */
884 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "array", 5)));
886 else if (decl_isVar (n))
888 /* avoid dangling else. */
889 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "variable", 8)));
891 else if (decl_isEnumeration (n))
893 /* avoid dangling else. */
894 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "enumeration type", 16)));
896 else if (decl_isEnumerationField (n))
898 /* avoid dangling else. */
899 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "enumeration field", 17)));
901 else if (decl_isUnbounded (n))
903 /* avoid dangling else. */
904 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "unbounded parameter", 19)));
906 else if (decl_isProcType (n))
908 /* avoid dangling else. */
909 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "procedure type", 14)));
911 else if (decl_isProcedure (n))
913 /* avoid dangling else. */
914 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "procedure", 9)));
916 else if (decl_isPointer (n))
918 /* avoid dangling else. */
919 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "pointer", 7)));
921 else if (decl_isParameter (n))
923 /* avoid dangling else. */
924 if (decl_isVarParam (n))
926 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "var parameter", 13)));
928 else
930 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "parameter", 9)));
933 else if (decl_isType (n))
935 /* avoid dangling else. */
936 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "type", 4)));
938 else if (decl_isRecord (n))
940 /* avoid dangling else. */
941 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "record", 6)));
943 else if (decl_isRecordField (n))
945 /* avoid dangling else. */
946 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "record field", 12)));
948 else if (decl_isVarient (n))
950 /* avoid dangling else. */
951 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "varient record", 14)));
953 else if (decl_isModule (n))
955 /* avoid dangling else. */
956 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "module", 6)));
958 else if (decl_isDef (n))
960 /* avoid dangling else. */
961 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "definition module", 17)));
963 else if (decl_isImp (n))
965 /* avoid dangling else. */
966 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "implementation module", 21)));
968 else if (decl_isSet (n))
970 /* avoid dangling else. */
971 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "set", 3)));
973 else if (decl_isSubrange (n))
975 /* avoid dangling else. */
976 return ConCatWord (o, DynamicStrings_Mark (DynamicStrings_InitString ((const char *) "subrange", 8)));
978 else
980 /* avoid dangling else. */
981 return o;
983 /* static analysis guarentees a RETURN statement will be used before here. */
984 __builtin_unreachable ();
989 doDesc -
992 static DynamicStrings_String doDesc (unsigned int bol, varargs_vararg sym, DynamicStrings_String o, bool *quotes)
994 decl_node n;
996 if ((DynamicStrings_Length (o)) == 0)
998 varargs_next (sym, bol);
999 varargs_arg (sym, (unsigned char *) &n, (sizeof (n)-1));
1000 o = symDesc (n, o);
1001 if ((DynamicStrings_Length (o)) > 0)
1003 (*quotes) = false;
1006 return o;
1007 /* static analysis guarentees a RETURN statement will be used before here. */
1008 __builtin_unreachable ();
1013 addQuoted - if, o, is not empty then add it to, r.
1016 static DynamicStrings_String addQuoted (DynamicStrings_String r, DynamicStrings_String o, bool quotes)
1018 if ((DynamicStrings_Length (o)) > 0)
1020 if (! (isWhite (DynamicStrings_char (r, -1))))
1022 r = x (r, DynamicStrings_ConCatChar (r, ' '));
1024 if (quotes)
1026 r = x (r, DynamicStrings_ConCatChar (r, '\''));
1028 r = x (r, DynamicStrings_ConCat (r, o));
1029 if (quotes)
1031 r = x (r, DynamicStrings_ConCatChar (r, '\''));
1034 return r;
1035 /* static analysis guarentees a RETURN statement will be used before here. */
1036 __builtin_unreachable ();
1041 op := {'a'|'q'|'t'|'d'|'k'|'n'|'s'|'D'|'I'|'U'|'E'|'W'} then =:
1044 static void op (mcError_error *e, mcMetaError_errorType *t, DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l, unsigned int bol, bool positive)
1046 DynamicStrings_String o;
1047 varargs_vararg c;
1048 bool quotes;
1050 c = varargs_copy (sym);
1051 o = DynamicStrings_InitString ((const char *) "", 0);
1052 quotes = true;
1053 while (((*i) < l) && ((DynamicStrings_char (s, (*i))) != '}'))
1055 switch (DynamicStrings_char (s, (*i)))
1057 case 'a':
1058 o = x (o, doName (bol, sym, o, &quotes));
1059 break;
1061 case 'q':
1062 o = x (o, doQualified (bol, sym, o));
1063 break;
1065 case 't':
1066 o = x (o, doType (bol, &sym, o));
1067 break;
1069 case 'd':
1070 o = x (o, doDesc (bol, sym, o, &quotes));
1071 break;
1073 case 'n':
1074 o = x (o, doNumber (bol, sym, o, &quotes));
1075 break;
1077 case 'N':
1078 o = x (o, doCount (bol, sym, o, &quotes));
1079 break;
1081 case 's':
1082 o = x (o, doSkipType (bol, &sym, o));
1083 break;
1085 case 'k':
1086 o = x (o, doKey (bol, sym, o));
1087 break;
1089 case 'D':
1090 (*e) = doDeclaredDef ((*e), (*t), bol, sym);
1091 break;
1093 case 'M':
1094 (*e) = doDeclaredMod ((*e), (*t), bol, sym);
1095 break;
1097 case 'U':
1098 (*e) = doUsed ((*e), (*t), bol, sym);
1099 break;
1101 case 'E':
1102 (*t) = mcMetaError_newerror;
1103 break;
1105 case 'W':
1106 (*t) = mcMetaError_newwarning;
1107 break;
1109 case ':':
1110 varargs_end (&sym);
1111 sym = varargs_copy (c);
1112 then (e, t, r, s, sym, i, l, o, positive);
1113 o = DynamicStrings_KillString (o);
1114 o = DynamicStrings_InitString ((const char *) "", 0);
1115 if (((*i) < l) && ((DynamicStrings_char (s, (*i))) != '}'))
1117 internalFormat (s, (*i), (const char *) "expecting to see }", 18);
1119 (*i) -= 1;
1120 break;
1123 default:
1124 internalFormat (s, (*i), (const char *) "expecting one of [aqtdnNsDUEW:]", 31);
1125 break;
1127 (*i) += 1;
1129 (*r) = x ((*r), addQuoted ((*r), o, quotes));
1130 o = DynamicStrings_KillString (o);
1135 percenttoken := '%' (
1136 '1' % doOperand(1) %
1138 | '2' % doOperand(2) %
1140 | '3' % doOperand(3) %
1142 | '4' % doOperand(4) %
1145 } =:
1148 static void percenttoken (mcError_error *e, mcMetaError_errorType t, DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l, bool positive)
1150 if ((DynamicStrings_char (s, (*i))) == '%')
1152 (*i) += 1;
1153 switch (DynamicStrings_char (s, (*i)))
1155 case '1':
1156 (*i) += 1;
1157 op (e, &t, r, s, sym, i, l, 0, positive);
1158 break;
1160 case '2':
1161 (*i) += 1;
1162 op (e, &t, r, s, sym, i, l, 1, positive);
1163 break;
1165 case '3':
1166 (*i) += 1;
1167 op (e, &t, r, s, sym, i, l, 2, positive);
1168 break;
1170 case '4':
1171 (*i) += 1;
1172 op (e, &t, r, s, sym, i, l, 3, positive);
1173 break;
1176 default:
1177 internalFormat (s, (*i), (const char *) "expecting one of [123]", 22);
1178 break;
1180 if (((*i) < l) && ((DynamicStrings_char (s, (*i))) != '}'))
1182 internalFormat (s, (*i), (const char *) "expecting to see }", 18);
1189 percent := '%' anych % copy anych %
1193 static void percent (DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l)
1195 if ((DynamicStrings_char (s, (*i))) == '%')
1197 (*i) += 1;
1198 if ((*i) < l)
1200 (*r) = x ((*r), DynamicStrings_ConCatChar ((*r), DynamicStrings_char (s, (*i))));
1201 (*i) += 1;
1208 lbra := '{' [ '!' ] percenttoken '}' =:
1211 static void lbra (mcError_error *e, mcMetaError_errorType *t, DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l)
1213 bool positive;
1215 if ((DynamicStrings_char (s, (*i))) == '{')
1217 positive = true;
1218 (*i) += 1;
1219 if ((DynamicStrings_char (s, (*i))) == '!')
1221 positive = false;
1222 (*i) += 1;
1224 if ((DynamicStrings_char (s, (*i))) != '%')
1226 internalFormat (s, (*i), (const char *) "expecting to see %", 18);
1228 percenttoken (e, (*t), r, s, sym, i, l, positive);
1229 if (((*i) < l) && ((DynamicStrings_char (s, (*i))) != '}'))
1231 internalFormat (s, (*i), (const char *) "expecting to see }", 18);
1238 lbra := '{' [ '!' ] percenttoken '}' =:
1241 static void stop (void)
1247 ebnf := { percent
1248 | lbra
1249 | any % copy ch %
1254 static void ebnf (mcError_error *e, mcMetaError_errorType *t, DynamicStrings_String *r, DynamicStrings_String s, varargs_vararg sym, int *i, int l)
1256 while ((*i) < l)
1258 switch (DynamicStrings_char (s, (*i)))
1260 case '%':
1261 percent (r, s, sym, i, l);
1262 break;
1264 case '{':
1265 lbra (e, t, r, s, sym, i, l);
1266 if (((*i) < l) && ((DynamicStrings_char (s, (*i))) != '}'))
1268 internalFormat (s, (*i), (const char *) "expecting to see }", 18);
1270 break;
1272 case '}':
1273 return;
1274 break;
1277 default:
1278 if ((((isWhite (DynamicStrings_char (s, (*i)))) && ((DynamicStrings_Length ((*r))) > 0)) && (! (isWhite (DynamicStrings_char ((*r), -1))))) || (! (isWhite (DynamicStrings_char (s, (*i))))))
1280 (*r) = x ((*r), DynamicStrings_ConCatChar ((*r), DynamicStrings_char (s, (*i))));
1282 break;
1284 (*i) += 1;
1290 doFormat -
1293 static DynamicStrings_String doFormat (mcError_error *e, mcMetaError_errorType *t, DynamicStrings_String s, varargs_vararg sym)
1295 DynamicStrings_String r;
1296 int i;
1297 int l;
1299 r = DynamicStrings_InitString ((const char *) "", 0);
1300 i = 0;
1301 l = DynamicStrings_Length (s);
1302 ebnf (e, t, &r, s, sym, &i, l);
1303 s = DynamicStrings_KillString (s);
1304 return r;
1305 /* static analysis guarentees a RETURN statement will be used before here. */
1306 __builtin_unreachable ();
1311 wrapErrors -
1314 static void wrapErrors (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, varargs_vararg sym)
1316 mcError_error e;
1317 mcError_error f;
1318 DynamicStrings_String str;
1319 mcMetaError_errorType t;
1320 char m1[_m1_high+1];
1321 char m2[_m2_high+1];
1323 /* make a local copy of each unbounded array. */
1324 memcpy (m1, m1_, _m1_high+1);
1325 memcpy (m2, m2_, _m2_high+1);
1327 e = static_cast<mcError_error> (NULL);
1328 t = mcMetaError_newerror;
1329 str = doFormat (&e, &t, DynamicStrings_InitString ((const char *) m1, _m1_high), sym);
1330 e = doError (e, t, tok);
1331 mcError_errorString (e, str);
1332 f = e;
1333 t = mcMetaError_chained;
1334 str = doFormat (&f, &t, DynamicStrings_InitString ((const char *) m2, _m2_high), sym);
1335 if (e == f)
1337 t = mcMetaError_chained;
1338 f = doError (e, t, tok);
1340 mcError_errorString (f, str);
1345 doFormat -
1348 extern "C" void mcMetaError_metaError1 (const char *m_, unsigned int _m_high, const unsigned char *s_, unsigned int _s_high)
1350 char m[_m_high+1];
1351 unsigned char s[_s_high+1];
1353 /* make a local copy of each unbounded array. */
1354 memcpy (m, m_, _m_high+1);
1355 memcpy (s, s_, _s_high+1);
1357 mcMetaError_metaErrorT1 (mcLexBuf_getTokenNo (), (const char *) m, _m_high, (const unsigned char *) s, _s_high);
1362 doFormat -
1365 extern "C" void mcMetaError_metaError2 (const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high)
1367 char m[_m_high+1];
1368 unsigned char s1[_s1_high+1];
1369 unsigned char s2[_s2_high+1];
1371 /* make a local copy of each unbounded array. */
1372 memcpy (m, m_, _m_high+1);
1373 memcpy (s1, s1_, _s1_high+1);
1374 memcpy (s2, s2_, _s2_high+1);
1376 mcMetaError_metaErrorT2 (mcLexBuf_getTokenNo (), (const char *) m, _m_high, (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high);
1381 doFormat -
1384 extern "C" void mcMetaError_metaError3 (const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high)
1386 char m[_m_high+1];
1387 unsigned char s1[_s1_high+1];
1388 unsigned char s2[_s2_high+1];
1389 unsigned char s3[_s3_high+1];
1391 /* make a local copy of each unbounded array. */
1392 memcpy (m, m_, _m_high+1);
1393 memcpy (s1, s1_, _s1_high+1);
1394 memcpy (s2, s2_, _s2_high+1);
1395 memcpy (s3, s3_, _s3_high+1);
1397 mcMetaError_metaErrorT3 (mcLexBuf_getTokenNo (), (const char *) m, _m_high, (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high);
1402 doFormat -
1405 extern "C" void mcMetaError_metaError4 (const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high)
1407 char m[_m_high+1];
1408 unsigned char s1[_s1_high+1];
1409 unsigned char s2[_s2_high+1];
1410 unsigned char s3[_s3_high+1];
1411 unsigned char s4[_s4_high+1];
1413 /* make a local copy of each unbounded array. */
1414 memcpy (m, m_, _m_high+1);
1415 memcpy (s1, s1_, _s1_high+1);
1416 memcpy (s2, s2_, _s2_high+1);
1417 memcpy (s3, s3_, _s3_high+1);
1418 memcpy (s4, s4_, _s4_high+1);
1420 mcMetaError_metaErrorT4 (mcLexBuf_getTokenNo (), (const char *) m, _m_high, (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high, (const unsigned char *) s4, _s4_high);
1425 wrapErrors -
1428 extern "C" void mcMetaError_metaErrors1 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s_, unsigned int _s_high)
1430 char m1[_m1_high+1];
1431 char m2[_m2_high+1];
1432 unsigned char s[_s_high+1];
1434 /* make a local copy of each unbounded array. */
1435 memcpy (m1, m1_, _m1_high+1);
1436 memcpy (m2, m2_, _m2_high+1);
1437 memcpy (s, s_, _s_high+1);
1439 mcMetaError_metaErrorsT1 (mcLexBuf_getTokenNo (), (const char *) m1, _m1_high, (const char *) m2, _m2_high, (const unsigned char *) s, _s_high);
1444 wrapErrors -
1447 extern "C" void mcMetaError_metaErrors2 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high)
1449 char m1[_m1_high+1];
1450 char m2[_m2_high+1];
1451 unsigned char s1[_s1_high+1];
1452 unsigned char s2[_s2_high+1];
1454 /* make a local copy of each unbounded array. */
1455 memcpy (m1, m1_, _m1_high+1);
1456 memcpy (m2, m2_, _m2_high+1);
1457 memcpy (s1, s1_, _s1_high+1);
1458 memcpy (s2, s2_, _s2_high+1);
1460 mcMetaError_metaErrorsT2 (mcLexBuf_getTokenNo (), (const char *) m1, _m1_high, (const char *) m2, _m2_high, (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high);
1465 wrapErrors -
1468 extern "C" void mcMetaError_metaErrors3 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high)
1470 char m1[_m1_high+1];
1471 char m2[_m2_high+1];
1472 unsigned char s1[_s1_high+1];
1473 unsigned char s2[_s2_high+1];
1474 unsigned char s3[_s3_high+1];
1476 /* make a local copy of each unbounded array. */
1477 memcpy (m1, m1_, _m1_high+1);
1478 memcpy (m2, m2_, _m2_high+1);
1479 memcpy (s1, s1_, _s1_high+1);
1480 memcpy (s2, s2_, _s2_high+1);
1481 memcpy (s3, s3_, _s3_high+1);
1483 mcMetaError_metaErrorsT3 (mcLexBuf_getTokenNo (), (const char *) m1, _m1_high, (const char *) m2, _m2_high, (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high);
1488 wrapErrors -
1491 extern "C" void mcMetaError_metaErrors4 (const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high)
1493 char m1[_m1_high+1];
1494 char m2[_m2_high+1];
1495 unsigned char s1[_s1_high+1];
1496 unsigned char s2[_s2_high+1];
1497 unsigned char s3[_s3_high+1];
1498 unsigned char s4[_s4_high+1];
1500 /* make a local copy of each unbounded array. */
1501 memcpy (m1, m1_, _m1_high+1);
1502 memcpy (m2, m2_, _m2_high+1);
1503 memcpy (s1, s1_, _s1_high+1);
1504 memcpy (s2, s2_, _s2_high+1);
1505 memcpy (s3, s3_, _s3_high+1);
1506 memcpy (s4, s4_, _s4_high+1);
1508 mcMetaError_metaErrorsT4 (mcLexBuf_getTokenNo (), (const char *) m1, _m1_high, (const char *) m2, _m2_high, (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high, (const unsigned char *) s4, _s4_high);
1513 doFormat -
1516 extern "C" void mcMetaError_metaErrorT1 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s_, unsigned int _s_high)
1518 char m[_m_high+1];
1519 unsigned char s[_s_high+1];
1521 /* make a local copy of each unbounded array. */
1522 memcpy (m, m_, _m_high+1);
1523 memcpy (s, s_, _s_high+1);
1525 mcMetaError_metaErrorStringT1 (tok, DynamicStrings_InitString ((const char *) m, _m_high), (const unsigned char *) s, _s_high);
1530 doFormat -
1533 extern "C" void mcMetaError_metaErrorT2 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high)
1535 char m[_m_high+1];
1536 unsigned char s1[_s1_high+1];
1537 unsigned char s2[_s2_high+1];
1539 /* make a local copy of each unbounded array. */
1540 memcpy (m, m_, _m_high+1);
1541 memcpy (s1, s1_, _s1_high+1);
1542 memcpy (s2, s2_, _s2_high+1);
1544 mcMetaError_metaErrorStringT2 (tok, DynamicStrings_InitString ((const char *) m, _m_high), (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high);
1549 doFormat -
1552 extern "C" void mcMetaError_metaErrorT3 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high)
1554 char m[_m_high+1];
1555 unsigned char s1[_s1_high+1];
1556 unsigned char s2[_s2_high+1];
1557 unsigned char s3[_s3_high+1];
1559 /* make a local copy of each unbounded array. */
1560 memcpy (m, m_, _m_high+1);
1561 memcpy (s1, s1_, _s1_high+1);
1562 memcpy (s2, s2_, _s2_high+1);
1563 memcpy (s3, s3_, _s3_high+1);
1565 mcMetaError_metaErrorStringT3 (tok, DynamicStrings_InitString ((const char *) m, _m_high), (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high);
1570 doFormat -
1573 extern "C" void mcMetaError_metaErrorT4 (unsigned int tok, const char *m_, unsigned int _m_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high)
1575 char m[_m_high+1];
1576 unsigned char s1[_s1_high+1];
1577 unsigned char s2[_s2_high+1];
1578 unsigned char s3[_s3_high+1];
1579 unsigned char s4[_s4_high+1];
1581 /* make a local copy of each unbounded array. */
1582 memcpy (m, m_, _m_high+1);
1583 memcpy (s1, s1_, _s1_high+1);
1584 memcpy (s2, s2_, _s2_high+1);
1585 memcpy (s3, s3_, _s3_high+1);
1586 memcpy (s4, s4_, _s4_high+1);
1588 mcMetaError_metaErrorStringT4 (tok, DynamicStrings_InitString ((const char *) m, _m_high), (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high, (const unsigned char *) s4, _s4_high);
1593 wrapErrors -
1596 extern "C" void mcMetaError_metaErrorsT1 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s_, unsigned int _s_high)
1598 varargs_vararg sym;
1599 char m1[_m1_high+1];
1600 char m2[_m2_high+1];
1601 unsigned char s[_s_high+1];
1603 /* make a local copy of each unbounded array. */
1604 memcpy (m1, m1_, _m1_high+1);
1605 memcpy (m2, m2_, _m2_high+1);
1606 memcpy (s, s_, _s_high+1);
1608 sym = varargs_start1 ((const unsigned char *) s, _s_high);
1609 wrapErrors (tok, (const char *) m1, _m1_high, (const char *) m2, _m2_high, sym);
1610 varargs_end (&sym);
1615 wrapErrors -
1618 extern "C" void mcMetaError_metaErrorsT2 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high)
1620 varargs_vararg sym;
1621 char m1[_m1_high+1];
1622 char m2[_m2_high+1];
1623 unsigned char s1[_s1_high+1];
1624 unsigned char s2[_s2_high+1];
1626 /* make a local copy of each unbounded array. */
1627 memcpy (m1, m1_, _m1_high+1);
1628 memcpy (m2, m2_, _m2_high+1);
1629 memcpy (s1, s1_, _s1_high+1);
1630 memcpy (s2, s2_, _s2_high+1);
1632 sym = varargs_start2 ((const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high);
1633 wrapErrors (tok, (const char *) m1, _m1_high, (const char *) m2, _m2_high, sym);
1634 varargs_end (&sym);
1639 wrapErrors -
1642 extern "C" void mcMetaError_metaErrorsT3 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high)
1644 varargs_vararg sym;
1645 char m1[_m1_high+1];
1646 char m2[_m2_high+1];
1647 unsigned char s1[_s1_high+1];
1648 unsigned char s2[_s2_high+1];
1649 unsigned char s3[_s3_high+1];
1651 /* make a local copy of each unbounded array. */
1652 memcpy (m1, m1_, _m1_high+1);
1653 memcpy (m2, m2_, _m2_high+1);
1654 memcpy (s1, s1_, _s1_high+1);
1655 memcpy (s2, s2_, _s2_high+1);
1656 memcpy (s3, s3_, _s3_high+1);
1658 sym = varargs_start3 ((const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high);
1659 wrapErrors (tok, (const char *) m1, _m1_high, (const char *) m2, _m2_high, sym);
1660 varargs_end (&sym);
1665 wrapErrors -
1668 extern "C" void mcMetaError_metaErrorsT4 (unsigned int tok, const char *m1_, unsigned int _m1_high, const char *m2_, unsigned int _m2_high, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high)
1670 varargs_vararg sym;
1671 char m1[_m1_high+1];
1672 char m2[_m2_high+1];
1673 unsigned char s1[_s1_high+1];
1674 unsigned char s2[_s2_high+1];
1675 unsigned char s3[_s3_high+1];
1676 unsigned char s4[_s4_high+1];
1678 /* make a local copy of each unbounded array. */
1679 memcpy (m1, m1_, _m1_high+1);
1680 memcpy (m2, m2_, _m2_high+1);
1681 memcpy (s1, s1_, _s1_high+1);
1682 memcpy (s2, s2_, _s2_high+1);
1683 memcpy (s3, s3_, _s3_high+1);
1684 memcpy (s4, s4_, _s4_high+1);
1686 sym = varargs_start4 ((const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high, (const unsigned char *) s4, _s4_high);
1687 wrapErrors (tok, (const char *) m1, _m1_high, (const char *) m2, _m2_high, sym);
1688 varargs_end (&sym);
1693 wrapErrors -
1696 extern "C" void mcMetaError_metaErrorString1 (DynamicStrings_String m, const unsigned char *s_, unsigned int _s_high)
1698 unsigned char s[_s_high+1];
1700 /* make a local copy of each unbounded array. */
1701 memcpy (s, s_, _s_high+1);
1703 mcMetaError_metaErrorStringT1 (mcLexBuf_getTokenNo (), m, (const unsigned char *) s, _s_high);
1708 wrapErrors -
1711 extern "C" void mcMetaError_metaErrorString2 (DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high)
1713 unsigned char s1[_s1_high+1];
1714 unsigned char s2[_s2_high+1];
1716 /* make a local copy of each unbounded array. */
1717 memcpy (s1, s1_, _s1_high+1);
1718 memcpy (s2, s2_, _s2_high+1);
1720 mcMetaError_metaErrorStringT2 (mcLexBuf_getTokenNo (), m, (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high);
1725 wrapErrors -
1728 extern "C" void mcMetaError_metaErrorString3 (DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high)
1730 unsigned char s1[_s1_high+1];
1731 unsigned char s2[_s2_high+1];
1732 unsigned char s3[_s3_high+1];
1734 /* make a local copy of each unbounded array. */
1735 memcpy (s1, s1_, _s1_high+1);
1736 memcpy (s2, s2_, _s2_high+1);
1737 memcpy (s3, s3_, _s3_high+1);
1739 mcMetaError_metaErrorStringT3 (mcLexBuf_getTokenNo (), m, (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high);
1744 wrapErrors -
1747 extern "C" void mcMetaError_metaErrorString4 (DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high)
1749 unsigned char s1[_s1_high+1];
1750 unsigned char s2[_s2_high+1];
1751 unsigned char s3[_s3_high+1];
1752 unsigned char s4[_s4_high+1];
1754 /* make a local copy of each unbounded array. */
1755 memcpy (s1, s1_, _s1_high+1);
1756 memcpy (s2, s2_, _s2_high+1);
1757 memcpy (s3, s3_, _s3_high+1);
1758 memcpy (s4, s4_, _s4_high+1);
1760 mcMetaError_metaErrorStringT4 (mcLexBuf_getTokenNo (), m, (const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high, (const unsigned char *) s4, _s4_high);
1765 doFormat -
1768 extern "C" void mcMetaError_metaErrorStringT1 (unsigned int tok, DynamicStrings_String m, const unsigned char *s_, unsigned int _s_high)
1770 DynamicStrings_String str;
1771 mcError_error e;
1772 varargs_vararg sym;
1773 mcMetaError_errorType t;
1774 unsigned char s[_s_high+1];
1776 /* make a local copy of each unbounded array. */
1777 memcpy (s, s_, _s_high+1);
1779 e = static_cast<mcError_error> (NULL);
1780 sym = varargs_start1 ((const unsigned char *) s, _s_high);
1781 t = mcMetaError_newerror;
1782 str = doFormat (&e, &t, m, sym);
1783 e = doError (e, t, tok);
1784 mcError_errorString (e, str);
1785 varargs_end (&sym);
1790 doFormat -
1793 extern "C" void mcMetaError_metaErrorStringT2 (unsigned int tok, DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high)
1795 DynamicStrings_String str;
1796 mcError_error e;
1797 varargs_vararg sym;
1798 mcMetaError_errorType t;
1799 unsigned char s1[_s1_high+1];
1800 unsigned char s2[_s2_high+1];
1802 /* make a local copy of each unbounded array. */
1803 memcpy (s1, s1_, _s1_high+1);
1804 memcpy (s2, s2_, _s2_high+1);
1806 e = static_cast<mcError_error> (NULL);
1807 sym = varargs_start2 ((const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high);
1808 t = mcMetaError_newerror;
1809 str = doFormat (&e, &t, m, sym);
1810 e = doError (e, t, tok);
1811 mcError_errorString (e, str);
1812 varargs_end (&sym);
1817 doFormat -
1820 extern "C" void mcMetaError_metaErrorStringT3 (unsigned int tok, DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high)
1822 DynamicStrings_String str;
1823 mcError_error e;
1824 varargs_vararg sym;
1825 mcMetaError_errorType t;
1826 unsigned char s1[_s1_high+1];
1827 unsigned char s2[_s2_high+1];
1828 unsigned char s3[_s3_high+1];
1830 /* make a local copy of each unbounded array. */
1831 memcpy (s1, s1_, _s1_high+1);
1832 memcpy (s2, s2_, _s2_high+1);
1833 memcpy (s3, s3_, _s3_high+1);
1835 e = static_cast<mcError_error> (NULL);
1836 sym = varargs_start3 ((const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high);
1837 t = mcMetaError_newerror;
1838 str = doFormat (&e, &t, m, sym);
1839 e = doError (e, t, tok);
1840 mcError_errorString (e, str);
1841 varargs_end (&sym);
1846 doFormat -
1849 extern "C" void mcMetaError_metaErrorStringT4 (unsigned int tok, DynamicStrings_String m, const unsigned char *s1_, unsigned int _s1_high, const unsigned char *s2_, unsigned int _s2_high, const unsigned char *s3_, unsigned int _s3_high, const unsigned char *s4_, unsigned int _s4_high)
1851 DynamicStrings_String str;
1852 mcError_error e;
1853 varargs_vararg sym;
1854 mcMetaError_errorType t;
1855 unsigned char s1[_s1_high+1];
1856 unsigned char s2[_s2_high+1];
1857 unsigned char s3[_s3_high+1];
1858 unsigned char s4[_s4_high+1];
1860 /* make a local copy of each unbounded array. */
1861 memcpy (s1, s1_, _s1_high+1);
1862 memcpy (s2, s2_, _s2_high+1);
1863 memcpy (s3, s3_, _s3_high+1);
1864 memcpy (s4, s4_, _s4_high+1);
1866 e = static_cast<mcError_error> (NULL);
1867 sym = varargs_start4 ((const unsigned char *) s1, _s1_high, (const unsigned char *) s2, _s2_high, (const unsigned char *) s3, _s3_high, (const unsigned char *) s4, _s4_high);
1868 t = mcMetaError_newerror;
1869 str = doFormat (&e, &t, m, sym);
1870 e = doError (e, t, tok);
1871 mcError_errorString (e, str);
1872 varargs_end (&sym);
1875 extern "C" void _M2_mcMetaError_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[])
1879 extern "C" void _M2_mcMetaError_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[])