C++: HashCons for throw

This commit is contained in:
Robert Marsh
2018-08-29 14:01:05 -07:00
parent 85cfb0202f
commit 8189798f43
3 changed files with 50 additions and 3 deletions

View File

@@ -38,9 +38,9 @@
| test.cpp:92:11:92:11 | x | 92:c11-c11 93:c10-c10 |
| test.cpp:97:3:97:3 | x | 97:c3-c3 98:c3-c3 |
| test.cpp:97:3:97:5 | ... ++ | 97:c3-c5 98:c3-c5 |
| test.cpp:103:10:103:11 | 1 | 103:c10-c11 104:c7-c7 107:c7-c7 108:c7-c7 10:c16-c16 179:c21-c21 247:c11-c11 248:c11-c11 271:c28-c28 272:c28-c28 274:c19-c19 274:c22-c22 288:c5-c5 292:c5-c5 297:c5-c5 |
| test.cpp:103:10:103:11 | 1 | 103:c10-c11 104:c7-c7 107:c7-c7 108:c7-c7 10:c16-c16 179:c21-c21 247:c11-c11 248:c11-c11 271:c28-c28 272:c28-c28 274:c19-c19 274:c22-c22 288:c5-c5 292:c5-c5 297:c5-c5 302:c9-c9 303:c9-c9 |
| test.cpp:104:3:104:3 | x | 104:c3-c3 105:c3-c3 106:c3-c3 107:c3-c3 108:c3-c3 |
| test.cpp:105:7:105:7 | 2 | 105:c7-c7 106:c7-c7 107:c11-c11 108:c11-c11 21:c16-c16 249:c11-c11 271:c24-c24 271:c31-c31 272:c24-c24 272:c31-c31 273:c24-c24 274:c15-c15 275:c15-c15 275:c19-c19 275:c22-c22 277:c15-c15 278:c15-c15 289:c5-c5 293:c5-c5 296:c5-c5 |
| test.cpp:105:7:105:7 | 2 | 105:c7-c7 106:c7-c7 107:c11-c11 108:c11-c11 21:c16-c16 249:c11-c11 271:c24-c24 271:c31-c31 272:c24-c24 272:c31-c31 273:c24-c24 274:c15-c15 275:c15-c15 275:c19-c19 275:c22-c22 277:c15-c15 278:c15-c15 289:c5-c5 293:c5-c5 296:c5-c5 304:c9-c9 305:c9-c9 |
| test.cpp:107:7:107:11 | ... + ... | 107:c7-c11 108:c7-c11 |
| test.cpp:110:15:110:17 | 1 | 110:c15-c17 111:c9-c11 |
| test.cpp:110:15:110:17 | (char *)... | 110:c15-c17 111:c9-c11 |
@@ -104,3 +104,6 @@
| test.cpp:277:3:277:19 | new[] | 277:c3-c19 278:c3-c19 |
| test.cpp:277:3:277:19 | {...} | 277:c3-c19 278:c3-c19 |
| test.cpp:287:15:290:3 | {...} | 287:c15-c3 291:c15-c3 |
| test.cpp:302:3:302:9 | throw ... | 302:c3-c9 303:c3-c9 |
| test.cpp:304:3:304:9 | throw ... | 304:c3-c9 305:c3-c9 |
| test.cpp:306:3:306:7 | re-throw exception | 306:c3-c7 307:c3-c7 |

View File

@@ -297,3 +297,12 @@ void test17() {
1
};
}
void test18() {
throw 1;
throw 1;
throw 2;
throw 2;
throw;
throw;
}