1// These declarations have intentionally the same name as the function-local
2// class. LLDB should never pull in these definitions as this test only inspects
3// the classes defined in the function below.
4struct WithMember {
5 float false_def;
6};
7typedef struct {
8 float false_def;
9} TypedefUnnamed;
10struct ForwardConflict {
11 float false_def;
12};
13ForwardConflict conflict1;
14WithMember conflict2;
15struct {
16 float false_def;
17} unnamed;
18
19int main() {
20 struct WithMember {
21 int i;
22 };
23 typedef struct {
24 int a;
25 } TypedefUnnamed;
26 typedef struct {
27 int b;
28 } TypedefUnnamed2;
29 struct Forward;
30 struct ForwardConflict;
31
32 WithMember m = {.i: 1};
33 TypedefUnnamed typedef_unnamed = {.a: 2};
34 TypedefUnnamed2 typedef_unnamed2 = {.b: 3};
35 struct {
36 int i;
37 } unnamed = {.i: 4};
38 struct {
39 int j;
40 } unnamed2 = {.j: 5};
41 Forward *fwd = nullptr;
42 ForwardConflict *fwd_conflict = nullptr;
43 return 0; // break here
44}
45

source code of lldb/test/API/lang/cpp/function-local-class/main.cpp