1*c8ee63e2SDuncan P. N. Exon Smith // RUN: %clang_cc1 -emit-llvm -gdwarf-2 -x c++ -o - %s | FileCheck %s
2*c8ee63e2SDuncan P. N. Exon Smith //
3*c8ee63e2SDuncan P. N. Exon Smith // PR21941: crasher for self-referencing DW_TAG_structure_type node.  If we get
4*c8ee63e2SDuncan P. N. Exon Smith // rid of self-referenceing structure_types (PR21902), then it should be safe
5*c8ee63e2SDuncan P. N. Exon Smith // to just kill this test.
6*c8ee63e2SDuncan P. N. Exon Smith //
7*c8ee63e2SDuncan P. N. Exon Smith // CHECK: ![[SELF:[0-9]+]] = !{!"0x13\00B\00{{[^"]*}}", {{[^,]+}}, {{[^,]+}}, {{[^,]+}}, {{[^,]+}}, ![[SELF]], {{[^}]+}}} ; [ DW_TAG_structure_type ] [B]
8*c8ee63e2SDuncan P. N. Exon Smith 
9*c8ee63e2SDuncan P. N. Exon Smith void foo() {
10*c8ee63e2SDuncan P. N. Exon Smith   struct V {
11*c8ee63e2SDuncan P. N. Exon Smith     int vi;
12*c8ee63e2SDuncan P. N. Exon Smith   };
13*c8ee63e2SDuncan P. N. Exon Smith   struct B : virtual V {};
14*c8ee63e2SDuncan P. N. Exon Smith   B b;
15*c8ee63e2SDuncan P. N. Exon Smith }
16