| // REQUIRED_ARGS: -fPIC -lib |
| // PERMUTE_ARGS: |
| // DISABLED: win32 win64 |
| extern void throwing(); |
| |
| void foo() |
| { |
| // create plenty of symbols, so that the catch references get a high symbol index |
| static int a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, |
| b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, |
| c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, |
| d0, d1, d2, d3, d4, d5, d6, d7, d8, d9; |
| try |
| { |
| throwing(); |
| } |
| catch (Exception) |
| { |
| } |
| } |
| |
| void bar() |
| { |
| try |
| { |
| throwing(); |
| } |
| // symbol index for DW.ref._D9Exception7__ClassZ |
| // gets reused for another object and is out of bounds |
| catch (Exception) |
| { |
| } |
| } |