#include "M3Runtime.h" typedef struct { int tc; char* str; int len; } TXT; PRIVATE TXT txt1 = { 3, "<<<>>>", 17}; PRIVATE TXT txt3 = { 3, "PRIVATE struct {\001\012", 19}; PRIVATE TXT txt4 = { 3, "char header [@];\012", 18}; PRIVATE TXT txt5 = { 3, "int timestamp;\012", 16}; PRIVATE TXT txt6 = { 3, "int fileLen;\012", 14}; PRIVATE TXT txt7 = { 3, "char file [@];\012", 16}; PRIVATE TXT txt8 = { 3, "int firstLine;\012", 16}; PRIVATE TXT txt9 = { 3, "int nLines;\012", 13}; PRIVATE TXT txt10 = { 3, "int lines[@];\012", 15}; PRIVATE TXT txt11 = { 3, "int nProcs;\012", 13}; PRIVATE TXT txt12 = { 3, "int len@;\012", 12}; PRIVATE TXT txt13 = { 3, "char name@ [@];\012", 17}; PRIVATE TXT txt14 = { 3, "int cnt_@;", 12}; PRIVATE TXT txt15 = { 3, "char trailer [@];\012", 19}; PRIVATE TXT txt16 = { 3, "\002} coverage = {\001\012", 18}; PRIVATE TXT txt17 = { 3, "@, /* timestamp */\012", 20}; PRIVATE TXT txt18 = { 3, "@, /* fileLen */\012", 18}; PRIVATE TXT txt19 = { 3, "@, /* firstLine */\012", 20}; PRIVATE TXT txt20 = { 3, "@, /* nLines */\012", 17}; PRIVATE TXT txt21 = { 3, "{\001 /* lines */\012", 16}; PRIVATE TXT txt22 = { 3, "0,\012", 4}; PRIVATE TXT txt23 = { 3, "-1,\012", 5}; PRIVATE TXT txt24 = { 3, "\002}, /* lines */\012", 17}; PRIVATE TXT txt25 = { 3, "@, /* nProcs */\012", 17}; PRIVATE TXT txt26 = { 3, "@, /* len@ */\012", 15}; PRIVATE TXT txt27 = { 3, "\002};", 4}; PRIVATE TXT txt28 = { 3, "coverage.lines[@]++;\012", 22}; PRIVATE TXT txt29 = { 3, "coverage.cnt_@++;\012", 19}; PRIVATE TXT txt30 = { 3, "{ @", 4}; PRIVATE TXT txt31 = { 3, ",0", 3}; PRIVATE TXT txt32 = { 3, "},\012", 4}; #line 18 "Coverage.m3" #define t6 ADDRESS #define t119 ADDRESS #define t122 void typedef struct { TYPE self; int private; } t119_methods; #define t119_msize (sizeof (t119_methods)) typedef struct { ADDRESS methods; } t119_fields; #define t119_size (sizeof (t119_fields)) #define TC119 TC_UNTRACED_ROOT IMPORT TYPE TC_UNTRACED_ROOT; IMPORT char VS_UNTRACED_ROOT__3e0964513fd6da20; #line 15 "./M3.i3" #define t1 ADDRESS #define TC1 TC_M3__Value IMPORT TYPE TC_M3__Value; #line 15 IMPORT char VS_M3__Value__6f64cf9c2cae25fb; #line 15 "Coverage.m3" typedef struct { t6 _next; t1 _proc; } t10; PRIVATE void t6_MapProc (); PRIVATE void t6_PrintProc (); PRIVATE typecell t6_TC; PRIVATE typecell t6_TC_init = {0, 0, 0, 0, 0, t6_MapProc, #line 18 8, 0, NIL, 0, 0, (PROC)NIL, (PROC)NIL, t6_PrintProc, "", -595786565, 609839415}; PRIVATE TYPE TC6 = &t6_TC; #line 50 #define t7 ADDRESS typedef unsigned char t8; #line 116 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef struct { char* elts; int size[1]; } t108; #line 50 "Coverage.m3" #define t9 t108 PRIVATE void t7_PrintProc (); #line 50 PRIVATE typecell t7_TC; PRIVATE typecell t7_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, -2, 0, NIL, 1, 1, (PROC)NIL, (PROC)NIL, t7_PrintProc, #line 50 "", 1250391734, 1067847575}; PRIVATE TYPE TC7 = &t7_TC; #define t12 ADDRESS typedef int t4; #define TC12 TC_ADDRESS IMPORT TYPE TC_ADDRESS; IMPORT char VS_ADDRESS__30f7308738738b44; #line 48 ".ROOT/.boots/corelib/Interfaces/M3toC.i3" #define t13 ADDRESS typedef unsigned char t14; #line 48 #define t11 t108 typedef struct { t12 elts[256]; } t15; #line 48 #define TC13 TC_M3toC__Argv IMPORT TYPE TC_M3toC__Argv; #line 48 IMPORT char VS_M3toC__Argv__01eb9fa23b3b0c10; #line 17 ".ROOT/.boots/corelib/Interfaces/Ctypes.i3" #define t16 ADDRESS typedef double t39; #line 17 #define TC16 TC_Ctypes__DoubleStar IMPORT TYPE TC_Ctypes__DoubleStar; #line 17 IMPORT char VS_Ctypes__DoubleStar__09a97cc036088f62; #line 33 #define t18 ADDRESS typedef float t20; #line 33 #define TC18 TC_Ctypes__FloatStar IMPORT TYPE TC_Ctypes__FloatStar; #line 33 IMPORT char VS_Ctypes__FloatStar__6c7e0b722780a93f; #line 63 #define t26 ADDRESS typedef short t46; typedef unsigned char t45; #line 63 #define t25 t108 typedef struct { t45 elts[4096]; } t47; #line 63 #define TC26 TC_Ctypes__String4096 IMPORT TYPE TC_Ctypes__String4096; #line 63 IMPORT char VS_Ctypes__String4096__8d2ce04b3a64ff9f; #line 62 #define t27 ADDRESS typedef short t48; #line 62 typedef struct { t45 elts[1024]; } t49; #define TC27 TC_Ctypes__String1024 IMPORT TYPE TC_Ctypes__String1024; #line 62 IMPORT char VS_Ctypes__String1024__85fe08042cc88853; #line 61 #define t28 ADDRESS typedef struct { t45 elts[256]; } t50; #line 61 #define TC28 TC_Ctypes__String256 IMPORT TYPE TC_Ctypes__String256; #line 61 IMPORT char VS_Ctypes__String256__e84eeb8129c76f43; #line 60 #define t29 ADDRESS typedef signed_char t51; #line 60 typedef struct { t45 elts[64]; } t52; #define TC29 TC_Ctypes__String64 IMPORT TYPE TC_Ctypes__String64; #line 60 IMPORT char VS_Ctypes__String64__e232939e2f4ff601; #line 59 #define t30 ADDRESS typedef signed_char t53; #line 59 typedef struct { t45 elts[16]; } t54; #define TC30 TC_Ctypes__String16 IMPORT TYPE TC_Ctypes__String16; #line 59 IMPORT char VS_Ctypes__String16__46fccbf225a113eb; #line 58 #define t31 ADDRESS typedef signed_char t55; #line 58 typedef struct { t45 elts[4]; } t56; #define TC31 TC_Ctypes__String4 IMPORT TYPE TC_Ctypes__String4; #line 58 IMPORT char VS_Ctypes__String4__1ecbc452350ba764; #line 52 #define t32 ADDRESS typedef unsigned short t33; #line 52 #define TC32 TC_Ctypes__UnsignedShortStar IMPORT TYPE TC_Ctypes__UnsignedShortStar; #line 52 IMPORT char VS_Ctypes__UnsignedShortStar__ba7321c22f5477f7; #line 50 #define t34 ADDRESS #define t35 ADDRESS typedef short t36; #line 49 #define TC35 TC_Ctypes__ShortStar IMPORT TYPE TC_Ctypes__ShortStar; #line 49 IMPORT char VS_Ctypes__ShortStar__ceeffab3338d5be6; #define TC34 TC_Ctypes__ShortStarStar IMPORT TYPE TC_Ctypes__ShortStarStar; #line 50 IMPORT char VS_Ctypes__ShortStarStar__1827fd6f22a4a56a; #line 46 #define t37 ADDRESS #define TC37 TC_Ctypes__IntStar IMPORT TYPE TC_Ctypes__IntStar; #line 46 IMPORT char VS_Ctypes__IntStar__e39a77b6392d7c83; #line 44 #define t38 ADDRESS #define TC38 TC_Ctypes__IntStarStar IMPORT TYPE TC_Ctypes__IntStarStar; #line 44 IMPORT char VS_Ctypes__IntStarStar__a46afe5b32b9d475; #line 26 #define t40 ADDRESS #define TC40 TC_Ctypes__UnsignedCharStar IMPORT TYPE TC_Ctypes__UnsignedCharStar; #line 26 IMPORT char VS_Ctypes__UnsignedCharStar__5ba21f95225c580b; #define t41 ADDRESS #define TC41 TC_Ctypes__UnsignedCharStarStar IMPORT TYPE TC_Ctypes__UnsignedCharStarStar; #line 27 IMPORT char VS_Ctypes__UnsignedCharStarStar__64970e213b9e555a; #line 24 #define t42 ADDRESS #define t43 ADDRESS #define TC43 TC_Ctypes__CharStarStar IMPORT TYPE TC_Ctypes__CharStarStar; #line 23 IMPORT char VS_Ctypes__CharStarStar__5cd33554337263a0; #define TC42 TC_Ctypes__CharStarStarStar IMPORT TYPE TC_Ctypes__CharStarStarStar; #line 24 IMPORT char VS_Ctypes__CharStarStarStar__a792f1ad3925ee76; #line 17 "./Scope.i3" #define t70 ADDRESS #define t73 t108 #define TC70 TC_Scope__ValueList IMPORT TYPE TC_Scope__ValueList; #line 17 IMPORT char VS_Scope__ValueList__64bf053e22e4e53c; #line 16 "../Interfaces/Type.i3" #define t76 ADDRESS #define t97 t108 #define TC76 TC_Type__Map IMPORT TYPE TC_Type__Map; #line 16 IMPORT char VS_Type__Map__41dd9f4b33104fce; #line 14 "../Interfaces/Expr.i3" #define t79 ADDRESS #define t74 ADDRESS #define TC74 TC_M3__Expr IMPORT TYPE TC_M3__Expr; #line 16 "./M3.i3" IMPORT char VS_M3__Expr__8ae39aaa2d432477; #line 14 "../Interfaces/Expr.i3" #define t80 t108 #define TC79 TC_Expr__List IMPORT TYPE TC_Expr__List; #line 14 IMPORT char VS_Expr__List__3f87eceb2b9a246a; #define t90 ADDRESS #define TC90 TC_REFANY IMPORT TYPE TC_REFANY; IMPORT char VS_REFANY__4b8748e831fc107a; #line 17 "../Interfaces/Type.i3" #define t100 ADDRESS #define t66 ADDRESS #define TC66 TC_M3__Type IMPORT TYPE TC_M3__Type; #line 18 "./M3.i3" IMPORT char VS_M3__Type__4d87bc25311f81d2; #line 17 "../Interfaces/Type.i3" typedef struct { t100 _next; t66 _type; } t101; #define TC100 TC_Type__List IMPORT TYPE TC_Type__List; #line 17 IMPORT char VS_Type__List__5791758e343becc1; #define t123 ADDRESS #define TC123 TC_NULL IMPORT TYPE TC_NULL; IMPORT char VS_NULL__fb50c7d53bec30dc; #line 154 "Coverage.m3" typedef t122 (*t2)(); #line 13 "./String.i3" #define t3 ADDRESS #define TC3 TC_String__T IMPORT TYPE TC_String__T; #line 13 IMPORT char VS_String__T__3a6c7dc12615e4ee; #line 130 "Coverage.m3" typedef t4 (*t5)(); #line 43 ".ROOT/.boots/corelib/Interfaces/M3toC.i3" typedef t16 (*t17)(); #line 40 typedef t18 (*t19)(); #line 37 typedef t20 (*t21)(); #line 31 typedef t12 (*t22)(); #define t23 ADDRESS #define TC23 TC_TEXT IMPORT TYPE TC_TEXT; IMPORT char VS_TEXT__b7a92447326386f5; #define t23_MapProc TC_TEXT->mapProc typedef t23 (*t24)(); #line 19 ".ROOT/.boots/corelib/Interfaces/Ctypes.i3" typedef signed_char t44; #line 14 "./String.i3" typedef struct { t3 _module; t3 _item; } t57; #line 27 "./Emit.i3" typedef signed_char t58; #line 63 typedef t58 (*t59)(); #line 19 "./String.i3" typedef signed_char t104; #line 65 "./Token.i3" #define t102 t108 typedef struct { t3 elts[100]; } t105; #line 17 "./String.i3" typedef struct { t4 _top; t105 _stk; } t60; #line 19 "./M3.i3" #define t61 ADDRESS #define TC61 TC_M3__Temp IMPORT TYPE TC_M3__Temp; #line 19 IMPORT char VS_M3__Temp__450b691937f03dae; #line 16 "../Interfaces/Variable.i3" #define t62 ADDRESS #define TC62 TC_Variable__T IMPORT TYPE TC_Variable__T; #line 16 IMPORT char VS_Variable__T__be7ead4a3afd8be5; #line 14 "./M3.i3" #define t63 ADDRESS #define TC63 TC_M3__Scope IMPORT TYPE TC_M3__Scope; #line 14 IMPORT char VS_M3__Scope__6e6d8848308d8a2d; #line 38 "../Interfaces/Variable.i3" typedef t61 (*t64)(); #line 33 typedef t8 (*t65)(); #line 24 typedef t62 (*t67)(); #line 14 "../Interfaces/Decl.i3" typedef struct { t3 _alias; t8 _isExternal; t8 _isInline; t8 _isUnused; t8 _isObsolete; } t68; #line 15 "./Token.i3" typedef unsigned char t83; #line 45 typedef struct { int elts[4]; } t69; #line 38 "./Scope.i3" typedef t1 (*t71)(); #line 31 typedef t63 (*t72)(); #define t91 ADDRESS typedef struct { TYPE self; int private; } t91_methods; #define t91_msize (sizeof (t91_methods)) typedef struct { ADDRESS methods; } t91_fields; #define t91_size (sizeof (t91_fields)) #define TC91 TC_ROOT IMPORT TYPE TC_ROOT; IMPORT char VS_ROOT__349f58f628be0ac6; #define t91_MapProc TC_ROOT->mapProc #define t75 ADDRESS #define TC75 TC_Wr__T IMPORT TYPE TC_Wr__T; #line 90 ".ROOT/.boots/corelib/Interfaces/Wr.i3" IMPORT char VS_Wr__T__2555b70b3f7780b1; #define t75_MapProc TC_Wr__T->mapProc typedef t74 (*t77)(); #line 31 "../Interfaces/Expr.i3" typedef t66 (*t78)(); #line 83 ".ROOT/.boots/corelib/Interfaces/Rd.i3" #define t81 ADDRESS #define TC81 TC_Rd__T IMPORT TYPE TC_Rd__T; #line 83 IMPORT char VS_Rd__T__2555b70b3f7780b1; #define t81_MapProc TC_Rd__T->mapProc typedef t3 (*t82)(); #line 13 "./Scanner.i3" typedef struct { t83 _token; t3 _string; t4 _value; t4 _offset; } t84; #line 33 "./Host.i3" typedef t81 (*t85)(); typedef int t86; #line 249 ".ROOT/.boots/corelib/Interfaces/Rd.i3" typedef t86 (*t87)(); #line 92 typedef t45 (*t88)(); #line 84 typedef unsigned char t89; #line 18 "../Interfaces/Value.i3" typedef unsigned char t92; #line 43 "../Interfaces/ValueRep.i3" typedef t92 (*t93)(); #line 15 ".ROOT/.boots/corelib/Interfaces/FPrint.i3" typedef struct { t4 elts[2]; } t94; #line 16 "../Interfaces/ValueRep.i3" typedef t8 t95; #define t96 ADDRESS #line 19 typedef struct { t2 _bind; t2 _typeCheck; t93 _class; t2 _fingerprint; t64 _load; t2 _write; t71 _select; t65 _declare0; t2 _declare1; #line 19 t2 _declare2; t65 _needsDecl; t77 _toExpr; t78 _toType; } t96_methods; #define t96_msize (sizeof (t96_methods)) typedef struct { #line 19 t4 _origin; t3 _name; t3 _extName; t63 _scope; t66 _type; unsigned _checked : 1; unsigned _incheck : 1; unsigned _readonly : 1; #line 19 unsigned _declared : 1; unsigned _bound : 1; unsigned _compiled : 1; unsigned _imported : 1; unsigned _exported : 1; unsigned _external : 1; #line 19 unsigned _used : 1; unsigned _usedAtTop : 1; unsigned _unused : 1; unsigned _obsolete : 1; unsigned _inFrame : 1; t94 _fprint; #line 19 } t96_fields; #define t96_size (sizeof (t96_fields)) #define TC96 TC_M3__Value typedef void (*t98)(); #line 121 "../Interfaces/Type.i3" typedef t76 (*t99)(); #line 65 "./Token.i3" typedef struct { t3 elts[97]; } t103; #line 67 ".ROOT/.boots/corelib/Interfaces/Text.i3" typedef signed_char t106; typedef t106 (*t107)(); #line 91 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef unsigned char t109; #line 15 ".ROOT/.boots/corelib/Interfaces/Thread.i3" #define t110 ADDRESS #define TC110 TC_Thread__T IMPORT TYPE TC_Thread__T; #line 15 IMPORT char VS_Thread__T__2555b70b3f7780b1; #define t110_MapProc TC_Thread__T->mapProc typedef t90 (*t111)(); #define t112 ADDRESS #define TC112 TC_Thread__Condition IMPORT TYPE TC_Thread__Condition; #line 21 IMPORT char VS_Thread__Condition__26d5968239e08f4e; #define t112_MapProc TC_Thread__Condition->mapProc #define t113 ADDRESS #define TC113 TC_MUTEX IMPORT TYPE TC_MUTEX; IMPORT char VS_MUTEX__1f9d4e89391ab815; #define t113_MapProc TC_MUTEX->mapProc typedef t110 (*t114)(); #line 23 #define t115 ADDRESS #line 23 typedef struct { t111 _apply; } t115_methods; #define t115_msize (sizeof (t115_methods)) typedef struct { #line 23 int filler; } t115_fields; #define t115_size (sizeof (t115_fields)) #define TC115 TC_Thread__Closure IMPORT TYPE TC_Thread__Closure; #line 23 IMPORT char VS_Thread__Closure__7fb5c6232c5a658a; #define t115_MapProc TC_Thread__Closure->mapProc typedef t112 (*t116)(); typedef t113 (*t117)(); #line 28 #define t118 ADDRESS #line 28 typedef struct { int filler; } t118_methods; #define t118_msize (sizeof (t118_methods)) typedef struct { #line 28 t86 _stackSize; } t118_fields; #define t118_size (sizeof (t118_fields)) #define TC118 TC_Thread__SizedClosure IMPORT TYPE TC_Thread__SizedClosure; #line 28 IMPORT char VS_Thread__SizedClosure__8a46717d2eae7b07; #define t118_MapProc TC_Thread__SizedClosure->mapProc #define t120 ADDRESS #define TC120 TC_M3__Stmt IMPORT TYPE TC_M3__Stmt; #line 17 "./M3.i3" IMPORT char VS_M3__Stmt__376b307627fc1f2f; typedef CLOSURE t121; #line 9 "Coverage.m3" IMPORT INITLINK* M3toC__init; IMPORT INITLINK* Target__init; IMPORT INITLINK* Error__init; IMPORT INITLINK* Emit__init; IMPORT INITLINK* String__init; #line 9 IMPORT INITLINK* Scanner__init; IMPORT INITLINK* Host__init; IMPORT INITLINK* ValueRep__init; IMPORT INITLINK* Value__init; #line 9 IMPORT INITLINK* Coverage__init; IMPORT char VS_Target__INTSIZE__6d9548032b40710f; IMPORT char VS_Target__CHARSIZE__bfc83af22ccab4e4; #line 9 IMPORT char VS_Emit__MaxStream__cf0a0e8934c9c9f3; IMPORT TYPE TC_Emit__Format; IMPORT char VS_Emit__Format__bc4a2b083b93bbd7; #line 9 IMPORT t122 _Emit__Op (); IMPORT char VS_Emit__Op__072646cc27c8ae10; IMPORT t122 _Emit__OpQ (); IMPORT char VS_Emit__OpQ__defdd50e3dd4bbd5; #line 9 IMPORT t122 _Emit__OpI (); IMPORT char VS_Emit__OpI__02cb878634bb9f49; IMPORT t122 _Emit__OpII (); IMPORT char VS_Emit__OpII__2247fe46332f901b; #line 9 IMPORT t122 _Emit__OpN (); IMPORT char VS_Emit__OpN__a3f6e37c396e144c; IMPORT t3 _String__Add (); IMPORT char VS_String__Add__0f5e21cc3d204b63; #line 9 IMPORT t4 _String__Length (); IMPORT char VS_String__Length__75f8af7a37a956d2; IMPORT t122 _Scanner__Here (); IMPORT char VS_Scanner__Here__1284254c3cfdbf9f; #line 9 IMPORT t3 _Host__filename; IMPORT char VS_Host__filename__22e443082eed9cdf; IMPORT t8 _Host__coverage; IMPORT char VS_Host__coverage__7e5b007739b6f6cf; #line 9 IMPORT TYPE TC_ValueRep__V; IMPORT char VS_ValueRep__V__f28699153c608442; IMPORT t1 _ValueRep__NoDuplicates (); IMPORT char VS_ValueRep__NoDuplicates__ed93f73a247eb7b4; #line 9 IMPORT t74 _ValueRep__NoExpr (); IMPORT char VS_ValueRep__NoExpr__1297c63d2e046c2c; IMPORT t66 _ValueRep__NoType (); IMPORT char VS_ValueRep__NoType__4061f01226f55ca3; #line 9 IMPORT t61 _ValueRep__NoLoader (); IMPORT char VS_ValueRep__NoLoader__9a7f0c5b24f526c1; IMPORT t122 _ValueRep__NoWriter (); #line 9 IMPORT char VS_ValueRep__NoWriter__3b24d43c367f7122; IMPORT t122 _ValueRep__NoDeclarer (); IMPORT char VS_ValueRep__NoDeclarer__22db283420635bde; #line 9 IMPORT t8 _ValueRep__Never (); IMPORT char VS_ValueRep__Never__39b6ab0628d97589; IMPORT t8 _ValueRep__Always (); IMPORT char VS_ValueRep__Always__1b0a9bbf2173b8b3; #line 9 IMPORT TYPE TC_Value__T; IMPORT char VS_Value__T__2446b70b3f7780a5; EXPORT t122 _Coverage__NoteLine (); EXPORT char VS_Coverage__NoteLine__14fd2ee22e80c599 = '\0'; #line 9 EXPORT t122 _Coverage__NoteProcedure (); EXPORT char VS_Coverage__NoteProcedure__d23bd2312aba3946 = '\0'; EXPORT t122 _Coverage__GenerateTables (); #line 9 EXPORT char VS_Coverage__GenerateTables__d7c498fb2086c132 = '\0'; EXPORT t122 _Coverage__CountLine (); EXPORT char VS_Coverage__CountLine__819fe4343baeb75a = '\0'; #line 9 EXPORT t122 _Coverage__CountProcedure (); EXPORT char VS_Coverage__CountProcedure__41da494022db3d5e = '\0'; PRIVATE TYPE TC_Coverage__ProcHead; #line 9 PRIVATE t4 _Coverage__minLine; PRIVATE t4 _Coverage__maxLine; PRIVATE t7 _Coverage__used; PRIVATE t6 _Coverage__procs; PRIVATE t4 _Coverage__nProcs; #line 9 PRIVATE t122 _Coverage__Expand (); PRIVATE t4 _Coverage__SLen (); PRIVATE t122 _Coverage__EmitChars (); IMPORT char VS_M3__Value__c975bdb53a08f518; #line 9 void Coverage__MMap (p) void (*p) (); { ADDRESS r = NIL; ADDRESS c = NIL; CHECKSTACKOVERFLOW; p (& (_Coverage__used), r, c); #line 9 p (& (_Coverage__procs), r, c); }; #line 32 "Coverage.m3" EXPORT t122 _Coverage__NoteLine () { t8 z1; t8 z2; t4 z3; t4 z4; t8 z0; t7 z5; t4 z6; #line 32 "Coverage.m3" { auto t4 _line; auto t3 _file; { CHECKSTACKOVERFLOW; z1 = ! _Host__coverage; if (z1) { return; }; _Scanner__Here (&_file, &_line); z2 = (_line > 100000 ); if (z2) { return; }; z2 = (_file != _Host__filename); if (z2) { return; }; z3 = _Coverage__minLine; z4 = _line; if (z3 > z4) z3 = z4; _Coverage__minLine = z3; z3 = _Coverage__maxLine; z4 = _line; if (z3 < z4) z3 = z4; _Coverage__maxLine = z3; z2 = (_Coverage__used == 0); z0 = 1; if (! z2) { NILCHECKB (z5 = _Coverage__used); z3 = (*((t9*) z5)).size[0] - 1; z2 = (z3 < _line); #line 41 z0 = z2; }; if (z0) do { _Coverage__Expand (); z2 = (_Coverage__used == 0); z0 = 1; if (! z2) { NILCHECKB (z5 = _Coverage__used); #line 41 z3 = (*((t9*) z5)).size[0] - 1; z2 = (z3 < _line); z0 = z2; }; } while (z0); NILCHECKB (z5 = _Coverage__used); z3 = _line; if (z3 < 0) RANGEFAULT; { register t108* array = & (*((t9*) z5)); z6 = z3; #line 42 if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 1)); }; (*(t8*)z4) = 1 ; } } }; #line 45 "Coverage.m3" PRIVATE t122 _Coverage__Expand () { t8 z2; t7 z0; t86 z3; t7 z4; t4 z5; t4 z1; t4 z6; t4 z7; #line 45 "Coverage.m3" { { CHECKSTACKOVERFLOW; z2 = (_Coverage__used == 0); if (z2) { { register t108* ptr; int sz[1]; sz[0] = 100 ; ptr = (t108*) TNEWA(TC7, 8 + sz[0] * 1); ptr->elts = (char*)(& ptr->size[1]); #line 48 ptr->size[0] = sz[0]; z0 = (t7) ptr; }; _Coverage__used = z0; goto if_4_end; }; { t7 with; { register t108* ptr; int sz[1]; NILCHECKB (z4 = _Coverage__used); z3 = (*((t9*) z4)).size[0]; z5 = 2 * z3; #line 50 sz[0] = z5; ptr = (t108*) TNEWA(TC7, 8 + sz[0] * 1); ptr->elts = (char*)(& ptr->size[1]); ptr->size[0] = sz[0]; #line 50 z0 = (t7) ptr; }; with = z0; { auto t7 _new; { ZERO1 (& _new); _new = with; { int from, to, index; from = 0 ; NILCHECKB (z4 = _Coverage__used); z1 = (*((t9*) z4)).size[0] - 1; to = z1; #line 51 { auto t4 _i; { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKB (z4 = _Coverage__used); #line 51 { register t108* array = & (*((t9*) z4)); z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z5 = (int)(array->elts + (z6 * 1)); #line 51 }; NILCHECKB (z4 = _new); { register t108* array = & (*((t9*) z4)); z7 = _i; if (z7 >= (array->size[0])) RANGEFAULT; z6 = (int)(array->elts + (z7 * 1)); #line 51 }; (*(t8*)z6) = (*(t8*)z5); } } }; }; _Coverage__used = _new; } } }; if_4_end: /**/; } } }; #line 57 "Coverage.m3" EXPORT t122 _Coverage__NoteProcedure (_v) t1 _v; { t8 z1; t6 z0; t6 z2; #line 57 "Coverage.m3" { { CHECKSTACKOVERFLOW; z1 = ! _Host__coverage; if (z1) { return; }; { t6 with; { register t10* ptr = (t10*) TNEW (TC6); z0 = (t6) ptr; }; with = z0; { auto t6 _p; { ZERO1 (& _p); _p = with; NILCHECKA (z2 = _p); ((*((t10*) z2))._next) = _Coverage__procs; NILCHECKA (z2 = _p); ((*((t10*) z2))._proc) = _v; _Coverage__procs = _p; } } }; _Coverage__nProcs += 1 ; } } }; #line 68 "Coverage.m3" EXPORT t122 _Coverage__GenerateTables () { t4 z3; t4 z1; t4 z2; t3 z4; t8 z5; t4 z6; t6 z7; t1 z8; t8 z0; t7 z9; #line 68 "Coverage.m3" { auto t4 _nLines; auto t3 _header; auto t3 _trailer; auto t6 _p; auto t4 _i; { ZERO1 (& _p); #line 70 z3 = _Coverage__maxLine - _Coverage__minLine; z1 = 0 ; z2 = z3; if (z1 < z2) z1 = z2; z2 = z1 + 1 ; _nLines = z2; z4 = _String__Add (((ADDRESS)(& txt1.str)), 999999 ); _header = z4; z4 = _String__Add (((ADDRESS)(& txt2.str)), 999999 ); _trailer = z4; #line 68 CHECKSTACKOVERFLOW; z5 = ! _Host__coverage; if (z5) { return; }; _Emit__Op (((ADDRESS)(& txt3.str))); z6 = _Coverage__SLen (_header); _Emit__OpI (((ADDRESS)(& txt4.str)), z6); _Emit__Op (((ADDRESS)(& txt5.str))); _Emit__Op (((ADDRESS)(& txt6.str))); z6 = _Coverage__SLen (_Host__filename); _Emit__OpI (((ADDRESS)(& txt7.str)), z6); _Emit__Op (((ADDRESS)(& txt8.str))); _Emit__Op (((ADDRESS)(& txt9.str))); _Emit__OpI (((ADDRESS)(& txt10.str)), _nLines); _Emit__Op (((ADDRESS)(& txt11.str))); _p = _Coverage__procs; _i = 0 ; z5 = (_p != 0); if (z5) do { NILCHECKA (z7 = _p); z5 = (((*((t10*) z7))._proc) != 0); if (z5) { _i += 1 ; _Emit__OpI (((ADDRESS)(& txt12.str)), _i); NILCHECKA (z7 = _p); NILCHECKA (z8 = ((*((t10*) z7))._proc)); z6 = _Coverage__SLen ((((t96_fields*)(z8+(0+t119_size)))->_name)); #line 93 _Emit__OpII (((ADDRESS)(& txt13.str)), _i, z6); NILCHECKA (z7 = _p); _Emit__OpN (((ADDRESS)(& txt14.str)), ((*((t10*) z7))._proc)); goto if_7_end; }; if_7_end: /**/; NILCHECKA (z7 = _p); _p = ((*((t10*) z7))._next); z5 = (_p != 0); } while (z5); z6 = _Coverage__SLen (_trailer); _Emit__OpI (((ADDRESS)(& txt15.str)), z6); _Emit__Op (((ADDRESS)(& txt16.str))); _Coverage__EmitChars (_header); _Emit__OpI (((ADDRESS)(& txt17.str)), 0 ); z6 = _String__Length (_Host__filename); _Emit__OpI (((ADDRESS)(& txt18.str)), z6); _Coverage__EmitChars (_Host__filename); _Emit__OpI (((ADDRESS)(& txt19.str)), _Coverage__minLine); _Emit__OpI (((ADDRESS)(& txt20.str)), _nLines); _Emit__Op (((ADDRESS)(& txt21.str))); { int from, to, index; from = 0 ; z2 = _nLines - 1 ; to = z2; { auto t4 _x; { for (index = from; index <= to; index += 1) { #line 107 _x = (t4) index; z5 = (_Coverage__used != 0); z0 = 0; if (z5) { NILCHECKB (z9 = _Coverage__used); z6 = _x + _Coverage__minLine; #line 108 z2 = z6; if (z2 < 0) RANGEFAULT; { register t108* array = & (*((t9*) z9)); z6 = z2; if (z6 >= (array->size[0])) RANGEFAULT; #line 108 z3 = (int)(array->elts + (z6 * 1)); }; z0 = (*(t8*)z3); }; if (z0) { _Emit__Op (((ADDRESS)(& txt22.str))); goto if_8_end; }; _Emit__Op (((ADDRESS)(& txt23.str))); if_8_end: /**/; } } }; }; _Emit__Op (((ADDRESS)(& txt24.str))); _Emit__OpI (((ADDRESS)(& txt25.str)), _i); _p = _Coverage__procs; _i = 0 ; z5 = (_p != 0); if (z5) do { NILCHECKA (z7 = _p); z5 = (((*((t10*) z7))._proc) != 0); if (z5) { _i += 1 ; NILCHECKA (z7 = _p); NILCHECKA (z8 = ((*((t10*) z7))._proc)); z6 = _String__Length ((((t96_fields*)(z8+(0+t119_size)))->_name)); #line 119 _Emit__OpII (((ADDRESS)(& txt26.str)), z6, _i); NILCHECKA (z7 = _p); NILCHECKA (z8 = ((*((t10*) z7))._proc)); _Coverage__EmitChars ((((t96_fields*)(z8+(0+t119_size)))->_name)); _Emit__Op (((ADDRESS)(& txt22.str))); goto if_9_end; }; if_9_end: /**/; NILCHECKA (z7 = _p); _p = ((*((t10*) z7))._next); z5 = (_p != 0); } while (z5); _Coverage__EmitChars (_trailer); _Emit__Op (((ADDRESS)(& txt27.str))); } } }; #line 130 "Coverage.m3" PRIVATE t4 _Coverage__SLen (_s) t3 _s; { t4 z2; t4 z1; #line 130 "Coverage.m3" { auto t4 __result; { CHECKSTACKOVERFLOW; z2 = _String__Length (_s); z1 = z2 + 4 ; z2 = z1 - 1 ; z1 = IDIV (z2, 4 ); z2 = z1 * 4 ; __result = z2; return __result; #line 133 } } }; #line 136 "Coverage.m3" PRIVATE t122 _Coverage__EmitChars (_s) t3 _s; { t4 z2; t4 z3; t4 z0; #line 136 "Coverage.m3" { { CHECKSTACKOVERFLOW; _Emit__OpQ (((ADDRESS)(& txt30.str)), _s); { int from, to, index; from = 1 ; z2 = _Coverage__SLen (_s); z3 = _String__Length (_s); z0 = z2 - z3; to = z0; { auto t4 _i; #line 139 { for (index = from; index <= to; index += 1) { _i = (t4) index; _Emit__Op (((ADDRESS)(& txt31.str))); } } }; #line 139 }; _Emit__Op (((ADDRESS)(& txt32.str))); } } }; #line 143 "Coverage.m3" EXPORT t122 _Coverage__CountLine () { t8 z1; t8 z2; t4 z4; t7 z3; t4 z5; t4 z6; #line 143 "Coverage.m3" { auto t4 _line; auto t3 _file; { CHECKSTACKOVERFLOW; z1 = ! _Host__coverage; if (z1) { return; }; _Scanner__Here (&_file, &_line); z2 = (_line > 100000 ); if (z2) { return; }; z2 = (_file != _Host__filename); if (z2) { return; }; z4 = _line - _Coverage__minLine; _Emit__OpI (((ADDRESS)(& txt28.str)), z4); NILCHECKB (z3 = _Coverage__used); z4 = _line; if (z4 < 0) RANGEFAULT; { register t108* array = & (*((t9*) z3)); z6 = z4; #line 151 if (z6 >= (array->size[0])) RANGEFAULT; z5 = (int)(array->elts + (z6 * 1)); }; if (!(*(t8*)z5)) ASSERTFAULT; } } #line 151 }; #line 154 "Coverage.m3" EXPORT t122 _Coverage__CountProcedure (_v) t1 _v; { t8 z1; #line 154 "Coverage.m3" { { CHECKSTACKOVERFLOW; z1 = ! _Host__coverage; if (z1) { return; }; _Emit__OpN (((ADDRESS)(& txt29.str)), _v); } } }; PRIVATE int init_done = -1; #line 157 "Coverage.m3" PRIVATE void Coverage__initProc (g) int g; { #line 157 "Coverage.m3" if (init_done >= g) return; init_done = g; INITIALIZE (& Coverage__init); INITIALIZE (& M3toC__init); INITIALIZE (& Target__init); #line 157 INITIALIZE (& Error__init); INITIALIZE (& Emit__init); INITIALIZE (& String__init); INITIALIZE (& Scanner__init); INITIALIZE (& Host__init); #line 157 INITIALIZE (& ValueRep__init); INITIALIZE (& Value__init); #line 28 ZERO1 (& _Coverage__used); ZERO1 (& _Coverage__procs); #line 26 _Coverage__minLine = 2147483647 ; _Coverage__maxLine = -2147483648 ; ZERO1 ((& _Coverage__used)); ZERO1 ((& _Coverage__procs)); ZERO1 ((& _Coverage__nProcs)); #line 157 return; }; #line 157 "Coverage.m3" PRIVATE void t6_PrintProc (ref) t10* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC6->brand); fprintf (stderr, "^ = { "); #line 157 fprintf (stderr, "next = %#x", (*ref)._next); fprintf (stderr, "proc = %#x", (*ref)._proc); fprintf (stderr, "}"); fprintf (stderr, "}\n"); #line 157 }; #line 157 "Coverage.m3" PRIVATE void t7_PrintProc (ref) t9* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC7->brand); fprintf (stderr, "^ = array"); #line 157 fprintf (stderr, "}\n"); }; PRIVATE void t6_MapProc (p, r, c) void (*p) (); register t10* r; ADDRESS c; { CHECKSTACKOVERFLOW; #line 157 p (& ((*r)._next), r, c); }; PRIVATE INITLINK me_0 ={(INITLINK*)NIL, 0, Coverage__initProc}; static char* VSimports[] = { &VS_M3toC__Argv__01eb9fa23b3b0c10, &VS_Target__INTSIZE__6d9548032b40710f, &VS_Target__CHARSIZE__bfc83af22ccab4e4, &VS_Emit__MaxStream__cf0a0e8934c9c9f3, &VS_Emit__Format__bc4a2b083b93bbd7, &VS_Emit__Op__072646cc27c8ae10, &VS_Emit__OpQ__defdd50e3dd4bbd5, &VS_Emit__OpI__02cb878634bb9f49, &VS_Emit__OpII__2247fe46332f901b, &VS_Emit__OpN__a3f6e37c396e144c, &VS_String__T__3a6c7dc12615e4ee, &VS_String__Add__0f5e21cc3d204b63, &VS_String__Length__75f8af7a37a956d2, &VS_Scanner__Here__1284254c3cfdbf9f, &VS_Host__filename__22e443082eed9cdf, &VS_Host__coverage__7e5b007739b6f6cf, &VS_ValueRep__V__f28699153c608442, &VS_ValueRep__NoDuplicates__ed93f73a247eb7b4, &VS_ValueRep__NoExpr__1297c63d2e046c2c, &VS_ValueRep__NoType__4061f01226f55ca3, &VS_ValueRep__NoLoader__9a7f0c5b24f526c1, &VS_ValueRep__NoWriter__3b24d43c367f7122, &VS_ValueRep__NoDeclarer__22db283420635bde, &VS_ValueRep__Never__39b6ab0628d97589, &VS_ValueRep__Always__1b0a9bbf2173b8b3, &VS_Value__T__2446b70b3f7780a5, NIL }; void Coverage__MLink (phase) int phase; { switch (phase) { case 0: { me_0.link = Coverage__init; Coverage__init = & me_0; t6_TC = t6_TC_init; REGISTERTYPE (TC6); t7_TC = t7_TC_init; REGISTERTYPE (TC7); break; }; case 1: { break; }; case 2: { break; }; }; };