|
| 1 | +//// [controlFlowSelfReferentialLoop.ts] |
| 2 | + |
| 3 | +// Repro from #12319 |
| 4 | + |
| 5 | +function md5(string:string): void { |
| 6 | + |
| 7 | + function FF(a,b,c,d,x,s,ac) { |
| 8 | + return 0; |
| 9 | + }; |
| 10 | + |
| 11 | + function GG(a,b,c,d,x,s,ac) { |
| 12 | + return 0; |
| 13 | + }; |
| 14 | + |
| 15 | + function HH(a,b,c,d,x,s,ac) { |
| 16 | + return 0; |
| 17 | + }; |
| 18 | + |
| 19 | + function II(a,b,c,d,x,s,ac) { |
| 20 | + return 0; |
| 21 | + }; |
| 22 | + |
| 23 | + var x=Array(); |
| 24 | + var k,AA,BB,CC,DD,a,b,c,d; |
| 25 | + var S11=7, S12=12, S13=17, S14=22; |
| 26 | + var S21=5, S22=9 , S23=14, S24=20; |
| 27 | + var S31=4, S32=11, S33=16, S34=23; |
| 28 | + var S41=6, S42=10, S43=15, S44=21; |
| 29 | + |
| 30 | + x = [1]; |
| 31 | + |
| 32 | + a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; |
| 33 | + |
| 34 | + for (k=0;k<x.length;k+=16) { |
| 35 | + AA=a; BB=b; CC=c; DD=d; |
| 36 | + a=FF(a,b,c,d,x[k+0], S11,0xD76AA478); |
| 37 | + d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756); |
| 38 | + c=FF(c,d,a,b,x[k+2], S13,0x242070DB); |
| 39 | + b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE); |
| 40 | + a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF); |
| 41 | + d=FF(d,a,b,c,x[k+5], S12,0x4787C62A); |
| 42 | + c=FF(c,d,a,b,x[k+6], S13,0xA8304613); |
| 43 | + b=FF(b,c,d,a,x[k+7], S14,0xFD469501); |
| 44 | + a=FF(a,b,c,d,x[k+8], S11,0x698098D8); |
| 45 | + d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF); |
| 46 | + c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1); |
| 47 | + b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE); |
| 48 | + a=FF(a,b,c,d,x[k+12],S11,0x6B901122); |
| 49 | + d=FF(d,a,b,c,x[k+13],S12,0xFD987193); |
| 50 | + c=FF(c,d,a,b,x[k+14],S13,0xA679438E); |
| 51 | + b=FF(b,c,d,a,x[k+15],S14,0x49B40821); |
| 52 | + a=GG(a,b,c,d,x[k+1], S21,0xF61E2562); |
| 53 | + d=GG(d,a,b,c,x[k+6], S22,0xC040B340); |
| 54 | + c=GG(c,d,a,b,x[k+11],S23,0x265E5A51); |
| 55 | + b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA); |
| 56 | + a=GG(a,b,c,d,x[k+5], S21,0xD62F105D); |
| 57 | + d=GG(d,a,b,c,x[k+10],S22,0x2441453); |
| 58 | + c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681); |
| 59 | + b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8); |
| 60 | + a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6); |
| 61 | + d=GG(d,a,b,c,x[k+14],S22,0xC33707D6); |
| 62 | + c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87); |
| 63 | + b=GG(b,c,d,a,x[k+8], S24,0x455A14ED); |
| 64 | + a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905); |
| 65 | + d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8); |
| 66 | + c=GG(c,d,a,b,x[k+7], S23,0x676F02D9); |
| 67 | + b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A); |
| 68 | + a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942); |
| 69 | + d=HH(d,a,b,c,x[k+8], S32,0x8771F681); |
| 70 | + c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122); |
| 71 | + b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C); |
| 72 | + a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44); |
| 73 | + d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9); |
| 74 | + c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60); |
| 75 | + b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70); |
| 76 | + a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6); |
| 77 | + d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA); |
| 78 | + c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085); |
| 79 | + b=HH(b,c,d,a,x[k+6], S34,0x4881D05); |
| 80 | + a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039); |
| 81 | + d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5); |
| 82 | + c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8); |
| 83 | + b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665); |
| 84 | + a=II(a,b,c,d,x[k+0], S41,0xF4292244); |
| 85 | + d=II(d,a,b,c,x[k+7], S42,0x432AFF97); |
| 86 | + c=II(c,d,a,b,x[k+14],S43,0xAB9423A7); |
| 87 | + b=II(b,c,d,a,x[k+5], S44,0xFC93A039); |
| 88 | + a=II(a,b,c,d,x[k+12],S41,0x655B59C3); |
| 89 | + d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92); |
| 90 | + c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D); |
| 91 | + b=II(b,c,d,a,x[k+1], S44,0x85845DD1); |
| 92 | + a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F); |
| 93 | + d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0); |
| 94 | + c=II(c,d,a,b,x[k+6], S43,0xA3014314); |
| 95 | + b=II(b,c,d,a,x[k+13],S44,0x4E0811A1); |
| 96 | + a=II(a,b,c,d,x[k+4], S41,0xF7537E82); |
| 97 | + d=II(d,a,b,c,x[k+11],S42,0xBD3AF235); |
| 98 | + c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB); |
| 99 | + b=II(b,c,d,a,x[k+9], S44,0xEB86D391); |
| 100 | + } |
| 101 | +} |
| 102 | +export default md5; |
| 103 | + |
| 104 | +//// [controlFlowSelfReferentialLoop.js] |
| 105 | +// Repro from #12319 |
| 106 | +"use strict"; |
| 107 | +function md5(string) { |
| 108 | + function FF(a, b, c, d, x, s, ac) { |
| 109 | + return 0; |
| 110 | + } |
| 111 | + ; |
| 112 | + function GG(a, b, c, d, x, s, ac) { |
| 113 | + return 0; |
| 114 | + } |
| 115 | + ; |
| 116 | + function HH(a, b, c, d, x, s, ac) { |
| 117 | + return 0; |
| 118 | + } |
| 119 | + ; |
| 120 | + function II(a, b, c, d, x, s, ac) { |
| 121 | + return 0; |
| 122 | + } |
| 123 | + ; |
| 124 | + var x = Array(); |
| 125 | + var k, AA, BB, CC, DD, a, b, c, d; |
| 126 | + var S11 = 7, S12 = 12, S13 = 17, S14 = 22; |
| 127 | + var S21 = 5, S22 = 9, S23 = 14, S24 = 20; |
| 128 | + var S31 = 4, S32 = 11, S33 = 16, S34 = 23; |
| 129 | + var S41 = 6, S42 = 10, S43 = 15, S44 = 21; |
| 130 | + x = [1]; |
| 131 | + a = 0x67452301; |
| 132 | + b = 0xEFCDAB89; |
| 133 | + c = 0x98BADCFE; |
| 134 | + d = 0x10325476; |
| 135 | + for (k = 0; k < x.length; k += 16) { |
| 136 | + AA = a; |
| 137 | + BB = b; |
| 138 | + CC = c; |
| 139 | + DD = d; |
| 140 | + a = FF(a, b, c, d, x[k + 0], S11, 0xD76AA478); |
| 141 | + d = FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756); |
| 142 | + c = FF(c, d, a, b, x[k + 2], S13, 0x242070DB); |
| 143 | + b = FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE); |
| 144 | + a = FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF); |
| 145 | + d = FF(d, a, b, c, x[k + 5], S12, 0x4787C62A); |
| 146 | + c = FF(c, d, a, b, x[k + 6], S13, 0xA8304613); |
| 147 | + b = FF(b, c, d, a, x[k + 7], S14, 0xFD469501); |
| 148 | + a = FF(a, b, c, d, x[k + 8], S11, 0x698098D8); |
| 149 | + d = FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF); |
| 150 | + c = FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1); |
| 151 | + b = FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE); |
| 152 | + a = FF(a, b, c, d, x[k + 12], S11, 0x6B901122); |
| 153 | + d = FF(d, a, b, c, x[k + 13], S12, 0xFD987193); |
| 154 | + c = FF(c, d, a, b, x[k + 14], S13, 0xA679438E); |
| 155 | + b = FF(b, c, d, a, x[k + 15], S14, 0x49B40821); |
| 156 | + a = GG(a, b, c, d, x[k + 1], S21, 0xF61E2562); |
| 157 | + d = GG(d, a, b, c, x[k + 6], S22, 0xC040B340); |
| 158 | + c = GG(c, d, a, b, x[k + 11], S23, 0x265E5A51); |
| 159 | + b = GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA); |
| 160 | + a = GG(a, b, c, d, x[k + 5], S21, 0xD62F105D); |
| 161 | + d = GG(d, a, b, c, x[k + 10], S22, 0x2441453); |
| 162 | + c = GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681); |
| 163 | + b = GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8); |
| 164 | + a = GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6); |
| 165 | + d = GG(d, a, b, c, x[k + 14], S22, 0xC33707D6); |
| 166 | + c = GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87); |
| 167 | + b = GG(b, c, d, a, x[k + 8], S24, 0x455A14ED); |
| 168 | + a = GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905); |
| 169 | + d = GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8); |
| 170 | + c = GG(c, d, a, b, x[k + 7], S23, 0x676F02D9); |
| 171 | + b = GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A); |
| 172 | + a = HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942); |
| 173 | + d = HH(d, a, b, c, x[k + 8], S32, 0x8771F681); |
| 174 | + c = HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122); |
| 175 | + b = HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C); |
| 176 | + a = HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44); |
| 177 | + d = HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9); |
| 178 | + c = HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60); |
| 179 | + b = HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70); |
| 180 | + a = HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6); |
| 181 | + d = HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA); |
| 182 | + c = HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085); |
| 183 | + b = HH(b, c, d, a, x[k + 6], S34, 0x4881D05); |
| 184 | + a = HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039); |
| 185 | + d = HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5); |
| 186 | + c = HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8); |
| 187 | + b = HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665); |
| 188 | + a = II(a, b, c, d, x[k + 0], S41, 0xF4292244); |
| 189 | + d = II(d, a, b, c, x[k + 7], S42, 0x432AFF97); |
| 190 | + c = II(c, d, a, b, x[k + 14], S43, 0xAB9423A7); |
| 191 | + b = II(b, c, d, a, x[k + 5], S44, 0xFC93A039); |
| 192 | + a = II(a, b, c, d, x[k + 12], S41, 0x655B59C3); |
| 193 | + d = II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92); |
| 194 | + c = II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D); |
| 195 | + b = II(b, c, d, a, x[k + 1], S44, 0x85845DD1); |
| 196 | + a = II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F); |
| 197 | + d = II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0); |
| 198 | + c = II(c, d, a, b, x[k + 6], S43, 0xA3014314); |
| 199 | + b = II(b, c, d, a, x[k + 13], S44, 0x4E0811A1); |
| 200 | + a = II(a, b, c, d, x[k + 4], S41, 0xF7537E82); |
| 201 | + d = II(d, a, b, c, x[k + 11], S42, 0xBD3AF235); |
| 202 | + c = II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB); |
| 203 | + b = II(b, c, d, a, x[k + 9], S44, 0xEB86D391); |
| 204 | + } |
| 205 | +} |
| 206 | +exports.__esModule = true; |
| 207 | +exports["default"] = md5; |
0 commit comments