mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 05:00:16 +03:00
33 lines
672 B
D
33 lines
672 B
D
// 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)
|
|
{
|
|
}
|
|
}
|