blob: 8db6133b765857d190ea56ca3cb2c878bb01878a [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-gdwarf-2 -dA" } */
struct S
{
S() {}
~S() {}
static const S array[2];
};
const S S::array[2] = { S(), S() };
/* Verify that we get only one DW_TAG_subrange_type (plus the abbrev),
and one DW_AT_upper_bound (non-abbrev), because the array
definition loses the readonly wrapper for the array type because of
the dynamic initializers. The const types are 4: S, S*, int, and
S[4], plus the abbrev. A const version of S[4] doesn't make sense,
but we output it. */
/* { dg-final { scan-assembler-times " DW_TAG_const_type" 5 } } */
/* { dg-final { scan-assembler-times " DW_TAG_subrange_type" 2 } } */
/* { dg-final { scan-assembler-times " DW_AT_upper_bound" 1 } } */